Application: amarok (2.9.71) Qt Version: 5.15.8 Frameworks Version: 5.104.0 Operating System: Linux 6.1.20-1-lts x86_64 Windowing System: X11 Distribution: "Arch Linux" DrKonqi: 5.27.3 [KCrashBackend] -- Information about the crash: MTP device is a Creative Zen. Amarok sees Creative Zen as a collection. But, when you try "Copy to Collection" from Local Collection to Creative Zen collection it transfers 1 file and then crashes. I can restart app and again transfer 1 file and then crash. The crash can be reproduced every time. -- Backtrace: Application: Amarok (amarok), signal: Segmentation fault Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>} [KCrash Handler] #6 0x00007ff1c9f47bb8 in () at /usr/lib/libamaroklib.so.1 #7 0x00007ff1c824f19b in QtSharedPointer::ExternalRefCountData::destroy() (this=0x5559092784f0) at /usr/include/qt/QtCore/qsharedpointer_impl.h:149 #8 QSharedPointer<ThreadWeaver::JobInterface>::deref(QtSharedPointer::ExternalRefCountData*) (dd=0x5559092784f0) at /usr/include/qt/QtCore/qsharedpointer_impl.h:458 #9 QSharedPointer<ThreadWeaver::JobInterface>::deref(QtSharedPointer::ExternalRefCountData*) (dd=0x5559092784f0) at /usr/include/qt/QtCore/qsharedpointer_impl.h:454 #10 QSharedPointer<ThreadWeaver::JobInterface>::deref() (this=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:453 #11 QSharedPointer<ThreadWeaver::JobInterface>::~QSharedPointer() (this=<optimized out>, this=<optimized out>) at /usr/include/qt/QtCore/qsharedpointer_impl.h:310 #12 QtMetaTypePrivate::QMetaTypeFunctionHelper<QSharedPointer<ThreadWeaver::JobInterface>, true>::Destruct(void*) (t=<optimized out>) at /usr/include/qt/QtCore/qmetatype.h:819 #13 0x00007ff1c86a19ce in QMetaType::destruct(void*) const (data=0x7ff104013170, this=0x7ffc02ad0db0) at ../../include/QtCore/../../src/corelib/kernel/qmetatype.h:2375 #14 QMetaType::destroy(int, void*) (type=<optimized out>, data=0x7ff104013170) at kernel/qmetatype.cpp:1664 #15 0x00007ff1c86b10bf in QMetaCallEvent::~QMetaCallEvent() (this=0x7ff104012af0, this=<optimized out>) at kernel/qobject.cpp:618 #16 0x00007ff1c86b111e in QMetaCallEvent::~QMetaCallEvent() (this=0x7ff104012af0, this=<optimized out>) at kernel/qobject.cpp:625 #17 0x00007ff1c868ea5d in QScopedPointerDeleter<QEvent>::cleanup(QEvent*) (pointer=0x7ff104012af0) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:52 #18 QScopedPointer<QEvent, QScopedPointerDeleter<QEvent> >::~QScopedPointer() (this=<synthetic pointer>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107 #19 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55590605f850) at kernel/qcoreapplication.cpp:1826 #20 0x00007ff1c86d4e88 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55590621e120) at kernel/qeventdispatcher_glib.cpp:277 #21 0x00007ff1bc30fafb in g_main_dispatch (context=0x7ff1a4000ee0) at ../glib/glib/gmain.c:3460 #22 g_main_context_dispatch (context=0x7ff1a4000ee0) at ../glib/glib/gmain.c:4200 #23 0x00007ff1bc36c5d9 in g_main_context_iterate.constprop.0 (context=0x7ff1a4000ee0, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4276 #24 0x00007ff1bc30d382 in g_main_context_iteration (context=0x7ff1a4000ee0, may_block=1) at ../glib/glib/gmain.c:4343 #25 0x00007ff1c86d8c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555906223230, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #26 0x00007ff1c86866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffc02ad1160, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #27 0x00007ff1c8691219 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #28 0x0000555904b45cad in () #29 0x00007ff1c7e3c790 in __libc_start_call_main (main=main@entry=0x555904b41020, argc=argc@entry=1, argv=argv@entry=0x7ffc02ad1458) at ../sysdeps/nptl/libc_start_call_main.h:58 #30 0x00007ff1c7e3c84a in __libc_start_main_impl (main=0x555904b41020, argc=1, argv=0x7ffc02ad1458, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc02ad1448) at ../csu/libc-start.c:360 #31 0x0000555904b46535 in () [Inferior 1 (process 9534) detached] Reported using DrKonqi
Hope this helps... I tried to copy FROM the MTP device (again, old Creative Zen in this instance) and it worked fine! So, Copy to Local Collection from MTP device works fine. Copying from Local Collection to MTP device collection crashes after 1 file is transferred. It crashes every single time doing this. I know it is not very likely that others have an old Creative Zen to play around with and possibly any MTP devices. I have other old MTP devices though that I will try as well later. Please let me know what I can do to help with testing / troubleshooting!
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/amarok/-/merge_requests/133
Git commit 34b0dc5f5eaf85e24b0730f3698e84d6b416c711 by Tuomas Nurmi. Committed on 04/01/2025 at 13:30. Pushed by nurmi into branch 'master'. ThreadWeaver-related mtp crash fixes Crashes seem to be caused by multiple deleting jobs or accessing them after deletion, so avoid deleting them manually and passing them around (https://mail.kde.org/pipermail/amarok-devel/2015-October/013807.html etc) M +1 -0 ChangeLog M +5 -6 src/core-impl/collections/mediadevicecollection/handler/MediaDeviceHandler.cpp M +4 -4 src/core-impl/collections/mediadevicecollection/handler/MediaDeviceHandler.h M +0 -1 src/core-impl/collections/mtpcollection/handler/MtpHandler.cpp https://invent.kde.org/multimedia/amarok/-/commit/34b0dc5f5eaf85e24b0730f3698e84d6b416c711