Bug 212615

Summary: UMSHandler blocks the UI when scanning a UMS device
Product: [Applications] amarok Reporter: Casey Link <unnamedrambler>
Component: Collections/USB mass storage and MSCAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED DUPLICATE    
Severity: grave CC: aikawarazuni, bart.cerneels, cberger, kde, kfunk, vide80
Priority: NOR    
Version: 2.3-GIT   
Target Milestone: 2.2.2   
Platform: Ubuntu   
OS: Unspecified   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Casey Link 2009-11-01 13:55:34 UTC
Version:           2.2-GIT (using KDE 4.3.2)
Installed from:    Ubuntu Packages

Meta::UmsHandler parses tracks in a synchronous fashion, so once you right click on a device in the collection browser and select the "Read Device" action the ui blocks completely, presumably until the scanning is complete.

However, seeing as my devices are all many hundreds of gigabytes, I'm not prepared to sit here at let it finish scanning them to see what happens ;-)

Here is the debug output:
amarok: BEGIN: void Meta::MediaDeviceHandler::parseTracks() 
amarok:   BEGIN: void Meta::MediaDeviceHandler::setupReadCapability() 
amarok:      RCB does not exist 
amarok:      Has read capability interface 
amarok:      making custom read capability 
amarok:      Created rc 
amarok:   END__: void Meta::MediaDeviceHandler::setupReadCapability() - Took 0.00036s 
amarok:   BEGIN: virtual void Meta::UmsHandler::prepareToParseTracks() 
amarok:     BEGIN: int Meta::UmsHandler::addPath(const QString&) 
amarok:       [UmsHandler] Got type:  "inode/directory" For file:  "/media/SEA_DISK/." , with accuracy:  100 
amarok:     END__: int Meta::UmsHandler::addPath(const QString&) - Took 0.00068s 
amarok:     BEGIN: int Meta::UmsHandler::addPath(const QString&) 
amarok:       [UmsHandler] Got type:  "inode/directory" For file:  "/media/SEA_DISK/.." , with accuracy:  100 
amarok:     END__: int Meta::UmsHandler::addPath(const QString&) - Took 0.00031s 
amarok:     BEGIN: int Meta::UmsHandler::addPath(const QString&) 
amarok:       [UmsHandler] Got type:  "inode/directory" For file:  "/media/SEA_DISK/$RECYCLE.BIN" , with accuracy:  100 
amarok:     END__: int Meta::UmsHandler::addPath(const QString&) - Took 0.00071s 
amarok:     BEGIN: int Meta::UmsHandler::addPath(const QString&) 
amarok:       [UmsHandler] Got type:  "inode/directory" For file:  "/media/SEA_DISK/$RECYCLE.BIN/." , with accuracy:  100 
amarok:     END__: int Meta::UmsHandler::addPath(const QString&) - Took 0.00073s 
amarok:     BEGIN: int Meta::UmsHandler::addPath(const QString&) 
amarok:       [UmsHandler] Got type:  "inode/directory" For file:  "/media/SEA_DISK/$RECYCLE.BIN/.." , with accuracy:  100 
amarok:     END__: int Meta::UmsHandler::addPath(const QString&) - Took 0.00053s 
amarok:     BEGIN: int Meta::UmsHandler::addPath(const QString&) 
amarok:       [UmsHandler] Got type:  "inode/directory" For file:  "/media/SEA_DISK/$RECYCLE.BIN/S-1-5-21-686081006-1937160615-1079934591-1000" , with accuracy:  100 
amarok:     END__: int Meta::UmsHandler::addPath(const QString&) - Took 0.00091s 
amarok:     BEGIN: int Meta::UmsHandler::addPath(const QString&) 
.... and so on
Comment 1 Mikko C. 2009-11-28 09:23:56 UTC
*** Bug 210761 has been marked as a duplicate of this bug. ***
Comment 2 Mikko C. 2009-11-28 09:31:33 UTC
*** Bug 214939 has been marked as a duplicate of this bug. ***
Comment 3 Myriam Schweingruber 2009-11-28 20:01:11 UTC
Cahnging target, setting as release_blocker
Comment 4 Mikko C. 2009-12-04 12:01:28 UTC

*** This bug has been marked as a duplicate of bug 180520 ***