Summary: | amarok crashes on copying songs from cd to mtp device | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Martin Stitz <martinstitz> |
Component: | Collections/MTP player | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aikawarazuni, nhn, stephan.bellegy, thek3nger |
Priority: | NOR | Keywords: | release_blocker |
Version: | 2.3-GIT | ||
Target Milestone: | 2.2.2 | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Martin Stitz
2009-08-11 12:54:51 UTC
I don't think transcoding from cd to other formats is implemented yet. That's probably why it crashes. This is an issue with the way media devices have implemented their ColectionLocation. I have discussed it with Alejandro a little while back as I hit much the same issue. Is there anything we can do about that? Else we might issue a warning message or similar if we can't fix it ourselves. *** Bug 211572 has been marked as a duplicate of this bug. *** Please change the keyword if this is not Amarok, but libmtp releated, and reassign. Could you please try to get a better backtrace? This one here is missing debugging symbols, so it's almost useless to us. Please see here: http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports Here is the backtrace from the duplicate, bug 211572. Looks good Thread 1 (Thread 0xb349e710 (LWP 8590)): [KCrash Handler] #6 0xaf1109a7 in Meta::MtpHandler::libGetAlbum (this=0x9abd290, track=...) at ../../../../src/collection/mtpcollection/handler/MtpHandler.cpp:979 #7 0xaf119a16 in Handler::MtpReadCapability::libGetAlbum (this=0x9c86c70, track=...) at ../../../../src/collection/mtpcollection/handler/capabilities/MtpReadCapability.cpp:67 #8 0xb7031caf in Meta::MediaDeviceHandler::setupAlbumMap (this=0x9abd290, track=..., albumMap=..., artistMap=...) at ../../src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp:737 #9 0xb70346da in Meta::MediaDeviceHandler::addMediaDeviceTrackToCollection (this=0x9abd290, track=...) at ../../src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp:196 #10 0xb7035280 in Meta::MediaDeviceHandler::slotFinalizeTrackCopy (this=0x9abd290, track=...) at ../../src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp:542 #11 0xb70356f7 in Meta::MediaDeviceHandler::slotCopyNextTrackDone (this=0x9abd290, job=0xcc592e0, track=...) at ../../src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp:962 #12 0xb7038e3f in Meta::MediaDeviceHandler::qt_metacall (this=0x9abd290, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0xbfec7898) at ./MediaDeviceHandler.moc:138 #13 0xaf10c16a in Meta::MtpHandler::qt_metacall (this=0x9abd290, _c=QMetaObject::InvokeMetaMethod, _id=21, _a=0xbfec7898) at moc_MtpHandler.cpp:64 #14 0xb6aa8303 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4 #15 0xb6aa8f42 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #16 0xb702fc39 in Meta::CopyWorkerThread::copyTrackDone (this=0xcc592e0, _t1=0xcc592e0, _t2=...) at ./MediaDeviceHandler.moc:270 #17 0xb702fc5c in Meta::CopyWorkerThread::slotDoneSuccess (this=0xcc592e0) at ../../src/collection/mediadevicecollection/handler/MediaDeviceHandler.cpp:1266 #18 0xb702ff54 in Meta::CopyWorkerThread::qt_metacall (this=0xcc592e0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfec79bc) at ./MediaDeviceHandler.moc:257 #19 0xb6aa8303 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4 #20 0xb6aa8f42 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #21 0xb527c143 in ThreadWeaver::Job::done(ThreadWeaver::Job*) () from /usr/lib/libthreadweaver.so.4 #22 0xb527c317 in ThreadWeaver::Job::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libthreadweaver.so.4 #23 0xb702feea in Meta::CopyWorkerThread::qt_metacall (this=0xcc592e0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xa337e7f0) at ./MediaDeviceHandler.moc:250 #24 0xb6aa1b0b in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4 #25 0xb6aa35e0 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #26 0xb60d2a94 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #27 0xb60dabee in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #28 0xb75430fd in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #29 0xb6a931eb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #30 0xb6a93e2e in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #31 0xb6a9400d in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4 #32 0xb6abe4cf in ?? () from /usr/lib/libQtCore.so.4 #33 0xb3b84e98 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #34 0xb3b88623 in ?? () from /lib/libglib-2.0.so.0 #35 0xb3b887a8 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #36 0xb6abe041 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #37 0xb6172305 in ?? () from /usr/lib/libQtGui.so.4 #38 0xb6a9183a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #39 0xb6a91c82 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #40 0xb6a940d9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #41 0xb60d2917 in QApplication::exec() () from /usr/lib/libQtGui.so.4 #42 0x08051f9d in main (argc=1, argv=0xbfec8c04) at ../../src/main.cpp:225 This might potentially have been fixed by this commit (in Git master), please test, and reopen the report if the problem persists. Thanks. commit acf150893523a4c1693abb2ccae32f91140cb01d Author: Mark Kretschmann <kretschmann@kde.org> Date: Mon Dec 21 08:53:42 2009 +0100 Fix many MTP crashes caused by dangling pointers. The main cause for many crashes in MtpHandler were dangling pointers to structures from LibMTP. Using the new QSharedPointer (from Qt 4.5) makes it easy to fix such issues elegantly and safely. Please consider using it in other places too. It's often worth the tiny overhead. Note: I'm not sure how many bug reports this affects. Probably several. *** Bug 221969 has been marked as a duplicate of this bug. *** |