Bug 306143 - Transferring files to Galaxy Nexus claims that the files already exist on the device
Summary: Transferring files to Galaxy Nexus claims that the files already exist on the...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: amarok
Classification: Applications
Component: Collections/MTP player (show other bugs)
Version: 2.6.0
Platform: unspecified Linux
: NOR normal
Target Milestone: 2.7
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-01 18:19 UTC by S. Burmeister
Modified: 2012-09-30 15:01 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description S. Burmeister 2012-09-01 18:19:27 UTC
The Galaxy Nexus is detected, yet dropping files on it shows a notification that the files do already exist on the device. This is wrong.

libmtp 1.1.3

Some debug:

amarok: BEGIN: virtual void CollectionTreeItemModel::requestCollectionsExpansion() 
amarok: END__: virtual void CollectionTreeItemModel::requestCollectionsExpansion() [Took: 0s] 
amarok: BEGIN: void Meta::MtpHandler::slotDeviceMatchSucceeded(ThreadWeaver::Job*) 
amarok:   BEGIN: void Meta::MtpHandler::getDeviceInfo() 
amarok:     [MtpHandler] Unknown battery level 
amarok:     [MtpHandler] setting default parent :  1 
amarok:     [MtpHandler] Device supports:  "" 
amarok:     [MtpHandler] Device supports:  "txt" 
amarok:     [MtpHandler] Device supports:  "html" 
amarok:     [MtpHandler] Device supports:  "wav" 
amarok:     [MtpHandler] Device supports:  "mp3" 
amarok:     [MtpHandler] Device supports:  "mpg" 
amarok:     [MtpHandler] Device supports:  "jpg" 
amarok:     [MtpHandler] Device supports:  "gif" 
amarok:     [MtpHandler] Device supports:  "jfif" 
amarok:     [MtpHandler] Device supports:  "png" 
amarok:     [MtpHandler] Device supports:  "tiff" 
amarok:     [MtpHandler] Device supports:  "wma" 
amarok:     [MtpHandler] Device supports:  "ogg" 
amarok:     [MtpHandler] Device supports:  "aac" 
amarok:     [MtpHandler] Device supports:  "mp4" 
amarok:     [MtpHandler] Device supports:  "mp3" 
amarok:     [MtpHandler] Device supports:  "" 
amarok:     [MtpHandler] Device supports:  "xml" 
amarok:     [MtpHandler] Device supports:  "flac" 
amarok:   END__: void Meta::MtpHandler::getDeviceInfo() [Took: 0.004s] 
amarok:   BEGIN: void Collections::MediaDeviceCollection::slotAttemptConnectionDone(bool) 
amarok:     [MediaDeviceCollection] starting full scan 
amarok:     BEGIN: virtual void Collections::MediaDeviceCollection::startFullScanDevice() 
amarok:       BEGIN: bool Meta::MediaDeviceHandler::privateParseTracks() 
amarok:         BEGIN: virtual void Meta::MtpHandler::prepareToParseTracks() 
amarok:         END__: virtual void Collections::MediaDeviceCollection::startFullScanDevice() [Took: 0s] 
amarok:       END__: void Collections::MediaDeviceCollection::slotAttemptConnectionDone(bool) [Took: 0s] 
amarok:     END__: void Meta::MtpHandler::slotDeviceMatchSucceeded(ThreadWeaver::Job*) [Took: 0.006s] 

Some more debug output when dropping the files:

amarok:   BEGIN: void Collections::CollectionLocation::startWorkflow(const TrackList&, bool) 
amarok:   END__: void Collections::CollectionLocation::startWorkflow(const TrackList&, bool) [Took: 0s] 
amarok:   [Playlist::PrettyListView] After the drag! 
amarok:   [Playlist::PrettyListView] clearing PUD 
amarok: END__: virtual void Playlist::PrettyListView::startDrag(Qt::DropActions) [DELAY Took (quite long) 5.4s] 
amarok: BEGIN: virtual void Collections::CollectionLocation::getKIOCopyableUrls(const TrackList&) 
amarok:   [CollectionLocation] adding url  KUrl("file:///path/file.mp3") 
amarok:   BEGIN: void Collections::CollectionLocation::slotStartCopy(const QMap<KSharedPtr<Meta::Track>, KUrl>&, const Transcoding::Configuration&) 
amarok:     BEGIN: virtual void Collections::MediaDeviceCollectionLocation::copyUrlsToCollection(const QMap<KSharedPtr<Meta::Track>, KUrl>&, const Transcoding::Configuration&) 
amarok:       BEGIN: void Meta::MediaDeviceHandler::copyTrackListToDevice(Meta::TrackList) 
amarok:         BEGIN: virtual float Meta::MtpHandler::totalCapacity() const 
amarok:         END__: virtual float Meta::MtpHandler::totalCapacity() const [Took: 0s] 
amarok:         BEGIN: virtual float Meta::MtpHandler::totalCapacity() const 
amarok:         END__: virtual float Meta::MtpHandler::totalCapacity() const [Took: 0s] 
amarok:       END__: void Meta::MediaDeviceHandler::copyTrackListToDevice(Meta::TrackList) [Took: 4.3s] 
amarok:     END__: virtual void Collections::MediaDeviceCollectionLocation::copyUrlsToCollection(const QMap<KSharedPtr<Meta::Track>, KUrl>&, const Transcoding::Configuration&) [Took: 4.3s] 
amarok:   END__: void Collections::CollectionLocation::slotStartCopy(const QMap<KSharedPtr<Meta::Track>, KUrl>&, const Transcoding::Configuration&) [Took: 4.3s] 
amarok: END__: virtual void Collections::CollectionLocation::getKIOCopyableUrls(const TrackList&) [Took: 4.3s] 
amarok: BEGIN: void Collections::CollectionLocation::slotFinishCopy() 
amarok: END__: void Collections::CollectionLocation::slotFinishCopy() [Took: 0s] 
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x1400175
amarok: BEGIN: virtual float Meta::MtpHandler::totalCapacity() const 
amarok: END__: virtual float Meta::MtpHandler::totalCapacity() const [Took: 0.002s] 
amarok: BEGIN: void ScanManager::checkScannerVersion() 
amarok: END__: void ScanManager::checkScannerVersion() [Took: 0.016s] 
amarok: BEGIN: virtual float Meta::MtpHandler::totalCapacity() const 
amarok: END__: virtual float Meta::MtpHandler::totalCapacity() const [Took:

Reproducible: Always
Comment 1 S. Burmeister 2012-09-01 23:16:57 UTC
mtp-connect --sendfile works.
Comment 2 S. Burmeister 2012-09-30 08:25:21 UTC
jmtpfs works, kio-mtp works as well. This clearly hints at amarok being the culprit.
Comment 3 S. Burmeister 2012-09-30 08:27:23 UTC
In case mtp functionality is simply unmaintained, please remove it from amarok.
Comment 4 Matěj Laitl 2012-09-30 11:17:37 UTC
(In reply to comment #3)
> In case mtp functionality is simply unmaintained, please remove it from
> amarok.

It currently is, but still reportedly works for some people. Removing it would be actually a regression, which we try to avoid. Complete rewrite of the MTP Collection is needed, you can help us achieving it by either writing code or financially.
Comment 5 S. Burmeister 2012-09-30 11:50:17 UTC
(In reply to comment #4)
> It currently is, but still reportedly works for some people. Removing it
> would be actually a regression, which we try to avoid.

Even if it works for some it is broken for most and does not get better over time but worse. That bad experience falls back on the rest of the application. So removing it is the only sensible thing to do IMHO.

> Complete rewrite of
> the MTP Collection is needed, you can help us achieving it by either writing
> code or financially.

It's too late for that. Since there was no feedback and hence no perspective that it will ever work or that anyone is interested in the buggy code I simply left amarok and moved on to the tools that work for me and are maintained.
Comment 6 S. Burmeister 2012-09-30 15:01:02 UTC
Since reporting bugs and writing down which other apps work using the same libs, i.e. trying to find out whether its a lib or amarok problem is called nasty in the amarok community, I'll close this bug and act as if it never happened. If you do not want people to care about amarok, that's what you get.