Summary: | BluezDevil crash, invalid D-Bus path "" | ||
---|---|---|---|
Product: | [Unmaintained] solid | Reporter: | Christoph Feck <cfeck> |
Component: | bluetooth | Assignee: | Alex Fiestas <afiestas> |
Status: | RESOLVED WAITINGFORINFO | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Unspecified | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Proposed patch |
Description
Christoph Feck
2010-04-16 01:25:34 UTC
Created attachment 42819 [details]
Proposed patch
I've not been able to reproduce the bug in my computer. Please, confirm me that you have a bluetooth adapter in your computer (which probably is the case, because online() function is being called). If so, the problem is probably that you have a bluetooth adapter but it's not configured as being the default one - which shouldn't be crashing (I've tested that usecase in my PC but it doesn't seem to crash like yours).
I've created the attached patch that will let us know, please apply it in kdereview/bluedevil/src/daemon/kded and tell me what happens.
I replaced "isNull" with "isEmpty", and no longer got a crash, thanks. If the default interface/path is read from some configuration file, it is probably wise to apply some more sanity checks to ensure no invalid path is passed to D-Bus functions. Maybe Qt has some isValid() functions ... Additional note: I did not configure anything, but just started with an empty .kde when I got the crash. I also don't know if my computer has bluetooth devices, how can I check? lspci does not list it. SVN commit 1120164 by edulix: BUG:234498 CCMAIL:alex@eyeos.org M +14 -2 BlueDevilDaemon.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1120164 Unfortunately, the proposed patch and the committed patch differ, and I (still) get the following crash after updating to kdereview r1122275. QDBusObjectPath: invalid path "" [New Thread 0xb41c8b70 (LWP 7855)] QDBusObjectPath: invalid path "" process 7850: arguments to dbus_message_new_method_call() were incorrect, assertion "_dbus_check_is_valid_path (path)" failed in file dbus-message.c line 1078. This is normally a bug in some application using the D-Bus library. D-Bus not built with -rdynamic so unable to print a backtrace Program received signal SIGABRT, Aborted. [Switching to Thread 0xb41c8b70 (LWP 7855)] 0xffffe424 in __kernel_vsyscall () (gdb) bt #0 0xffffe424 in __kernel_vsyscall () #1 0xb64080cf in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #2 0xb64099e7 in abort () at abort.c:88 #3 0xb5a6e6f5 in _dbus_abort () at dbus-sysdeps.c:88 #4 0xb5a69da1 in _dbus_warn_check_failed (format= 0xb5a77f00 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at dbus-internals.c:283 #5 0xb5a5d79c in dbus_message_new_method_call (destination=0x8185020 "org.bluez", path=0xb6acf3a8 "", interface=0x8187270 "org.freedesktop.DBus.Introspectable", method=0x81850d8 "Introspect") at dbus-message.c:1075 #6 0xb6afb676 in q_dbus_message_new_method_call (method=0x81850d8 "Introspect", interface=0x8187270 "org.freedesktop.DBus.Introspectable", path=0xb6acf3a8 "", bus_name=0x8185020 "org.bluez") at /local/git/Qt/qt/src/dbus/qdbus_symbols_p.h:264 #7 QDBusMessagePrivate::toDBusMessage (method=0x81850d8 "Introspect", interface=0x8187270 "org.freedesktop.DBus.Introspectable", path=0xb6acf3a8 "", bus_name=0x8185020 "org.bluez") at /local/git/Qt/qt/src/dbus/qdbusmessage.cpp:133 #8 0xb6af36d1 in QDBusConnectionPrivate::sendWithReply (this=0x8160850, message=..., sendMode=1, timeout=-1) at /local/git/Qt/qt/src/dbus/qdbusintegrator.cpp:1801 #9 0xb6af45aa in QDBusConnectionPrivate::findMetaObject (this=0x8160850, service=..., path=..., interface=..., error=...) at /local/git/Qt/qt/src/dbus/qdbusintegrator.cpp:2277 #10 0xb6b0521f in QDBusInterfacePrivate::QDBusInterfacePrivate (this=0x8186e98, serv=..., p=..., iface=..., con=...) at /local/git/Qt/qt/src/dbus/qdbusinterface.cpp:158 #11 0xb6b0535f in QDBusInterface::QDBusInterface (this=0x81854c8, service=..., path=..., interface=..., connection=..., parent=0x0) at /local/git/Qt/qt/src/dbus/qdbusinterface.cpp:220 #12 0xb41d7073 in BluezBluetoothInterfacePrivate::BluezBluetoothInterfacePrivate (this=0x81854c8, objPath=...) at /local/svn/kde/trunk/KDE/kdebase/workspace/solid/bluez/bluez-bluetoothinterface.cpp:41 #13 0xb41d3dc8 in BluezBluetoothInterface::BluezBluetoothInterface (this=0x8186dc0, objectPath=...) at /local/svn/kde/trunk/KDE/kdebase/workspace/solid/bluez/bluez-bluetoothinterface.cpp:53 #14 0xb41d1ba1 in BluezBluetoothManager::createInterface (this=0x8180eb8, ubi=...) at /local/svn/kde/trunk/KDE/kdebase/workspace/solid/bluez/bluez-bluetoothmanager.cpp:130 #15 0xb43179d1 in Solid::Control::BluetoothManagerPrivate::findRegisteredBluetoothInterface (this=0x81802a8, ubi=...) at /local/svn/kde/trunk/KDE/kdebase/workspace/libs/solid/control/bluetoothmanager.cpp:364 #16 0xb43172a0 in Solid::Control::BluetoothManager::findBluetoothInterface (this=0x817f640, ubi=...) at /local/svn/kde/trunk/KDE/kdebase/workspace/libs/solid/control/bluetoothmanager.cpp:155 #17 0xb43133e5 in Solid::Control::BluetoothInterface::BluetoothInterface (this=0x8186be8, ubi=...) at /local/svn/kde/trunk/KDE/kdebase/workspace/libs/solid/control/bluetoothinterface.cpp:69 #18 0xb41ecb5e in AgentListenerWorker::AgentListenerWorker (this=0x8185bc0, parent=0x817c890) at /local/svn/kde/trunk/kdereview/bluedevil/src/daemon/kded/agentlistenerworker.cpp:37 #19 0xb41ec9ea in AgentListener::run (this=0x8183258) at /local/svn/kde/trunk/kdereview/bluedevil/src/daemon/kded/agentlistener.cpp:36 #20 0xb68a95e9 in QThreadPrivate::start (arg=0x8183258) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:266 #21 0xb681a6e5 in start_thread (arg=0x0) at pthread_create.c:297 #22 0xb681a600 in ?? () at pthread_create.c:216 from /lib/libpthread.so.0 (gdb) quit BlueDevil is no longer in kdereview. I will check if the version from git still has the issue. |