kmix crashes in Solid::DeviceManagerPrivate::_k_deviceAdded()

Bug #293126 reported by Martin von Gagern
38
Affects Status Importance Assigned to Milestone
KDE Multimedia
Invalid
High
kde4libs (Ubuntu)
Fix Released
Low
Jonathan Thomas

Bug Description

Binary package hint: kdemultimedia

I've had my Intrepid system running for several minutes, without much activity and with no interaction with kmix. Suddenly I got a KDE Crash Handler window, with almost no debugging symbols available in the backtrace. I hope that apport will manage to collect some useful information for you. I'm not sure whether this is an Ubuntu bug or a KDE bug.

ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 8.10
ExecutablePath: /usr/bin/kmix
NonfreeKernelModules: nvidia
Package: kmix 4:4.1.2-0ubuntu1
SourcePackage: kdemultimedia
Uname: Linux 2.6.27-7-generic i686

Tags: apport-bug

Related branches

Revision history for this message
In , Oliver Putz (regnaron) wrote :
Download full text (5.2 KiB)

Version: (using Devel)
Installed from: Compiled sources
Compiler: gcc version 4.1.2 20070214
OS: Linux

I am not 100% sure what exactly I did, but today after working with a USB stick (mounting and unmounting it) plasma crashed with the following backtrace that seems to indicate some problem with Solid (kdelibs r792052):

Application: Plasma Workspace (plasma), signal SIGABRT
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb6014af0 (LWP 6165)]
[New Thread 0xb49b4b90 (LWP 6166)]
[KCrash handler]
#6 0xffffe410 in __kernel_vsyscall ()
#7 0xb62e71f1 in *__GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8 0xb62e89b8 in *__GI_abort () at abort.c:88
#9 0xb6f76a45 in qt_message_output (msgType=QtFatalMsg,
    buf=0xbf992b0c "ASSERT: \"dev->backendObject()==0\" in file /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/solid/solid/devicemanager.cpp, line 164") at global/qglobal.cpp:2047
#10 0xb6f76b0a in qFatal (msg=0xb70cefec "ASSERT: \"%s\" in file %s, line %d")
    at global/qglobal.cpp:2249
#11 0xb6f76fd5 in qt_assert (assertion=0xb71b7b31 "dev->backendObject()==0",
    file=0xb71b7c18 "/var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/solid/solid/devicemanager.cpp", line=164) at global/qglobal.cpp:1821
#12 0xb717d812 in Solid::DeviceManagerPrivate::_k_deviceAdded (
    this=0x81d9bd0, udi=@0x83c3790)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/solid/solid/devicemanager.cpp:164
#13 0xb717d96b in Solid::DeviceManagerPrivate::qt_metacall (this=0x81d9bd0,
    _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf994c3c)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs_build/solid/solid/devicemanager_p.moc:72
#14 0xb708c2c8 in QMetaObject::activate (sender=0x81d9d90,
    from_signal_index=<value optimized out>, to_signal_index=4,
    argv=<value optimized out>) at kernel/qobject.cpp:2995
#15 0xb708ca44 in QMetaObject::activate (sender=0x81d9d90, m=0xb71c28f8,
    local_signal_index=0, argv=0xbf994c3c) at kernel/qobject.cpp:3065
#16 0xb71910b1 in Solid::Ifaces::DeviceManager::deviceAdded (this=0x81d9d90,
    _t1=@0x83c3790)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs_build/solid/solid/ifaces/devicemanager.moc:79
#17 0xb719f7be in Solid::Backends::Hal::HalManager::slotDeviceAdded (
    this=0x81d9d90, udi=@0x83c3790)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/solid/solid/backends/hal/halmanager.cpp:214
#18 0xb719f836 in Solid::Backends::Hal::HalManager::qt_metacall (
    this=0x81d9d90, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbf994d38)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs_build/solid/solid/backends/hal/halmanager.moc:70
#19 0xb6ecd838 in QDBusConnectionPrivate::deliverCall (this=0x81d9e70,
    object=0x81d9d90, msg=@0x8739a44, metaTypes=@0x8739a48, slotIdx=6)
    at qdbusintegrator.cpp:865
#20 0xb6ed74c7 in QDBusCallDeliveryEvent::placeMetaCall (this=0x8739a18,
    object=0x81d9d90) at qdbusintegrator_p.h:136
#21 0xb7087ede in QObject::event (this=0x81d9d90, e=0x8739a18)
    at kernel/qobject....

Read more...

Revision history for this message
In , Oliver Putz (regnaron) wrote :

I just experienced this crash again. Plasma crashed as soon as I plugged in a USB memory stick into the second USB slot. The first slot held a USB pointing presenter at that time.
As soon as I started krunner in order to bring up a consle in order to mount the device, plasma crashed. Note: I do not have the plasma new device notifier running (if that makes any difference)

Revision history for this message
In , ervin (ervin) wrote :

Sorry I cannot reproduce this crash, could you make sure you KDE install is up to date and provide a step by step way to reproduce this issue?

I definitely don't experience that here.

Revision history for this message
In , Cgiboudeaux (cgiboudeaux) wrote :

*** Bug 168576 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Matthias Kretz (mkretz) wrote :
Download full text (5.8 KiB)

I can reliably reproduce the failed assertion with my new device listing code now (not committed yet). My guess is that in order to reproduce it you need to plug in a device that will add more than one Solid::Device object to the tree, i.e. you get multiple calls to deviceAdded, and then in the slot iterate over all devices, i.e. access the devices that will be announced with another deviceAdded later on.

Application: KDE Daemon (kded4), signal SIGABRT
0x00007fd91836cb50 in __nanosleep_nocancel () from /lib/libc.so.6

Thread 1 (Thread 0x7fd91d10d780 (LWP 14939)):
[KCrash Handler]
#5 0x00007fd918301095 in raise () from /lib/libc.so.6
#6 0x00007fd918302af0 in abort () from /lib/libc.so.6
#7 0x00007fd91b6cce1d in qt_message_output (msgType=QtFatalMsg, buf=0x7fff2513fa50 "ASSERT: \"dev->backendObject()==0\" in file /home/mkretz/KDE/src/kdelibs/solid/solid/devicemanager.cpp, line 164")
    at /home/mkretz/KDE/src/qt-copy/src/corelib/global/qglobal.cpp:2061
#8 0x00007fd91b6ccf3f in qFatal (msg=0x7fd91b849340 "ASSERT: \"%s\" in file %s, line %d") at /home/mkretz/KDE/src/qt-copy/src/corelib/global/qglobal.cpp:2263
#9 0x00007fd91b6cd3ad in qt_assert (assertion=0x7fd9179df25f "dev->backendObject()==0", file=0x7fd9179df2b0 "/home/mkretz/KDE/src/kdelibs/solid/solid/devicemanager.cpp", line=164)
    at /home/mkretz/KDE/src/qt-copy/src/corelib/global/qglobal.cpp:1831
#10 0x00007fd9179a60f3 in Solid::DeviceManagerPrivate::_k_deviceAdded (this=0x8f0e20, udi=@0x962d50) at /home/mkretz/KDE/src/kdelibs/solid/solid/devicemanager.cpp:164
#11 0x00007fd9179a61e3 in Solid::DeviceManagerPrivate::qt_metacall (this=0x8f0e20, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff25141d60)
    at /home/mkretz/KDE/obj/kdelibs/solid/solid/devicemanager_p.moc:72
#12 0x00007fd91b7fe04b in QMetaObject::activate (sender=0x8f0e70, from_signal_index=4, to_signal_index=4, argv=0x7fff25141d60) at /home/mkretz/KDE/src/qt-copy/src/corelib/kernel/qobject.cpp:3016
#13 0x00007fd91b7fe5d1 in QMetaObject::activate (sender=0x8f0e70, m=0x7fd917bfa040, local_signal_index=0, argv=0x7fff25141d60) at /home/mkretz/KDE/src/qt-copy/src/corelib/kernel/qobject.cpp:3086
#14 0x00007fd9179b3d44 in Solid::Ifaces::DeviceManager::deviceAdded (this=0x3a5b, _t1=<value optimized out>) at /home/mkretz/KDE/obj/kdelibs/solid/solid/ifaces/devicemanager.moc:79
#15 0x00007fd9179d3647 in Solid::Backends::Hal::HalManager::qt_metacall (this=0x8f0e70, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff25141f90)
    at /home/mkretz/KDE/obj/kdelibs/solid/solid/backends/hal/halmanager.moc:70
#16 0x00007fd91bb431bb in QDBusConnectionPrivate::deliverCall (this=0x7ca130, object=0x8f0e70, msg=@0xa14468, metaTypes=@0xa14470, slotIdx=6)
    at /home/mkretz/KDE/src/qt-copy/src/dbus/qdbusintegrator.cpp:865
#17 0x00007fd91bb4f20f in QDBusCallDeliveryEvent::placeMetaCall (this=0xa14420, object=0x8f0e70) at /home/mkretz/KDE/src/qt-copy/src/dbus/qdbusintegrator_p.h:136
#18 0x00007fd91b7fbcce in QObject::event (this=0x8f0e70, e=0xa14420) at /home/mkretz/KDE/src/qt-copy/src/corelib/kernel/qobject.cpp:1140
#19 0x00007fd918f7495b in QApplicationPrivate::notify_helper (this=0x632010, receiver=0x8f0e70, e=0xa14420) at /home/mkretz/KDE/s...

Read more...

Revision history for this message
In , Jeff Mitchell (jefferai) wrote :

*** Bug 169873 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Jeff Mitchell (jefferai) wrote :

Kevin, see the bug I just marked as a duplicate for two other backtraces from different programs, both using Solid and both with the same assert.

I believe I can get yet another soon, as I can repeatably crash Plasma by either pulling the battery out of my laptop or plugging a new one in (while on mains of course).

Revision history for this message
In , Alan Jenkins (aj504) wrote :

*** Bug 172290 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Matthias Kretz (mkretz) wrote :

Created attachment 27956
minimal testcase to fail the assertion

set QTDIR and KDEDIR and run make, then execute ./test and plug in a USB audio device => assertion fails. If you don't have a USB audio device you can probably adjust the testcase to another kind of device.

Revision history for this message
In , Oliver Putz (regnaron) wrote :

*** Bug 173864 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Oliver Putz (regnaron) wrote :

*** Bug 171666 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Oliver Putz (regnaron) wrote :

*** Bug 171499 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Matthias Kretz (mkretz) wrote :

Created attachment 28296
Testcase for fake HW

This is the same testcase using the fake HW. It doesn't fail the assertion there.

Revision history for this message
Martin von Gagern (gagern) wrote :
Revision history for this message
Martin von Gagern (gagern) wrote :
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Unfortunately the backtrace is pretty much useless without debugging symbols. Installing kdemultimedia-dbg should provide debugging symbols. Due to the nature of this crash (random, uninstigated) it will probably hard to get the crash to occur again, so I am going to close this bug.

If by chance you re-encounter this bug with debugging symbols installed, feel free to reopen the bug by changing the status to "New". Thanks.

Changed in kdemultimedia:
status: New → Invalid
Revision history for this message
Martin von Gagern (gagern) wrote :

After installing kdemultimedia-dbg I could use a running kmix instance to get more information from the files posted here. To do so, I compared the maps attached here with that of the running process in order to relocate the addresses mentioned in the backtrace to the corresponding addresses in the running process. Using the list command in gdb I could get function name and source file information about these addresses. As the addresses represent return addresses from the call stack, they seem to correspond to the command immediately after the one currently executing.

With this information I could get more details for two important stack frames:
#12 0xb7a1057a in ?? () from /usr/lib/libsolid.so.4
Solid::DeviceManagerPrivate::_k_deviceAdded(QString const&)
(kde4libs-4.1.2/solid/solid/devicemanager.cpp:165)
#13 0xb7a1087f in ?? () from /usr/lib/libsolid.so.4
Solid::DeviceManagerPrivate::qt_metacall(QMetaObject::Call, int, void**)
(kde4libs-4.1.2/obj-i486-linux-gnu/solid/solid/devicemanager_p.moc:76)

So what happens is that the first assertion in _k_deviceAdded failed, which reads
Q_ASSERT(dev->backendObject()==0);
See http://websvn.kde.org/tags/KDE/4.1.2/kdelibs/solid/solid/devicemanager.cpp?view=markup

From there on things get a bit tricky to debug, as I don't have the moc files generated here, only the sources unpacked, and as I can't get deeper in the stack, because debugging qt4 is impossible due to bug 261380. On the other hand, "_k_deviceAdded SIGABRT" give pretty good keywords for a web search, which yielded http://bugs.kde.org/show_bug.cgi?id=171499 about kmix, which got duped to http://bugs.kde.org/show_bug.cgi?id=160221 about solid in general, affecting other apps as well.

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Thank you for the thorough investigation. It is really appreciated.

Changed in kdemultimedia:
status: Invalid → Triaged
Changed in kde4libs:
importance: Undecided → Low
Changed in kdemultimedia:
status: Unknown → Confirmed
Revision history for this message
In , ervin (ervin) wrote :

Sorry, but I still can't reproduce this one with either test case...
This one is really a mistery to me, we have quite a few dup. reports, etc. but I never encountered it myself and I can't reproduce it.

Revision history for this message
In , Cgiboudeaux (cgiboudeaux) wrote :

*** Bug 175709 has been marked as a duplicate of this bug. ***

Revision history for this message
James Lamb (admin-oranged) wrote :
Download full text (3.3 KiB)

Hi,

I have this same issue with KDE 4.1.3 from kubuntu ppa. Here is a copy of my crash

Application: KMix (kmix), signal SIGABRT
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb64178d0 (LWP 5457)]
[KCrash handler]
#6 0xb7f4f430 in __kernel_vsyscall ()
#7 0xb7da0880 in raise () from /lib/tls/i686/cmov/libc.so.6
#8 0xb7da2248 in abort () from /lib/tls/i686/cmov/libc.so.6
#9 0xb755c795 in qt_message_output () from /usr/lib/libQtCore.so.4
#10 0xb755c872 in qFatal () from /usr/lib/libQtCore.so.4
#11 0xb755c915 in qt_assert () from /usr/lib/libQtCore.so.4
#12 0xb796c54a in Solid::DeviceManagerPrivate::_k_deviceAdded (
    this=0x8d40b60, udi=@0x8feb970)
    at /build/buildd/kde4libs-4.1.3/solid/solid/devicemanager.cpp:164
#13 0xb796c84f in Solid::DeviceManagerPrivate::qt_metacall (this=0x8d40b60,
    _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfc50c7c)
    at /build/buildd/kde4libs-4.1.3/obj-i486-linux-gnu/solid/solid/devicemanager_p.moc:72
#14 0xb7669a60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#15 0xb766a7e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#16 0xb797e853 in Solid::Ifaces::DeviceManager::deviceAdded (this=0x8d25bb0,
    _t1=@0x8feb970)
    at /build/buildd/kde4libs-4.1.3/obj-i486-linux-gnu/solid/solid/ifaces/devicemanager.moc:79
#17 0xb79a446e in Solid::Backends::Hal::HalManager::slotDeviceAdded (
    this=0x8d25bb0, udi=@0x8feb970)
    at /build/buildd/kde4libs-4.1.3/solid/solid/backends/hal/halmanager.cpp:214
#18 0xb79a455a in Solid::Backends::Hal::HalManager::qt_metacall (
    this=0x8d25bb0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfc50e38)
    at /build/buildd/kde4libs-4.1.3/obj-i486-linux-gnu/solid/solid/backends/hal/halmanager.moc:70
#19 0xb74c126e in ?? () from /usr/lib/libQtDBus.so.4
#20 0xb74c8627 in ?? () from /usr/lib/libQtDBus.so.4
#21 0xb7664771 in QObject::event () from /usr/lib/libQtCore.so.4
#22 0xb6c928ec in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#23 0xb6c9a76e in QApplication::notify () from /usr/lib/libQtGui.so.4
#24 0xb7bd6b2d in KApplication::notify (this=0x8c905d8, receiver=0x8d25bb0,
    event=0x8fef698)
    at /build/buildd/kde4libs-4.1.3/kdeui/kernel/kapplication.cpp:311
#25 0xb7654e61 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#26 0xb7655ae5 in QCoreApplicationPrivate::sendPostedEvents ()
   from /usr/lib/libQtCore.so.4
#27 0xb7655cdd in QCoreApplication::sendPostedEvents ()
   from /usr/lib/libQtCore.so.4
#28 0xb767f82f in ?? () from /usr/lib/libQtCore.so.4
#29 0xb663a6f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0xb663dda3 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0xb663df61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0xb767f478 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#33 0xb6d2cee5 in ?? () from /usr/lib/libQtGui.so.4
#34 0xb765352a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#35 0xb76536ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#36 0xb7655da5 in QCoreApplication::exec () from /usr/lib/libQtCore.s...

Read more...

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 170873 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 178063 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 174380 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 174037 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

This crash seems to be TOO popular.... I just marked 3 reports as duplicates, and the two of them have too many duplicates by themselves....

Most of the crashes are reported against kmix and the steps to reproduce include:
- Pluging/Unpluging usb sticks.
- Installing/removing GPU drivers.
- Fidgeting with udev configuration (bug 178063).
- Updating system with apt-get/aptitude (which probably includes updating hal/udev and restarting one or both of them).

I can confirm this crash myself (I crashed kmix and plasma once or twice while I was updating my system with aptitude) and I think that the kmix crash is probably related to the fact that alsa reports two sound cards for my computer (HDA ATI SB and HDA ATI HDMI), so it probably confirms what Matthias said in comment 4 (but I am only guessing, I have no idea how this code works).

Revision history for this message
In , ervin (ervin) wrote :

I know, but still see my comment #13. I've never been able to reproduce it. I've two different computers, several usb devices to plug/unplug. Tried by hand, tried with the testcases kindly provided by Matthias, and it just never crashes for me (be it trunk or the version packaged by my distro).

I'm of course concerned by all the dups etc. But, I'm really in "waiting for a testcase which crashes for me or a patch" mode on this one. I can't do much more unfortunately.

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 177252 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 178072 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 178161 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 177265 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 174077 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Cgiboudeaux (cgiboudeaux) wrote :

*** Bug 178408 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Alexey Chernov (4ernov) wrote :

I experience the bug in Amarok (http://bugs.kde.org/show_bug.cgi?id=178597) and there's a crash report which obviously seems to be familiar with this case. I was suggested to print here my case. The full report is in the link above.

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 178610 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Cgiboudeaux (cgiboudeaux) wrote :

*** Bug 178363 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Cgiboudeaux (cgiboudeaux) wrote :

*** Bug 178597 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Kde-bugger (kde-bugger) wrote :

I can reproduce this bug quite well, it tends to kill kmix or even kded. Seems that plugging in the USB audio device in my monitor and/or switching between systems with the builtin KVM-device is a reliable way to cause this crash.

@Kevin: I have no idea how to debug this but I can help if you tell me how.

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 178734 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 178981 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Matthias Kretz (mkretz) wrote :

Created attachment 29784
patch to skip the assertion

As far as I know the inner workings of Solid this patch should "fix" the issue while not introducing any leaks or inconsistencies.

Revision history for this message
In , Matthias Kretz (mkretz) wrote :

Created attachment 29785
real patch to skip the assertion

Ups, sorry. The patch before was my latest code to reproduce the failed assertion. This time the real one.

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 179652 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 179927 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Alex Merry (randomguy3) wrote :

The patch fixes it for me, and the device appears in the Multimedia KCM as expected, and disappears when I take it out again.

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 180013 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 180125 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

As stated in bug 180125 , this still happens on KDE4.1.96, is the patch gonna be aplied ? Thanks :)

Revision history for this message
In , Christian Esken (esken-kde) wrote :

Hi, KMix developer speaking now. :-)

While I wasn't able to reproduce the issue, I have found now awonderful way, which works 100% on my box.
1) Stop Kmix
2) Unload sound drivers (e.g. on OpenSUSE via "service alsasound stop").
3) Start KMix. => Crash in libsolid at solid/devicemanager.cpp,
line 164

I will try the patch now.

Revision history for this message
In , Christian Esken (esken-kde) wrote :

Forgot the last point, so I'll correct it:

1) Stop Kmix
2) Unload sound drivers (e.g. on OpenSUSE via "service alsasound stop").
3) Start KMix
4) Load sound drivers (e.g. on OpenSUSE via "service alsasound start")

Crash happens of course after loading the sound drivers, not after starting KMix.

Revision history for this message
In , Christian Esken (esken-kde) wrote :

Looks like user "divide" has commited the patch yesterday (slightly modified): http://websvn.kde.org/trunk/KDE/kdelibs/solid/solid/devicemanager.cpp?r1=907515&r2=907514&pathrev=907515

I can confirm that this fixes the issue for me. :-)

Please be aware that this has only be commited to trunk, as far as I see. It should be backported to 4.2 branch, but as far as I am concerned I don't consider this to be release critical, and thus should wait for after 4.2 release (target: 4.2.1). But the Solid maintainer (Kevin) should have the last word here.

Revision history for this message
In , Jeff Mitchell (jefferai) wrote :

My $0.02:

This isn't release critical for people that don't continually suffer from this problem.

For those that do, the patch can't come soon enough, and they may be rather disappointed if they upgrade to 4.2 and still see it as a problem. Disappointment leads to unhappiness. Unhappiness leads to ranting and raving.

I'd recommend sticking it in 4.2 unless Kevin thinks that this might have adverse effects.

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 180202 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 180493 has been marked as a duplicate of this bug. ***

Revision history for this message
In , ervin (ervin) wrote :

*** Bug 180820 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 181071 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 181346 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Somekool-f (somekool-f) wrote :

if the patch fixes the problem, it should be in 4.2.0

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 181543 has been marked as a duplicate of this bug. ***

Revision history for this message
In , George Kiagiadakis (kiagiadakis-george) wrote :

*** Bug 182166 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 182680 has been marked as a duplicate of this bug. ***

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Fix committed in bzr.

Changed in kde4libs:
status: Triaged → Fix Committed
milestone: none → jaunty-alpha-5
assignee: nobody → echidnaman
Revision history for this message
In , Jonathan Thomas (echidnaman) wrote :

This crash is quite bad. I had plasma, konqueror, ktorrent, krunner and dolphin all die on every upgrade that hal was restarted. (They had the same backtrace as the original post)

The good news is that the patch worked wonderfully.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package kde4libs - 4:4.2.0-0ubuntu3

---------------
kde4libs (4:4.2.0-0ubuntu3) jaunty; urgency=low

  [ Jonathan Thomas ]
  * Add kubuntu_55_fix_solid_devicemanager_crash.diff to fix crashes upon hal
    restarts during upgrades. (LP: #293126)

  [ Anthony Mercatante ]
  * Add kubuntu_65_add_lilypond_kate_script_svn919189.diff:
    - Install lilypond.js kate script, needed for lilypond support.
      Fix from SVN rev 919189
  * Fixed kdelibs5-data.install to install the file

 -- Anthony Mercatante <email address hidden> Fri, 13 Feb 2009 14:06:22 +0100

Changed in kde4libs:
status: Fix Committed → Fix Released
Revision history for this message
In , ervin (ervin) wrote :

SVN commit 929830 by ervin:

Commit Matthias' patch which apparently creates no regression.

CCBUG: 160221

 M +4 -3 devicemanager.cpp

WebSVN link: http://websvn.kde.org/?view=rev&revision=929830

Revision history for this message
In , ervin (ervin) wrote :

SVN commit 929831 by ervin:

Backport 929830.

BUG: 160221

 M +4 -3 devicemanager.cpp

WebSVN link: http://websvn.kde.org/?view=rev&revision=929831

Changed in kdemultimedia:
status: Confirmed → Fix Released
Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 187113 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dario Andres (andresbajotierra) wrote :

*** Bug 189438 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Christian Esken (esken-kde) wrote :

*** Bug 176528 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Christian Esken (esken-kde) wrote :

*** Bug 178845 has been marked as a duplicate of this bug. ***

Revision history for this message
In , bil (bil65klo3) wrote :

Created attachment 37872

test1

Revision history for this message
In , bil (bil65klo3) wrote :

Created attachment 37873

test2

Revision history for this message
In , bil (bil65klo3) wrote :

Created attachment 37874

test3

Changed in kdemultimedia:
importance: Unknown → High
Revision history for this message
In , Cactus (uzi18) wrote :

Created attachment 62564
device removed assertion patch

Please consider this patch for this crash, i have kde 4.7.0 and after
switch on from suspend-to-ram i have 5 crashes on 5 components on 3 hosts.

Waiting for feedback
Best regards.

Revision history for this message
In , Cactus (uzi18) wrote :

Please also reopen this bug.

Revision history for this message
In , Cactus (uzi18) wrote :

Ok this patch resolved my problems with solid.

Revision history for this message
In , Christian Esken (esken-kde) wrote :

Did you apply this patch to the KDE repository? Or is this still open.

Revision history for this message
In , Cactus (uzi18) wrote :

It is still open because i have no account in kde git.

Changed in kdemultimedia:
status: Fix Released → Confirmed
Revision history for this message
In , Winter-s (winter-s) wrote :

Alex or Kevin,

Please can we commit this patch. I'm hitting this assert now on two different Fedora 15 computers and causing plasma-desktop, knotify and krunner to die every few hours.

I've been running with this patch few a couple days now ok.

-Allen

Revision history for this message
In , Alex Fiestas (afiestas) wrote :

(In reply to comment #70)
> Alex or Kevin,
>
> Please can we commit this patch. I'm hitting this assert now on two
> different Fedora 15 computers and causing plasma-desktop, knotify and
> krunner to die every few hours.
>
> I've been running with this patch few a couple days now ok.
>
> -Allen

That patches remove an ASSERT that makes sense and show us a bug in the library, removing it won't solve the real issue.

If you want to avoid the crash, compile libsolid without debug as you should do in production, assert won't quit the application then.

I will try to reproduce this bug and fix the real issue asap.

Revision history for this message
In , Alex Fiestas (afiestas) wrote :

Can you give me some information of which kind of hardware are you plugging/unplugging?
Does this happen without unplugging/plugging anything? do you suspend/hibernate?

Can you run in a terminal "solid-hardware listen" and save all the debug until it crashes as knotify/plasma-desktop does?

Thank s!

Revision history for this message
In , Cactus (uzi18) wrote :

My patch is written according to assert done above this one, and that change was
added to sources, so why You block this one also?

void Solid::DeviceManagerPrivate::_k_deviceAdded(const QString &udi)
{
    if (m_devicesMap.contains(udi)) {
        DevicePrivate *dev = m_devicesMap[udi].data();

        // Ok, this one was requested somewhere was invalid
        // and now becomes magically valid!

        if (dev && dev->backendObject() == 0) {
            dev->setBackendObject(createBackendObject(udi));
            Q_ASSERT(dev->backendObject()!=0);
        }
    }

    emit deviceAdded(udi);
}

     emit deviceAdded(udi);

Revision history for this message
In , Winter-s (winter-s) wrote :

Alex,

For me, I really think it's an automount that is going away. I can't think of anything I purposefully am plugging/unplugging nor is this a suspend/hibernation issue.

In the meantime, I'll look for debug messages that might give you more hints.

Revision history for this message
In , Alex Fiestas (afiestas) wrote :

(In reply to comment #73)
> if (dev && dev->backendObject() == 0) {
> dev->setBackendObject(createBackendObject(udi));
> Q_ASSERT(dev->backendObject()!=0);
> }
Well I'm in a hurry so maybe I'm reading this wrong but if you set the backendObject just before asserting for sure the assert won't fail but that turns the assert in invalid since it is not checking what it should check.

Revision history for this message
In , Alex Merry (randomguy3) wrote :

I slightly confused by this report. git claims that the change people were requesting in March 2012 was already made in the repo in 2009.

Does this bug still exist?

Revision history for this message
In , Winter-s (winter-s) wrote :

I have no recollection of what might have fixed this bug; however, no such crash here in quite a long time.

Alex might remember.

AFIAK this one should be resolvable

Revision history for this message
In , Alex Merry (randomguy3) wrote :

Let's resolve it WORKSFORME, and if someone can reproduce it, they can re-open it.

Changed in kdemultimedia:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.