Version: (using KDE 4.3.2) OS: Linux Installed from: Fedora RPMs When removing my usb-soundcard kmix crashed. Kmix was already in a strange state before it crashed (it did show a question-mark icon instead the usual loudspeaker). I experienced this only once, and it seems I did not have the required debug-info installed for kmix, so no idea wether the stacktrace is useful: Application: KMix (kmix), signal: Segmentation fault [KCrash Handler] #6 0x07e1502b in ?? () from /usr/lib/libkdeinit4_kmix.so #7 0x07e15ec5 in ?? () from /usr/lib/libkdeinit4_kmix.so #8 0x02e72c0c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4 #9 0x02e73843 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #10 0x07e3ef34 in ?? () from /usr/lib/libkdeinit4_kmix.so #11 0x07e3f04c in ?? () from /usr/lib/libkdeinit4_kmix.so #12 0x07e4025c in ?? () from /usr/lib/libkdeinit4_kmix.so #13 0x02e72c0c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4 #14 0x02e73843 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #15 0x02122794 in Solid::DeviceNotifier::deviceRemoved (this=<value optimized out>, _t1=<value optimized out>) at /usr/src/debug/kdelibs-4.3.2/i686-redhat-linux-gnu/solid/solid/devicenotifier.moc:88 #16 0x021245ed in Solid::DeviceManagerPrivate::_k_deviceRemoved (this=<value optimized out>, udi=<value optimized out>) at /usr/src/debug/kdelibs-4.3.2/solid/solid/devicemanager.cpp:186 #17 0x02124a45 in Solid::DeviceManagerPrivate::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at /usr/src/debug/kdelibs-4.3.2/i686-redhat-linux-gnu/solid/solid/devicemanager_p.moc:74 #18 0x02e72c0c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4 #19 0x02e73843 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #20 0x021377f4 in Solid::Ifaces::DeviceManager::deviceRemoved (this=<value optimized out>, _t1=<value optimized out>) at /usr/src/debug/kdelibs-4.3.2/i686-redhat-linux-gnu/solid/solid/ifaces/devicemanager.moc:88 #21 0x0215d182 in Solid::Backends::Hal::HalManager::slotDeviceRemoved (this=<value optimized out>, udi=<value optimized out>) at /usr/src/debug/kdelibs-4.3.2/solid/solid/backends/hal/halmanager.cpp:219 #22 0x0215d26a in Solid::Backends::Hal::HalManager::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at /usr/src/debug/kdelibs-4.3.2/i686-redhat-linux-gnu/solid/solid/backends/hal/halmanager.moc:72 #23 0x07f7aa3c in ?? () from /usr/lib/libQtDBus.so.4 #24 0x07f829a8 in ?? () from /usr/lib/libQtDBus.so.4 #25 0x02e6cf96 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #26 0x0344fb24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #27 0x03457281 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #28 0x041e252b in KApplication::notify (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at /usr/src/debug/kdelibs-4.3.2/kdeui/kernel/kapplication.cpp:302 #29 0x02e5cd73 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #30 0x02e5d972 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #31 0x02e5db2e in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4 #32 0x02e87f40 in ?? () from /usr/lib/libQtCore.so.4 #33 0x00ac4118 in g_main_dispatch (context=<value optimized out>) at gmain.c:1960 #34 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513 #35 0x00ac7a48 in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591 #36 0x00ac7b74 in IA__g_main_context_iteration (context=0x8ac6090, may_block=<value optimized out>) at gmain.c:2654 #37 0x02e87b6d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #38 0x034ef356 in ?? () from /usr/lib/libQtGui.so.4 #39 0x02e5b2aa in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #40 0x02e5b70a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #41 0x02e5dbf7 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #42 0x0344f9a8 in QApplication::exec() () from /usr/lib/libQtGui.so.4 #43 0x07e126a3 in kdemain () from /usr/lib/libkdeinit4_kmix.so #44 0x0804865c in _start ()
The backtrace doesn't have too much information about KMix :-\
I have already installed the corresponding debuginfo-packages, and will add another backtrace as soon as it occurs again.
Ok, here's another one: Application: KMix (kmix), signal: Segmentation fault The current source language is "auto; currently c". [KCrash Handler] #6 QString (other=..., this=0xbf942680) at /usr/include/QtCore/qstring.h:711 #7 KMixWindow::unplugged (other=..., this=0xbf942680) at /usr/src/debug/kdemultimedia-4.3.3/kmix/kmix.cpp:489 #8 0x06399ed5 in KMixWindow::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at /usr/src/debug/kdemultimedia-4.3.3/i686-redhat-linux-gnu/kmix/kmix.moc:106 #9 0x02e72c0c in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>) at kernel/qobject.cpp:3112 #10 0x02e73843 in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=<value optimized out>) at kernel/qobject.cpp:3186 #11 0x063c2f34 in KMixDeviceManager::unplugged (this=<value optimized out>, _t1=<value optimized out>) at /usr/src/debug/kdemultimedia-4.3.3/i686-redhat-linux-gnu/kmix/kmixdevicemanager.moc:96 #12 0x063c304c in KMixDeviceManager::unpluggedSlot (this=<value optimized out>, udi=<value optimized out>) at /usr/src/debug/kdemultimedia-4.3.3/kmix/kmixdevicemanager.cpp:164 #13 0x063c425c in KMixDeviceManager::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at /usr/src/debug/kdemultimedia-4.3.3/i686-redhat-linux-gnu/kmix/kmixdevicemanager.moc:77 #14 0x02e72c0c in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>) at kernel/qobject.cpp:3112 #15 0x02e73843 in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=<value optimized out>) at kernel/qobject.cpp:3186 #16 0x06b4e794 in Solid::DeviceNotifier::deviceRemoved (this=<value optimized out>, _t1=<value optimized out>) at /usr/src/debug/kdelibs-4.3.3/i686-redhat-linux-gnu/solid/solid/devicenotifier.moc:88 #17 0x06b505ed in Solid::DeviceManagerPrivate::_k_deviceRemoved (this=<value optimized out>, udi=<value optimized out>) at /usr/src/debug/kdelibs-4.3.3/solid/solid/devicemanager.cpp:186 #18 0x06b50a45 in Solid::DeviceManagerPrivate::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at /usr/src/debug/kdelibs-4.3.3/i686-redhat-linux-gnu/solid/solid/devicemanager_p.moc:74 #19 0x02e72c0c in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=<value optimized out>) at kernel/qobject.cpp:3112 #20 0x02e73843 in QMetaObject::activate (sender=<value optimized out>, m=<value optimized out>, local_signal_index=<value optimized out>, argv=<value optimized out>) at kernel/qobject.cpp:3186 #21 0x06b637f4 in Solid::Ifaces::DeviceManager::deviceRemoved (this=<value optimized out>, _t1=<value optimized out>) at /usr/src/debug/kdelibs-4.3.3/i686-redhat-linux-gnu/solid/solid/ifaces/devicemanager.moc:88 #22 0x06b89172 in Solid::Backends::Hal::HalManager::slotDeviceRemoved (this=<value optimized out>, udi=<value optimized out>) at /usr/src/debug/kdelibs-4.3.3/solid/solid/backends/hal/halmanager.cpp:219 #23 0x06b8925a in Solid::Backends::Hal::HalManager::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at /usr/src/debug/kdelibs-4.3.3/i686-redhat-linux-gnu/solid/solid/backends/hal/halmanager.moc:72 #24 0x07f7aa3c in QDBusConnectionPrivate::deliverCall (this=<value optimized out>, object=<value optimized out>, msg=<value optimized out>, metaTypes=<value optimized out>, slotIdx=<value optimized out>) at qdbusintegrator.cpp:891 #25 0x07f829a8 in QDBusCallDeliveryEvent::placeMetaCall(QObject*) () from /usr/lib/libQtDBus.so.4 #26 0x02e6cf96 in QObject::event (this=<value optimized out>, e=<value optimized out>) at kernel/qobject.cpp:1110 #27 0x0344fb24 in QApplicationPrivate::notify_helper (this=<value optimized out>, receiver=<value optimized out>, e=<value optimized out>) at kernel/qapplication.cpp:4065 #28 0x03457281 in QApplication::notify (this=<value optimized out>, receiver=<value optimized out>, e=<value optimized out>) at kernel/qapplication.cpp:3605 #29 0x0721402b in KApplication::notify (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at /usr/src/debug/kdelibs-4.3.3/kdeui/kernel/kapplication.cpp:302 #30 0x02e5cd73 in QCoreApplication::notifyInternal (this=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at kernel/qcoreapplication.cpp:610 #31 0x02e5d972 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:213 #32 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:1247 #33 0x02e5db2e in QCoreApplication::sendPostedEvents (receiver=<value optimized out>, event_type=<value optimized out>) at kernel/qcoreapplication.cpp:1140 #34 0x02e87f40 in sendPostedEvents () at kernel/qcoreapplication.h:218 #35 postEventSourceDispatch () at kernel/qeventdispatcher_glib.cpp:210 #36 0x00ac4118 in g_main_dispatch (context=<value optimized out>) at gmain.c:1960 #37 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513 #38 0x00ac7a48 in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591 #39 0x00ac7b74 in IA__g_main_context_iteration (context=0x9961e90, may_block=<value optimized out>) at gmain.c:2654 #40 0x02e87b6d in QEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327 #41 0x034ef356 in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202 #42 0x02e5b2aa in QEventLoop::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:149 #43 0x02e5b70a in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:201 #44 0x02e5dbf7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #45 0x0344f9a8 in QApplication::exec () at kernel/qapplication.cpp:3525 #46 0x063966a3 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdemultimedia-4.3.3/kmix/main.cpp:71 #47 0x0804865c in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdemultimedia-4.3.3/i686-redhat-linux-gnu/kmix/kmix_dummy.cpp:3
Thanks
Created attachment 42978 [details] New crash information added by DrKonqi KMix crashed when I restarted my E-MU 0404 USB Sound Card.
Thanks for the backtraces, the crash happens, when the following 3 conditions come together: - The Card with the Master gets unplugged - There is another soundcard installed - The other soundcard does not have a Master ("---no-master-detected---"). The bug is quite likely in the following line: QString localMaster = ((Mixer::mixers())[0])->getLocalMasterMD()->id(); What to do (ideas): - Guard ALL getLocalMasterMD() calls - Possibly continue searching even more soundcards - Finally if there is really really no master, do something like in the already handled "no more soundcards case").
*** Bug 251805 has been marked as a duplicate of this bug. ***
Fixed by guarding ALL getLocalMasterMD() calls. Timeline: - Fixed in trunk - Will be fixed in KDE4.6.1 (commit pending, patch attached).
Created attachment 55474 [details] Bugfix / Patch
Has the fix really reached 4.6.1? Can I close this bug?