Opening Windows Phone 7 MTP device causes huge memory leak

Bug #1064066 reported by Paulos
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
clementine (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Clean installation of Clementine 1.0.1 uses all the available memory when attempting to connect/open and scan Windows Phone 7 (MTP) device for the first time.
"Updating 0%" and "Loading MTP device" appear after confirming first time scan dialog. Then it starts to allocate inadequate amounts of memory.
Rhythmbox and Nautilus load the library with no issues at all.

My WP7 device: Samsung Omnia 7

Steps to reproduce:
1) Buy a WP7 or Zune device
2) Connect the device to the PC and start Clementine
3) Navigate to "Devices" in the left column
4) Double-click the device (it will be something like this: 045e 04ec)
5) Confirm first-time scan
6) Watch your computer slowly dying and swapping and begging for memory

Ubuntu quantal (development branch)
Release: 12.10

clementine:
  Installed version: 1.0.1+dfsg-2ubuntu3
  Candidate: 1.0.1+dfsg-2ubuntu3
  Version table:
 *** 1.0.1+dfsg-2ubuntu3 0
        500 http://cz.archive.ubuntu.com/ubuntu/ quantal/universe amd64 Packages
        100 /var/lib/dpkg/status

$ lsusb -vvv
Bus 001 Device 006: ID 045e:04ec Microsoft Corp. Windows Phone (Zune)
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
  bMaxPacketSize0 64
  idVendor 0x045e Microsoft Corp.
  idProduct 0x04ec Windows Phone (Zune)
  bcdDevice 0.00
  iManufacturer 0
  iProduct 0
  iSerial 9 some GUID you don't need to know
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 62
    bNumInterfaces 2
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0x80
      (Bus Powered)
    MaxPower 500mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 3
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x02 EP 2 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 4
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 1
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 255 Vendor Specific Class
      bInterfaceSubClass 255 Vendor Specific Subclass
      bInterfaceProtocol 255 Vendor Specific Protocol
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x84 EP 4 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x05 EP 5 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 0
Device Qualifier (for other device speed):
  bLength 10
  bDescriptorType 6
  bcdUSB 2.00
  bDeviceClass 239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
  bMaxPacketSize0 64
  bNumConfigurations 1
Device Status: 0x0000
  (Bus Powered)

Tags: quantal
Revision history for this message
Paulos (valach-pavel) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in clementine (Ubuntu):
status: New → Confirmed
Revision history for this message
bwat47 (bwat47) wrote :

Same here with clementine 1.1 and my zunehd.

Revision history for this message
Adolfo Jayme Barrientos (fitojb) wrote :

Sadly I don't have a Windows Phone and therefore can't test this issue. It'd be great if you could send this bug to http://code.google.com/p/clementine-player/issues/entry so that the Clementine team can triage it. Once you do that, tell us the bug number so we can add it to this report. Thanks!

Revision history for this message
Paulos (valach-pavel) wrote :

This has already been fixed in 1.1.1, however it still does not load any songs from the device.

Changed in clementine (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Paulos (valach-pavel) wrote :

I take that back, under certain conditions this bug still happens.

Changed in clementine (Ubuntu):
status: Fix Released → Confirmed
Revision history for this message
Rolf Leggewie (r0lf) wrote :

bug 1121311 and bug 1064066 look similar

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.