Version: 4.6 (using KDE 4.5.95) OS: Linux Udisks backend is unconditionally compiled on every GNU/Linux system. It's wrong for there are systems that do not use udisks. On such systems solid crashes when making DBus calls to udisks. Either a compile-time check for presence of udisks must be added to solid, or udisks backend must check for availability of udisks at startup. Reproducible: Always
It's not compiled against udisks, therefore no compile time check can be introduced, the dependency is runtime. In case of missing udisks, Solid should fall back to HAL; either of them must be installed.
> In case of missing udisks, Solid should fall back to HAL Probably it happens, but I have no HAL either. See problem report #217189.
With neither HAL or udisks installed, you have a non-functional solid lib. Please post the backtrace of such crash in case of missing udisks service.
#6 0xb5ed5bfc in QDBusMessage::arguments() const () from /usr/lib/qt/lib/libQtDBus.so.4 #7 0xb5f07294 in QDBusPendingReplyData::argumentAt(int) const () from /usr/lib/qt/lib/libQtDBus.so.4 #8 0xb3c70b6a in QDBusPendingReply<QMap<QString, QVariant>, void, void, void, void, void, void, void>::argumentAt<0> (this=0xbfb73188) at /usr/lib/qt/include/QtDBus/qdbuspendingreply.h:176 #9 0xb3c70ba9 in QDBusPendingReply<QMap<QString, QVariant>, void, void, void, void, void, void, void>::value (this=0xbfb73188) at /usr/lib/qt/include/QtDBus/qdbuspendingreply.h:181 #10 0xb3c6de7f in Solid::Backends::UDisks::UDisksDevice::allProperties (this=0xbfb733d8) at /home/artem/testing/slack-update/kde/tmp/kdelibs-4.5.95/solid/solid/backends/udisks/udisksdevice.cpp:703 #11 0xb3c6df24 in Solid::Backends::UDisks::UDisksDevice::checkCache (this=0xbfb733d8, key=...) at /home/artem/testing/slack-update/kde/tmp/kdelibs-4.5.95/solid/solid/backends/udisks/udisksdevice.cpp:671 #12 0xb3c6e077 in Solid::Backends::UDisks::UDisksDevice::property (this=0xbfb733d8, key=...) at /home/artem/testing/slack-update/kde/tmp/kdelibs-4.5.95/solid/solid/backends/udisks/udisksdevice.cpp:687 #13 0xb3c702b1 in Solid::Backends::UDisks::UDisksDevice::queryDeviceInterface (this=0xbfb733d8, type=@0xbfb7345c) at /home/artem/testing/slack-update/kde/tmp/kdelibs-4.5.95/solid/solid/backends/udisks/udisksdevice.cpp:165 #14 0xb3c6aaca in Solid::Backends::UDisks::UDisksManager::devicesFromQuery (this=0x909e330, parentUdi=..., type=Solid::DeviceInterface::StorageAccess) at /home/artem/testing/slack-update/kde/tmp/kdelibs-4.5.95/solid/solid/backends/udisks/udisksmanager.cpp:123 #15 0xb3c16f93 in Solid::Device::listFromQuery (predicate=..., parentUdi=...) at /home/artem/testing/slack-update/kde/tmp/kdelibs-4.5.95/solid/solid/devicemanager.cpp:142 #16 0xab0fd464 in ?? () from /usr/lib/kde4/plasma_engine_hotplug.so #17 0xb74333b0 in Plasma::DataEngineManager::loadEngine(QString const&) () from /usr/lib/libplasma.so.3 #18 0xb746c5bd in ?? () from /usr/lib/libplasma.so.3 #19 0xb73e0657 in Plasma::AbstractRunner::dataEngine(QString const&) const () from /usr/lib/libplasma.so.3 #20 0xab02ba1e in ?? () from /usr/lib/kde4/krunner_solid.so #21 0xab02bc3e in ?? () from /usr/lib/kde4/krunner_solid.so #22 0xb6098efa in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/qt/lib/libQtCore.so.4 #23 0xb609bea9 in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const () from /usr/lib/qt/lib/libQtCore.so.4 #24 0xb609cb84 in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) () from /usr/lib/qt/lib/libQtCore.so.4 #25 0xb74b3da7 in ?? () from /usr/lib/libplasma.so.3 #26 0xb74af0a4 in Plasma::RunnerManager::reloadConfiguration() () from /usr/lib/libplasma.so.3 #27 0xb76b0e61 in ?? () from /usr/lib/libkdeinit4_krunner.so #28 0xb76b1732 in ?? () from /usr/lib/libkdeinit4_krunner.so #29 0xb76b17ce in ?? () from /usr/lib/libkdeinit4_krunner.so #30 0xb76b1ebd in kdemain () from /usr/lib/libkdeinit4_krunner.so #31 0x0804874b in _start ()