Bug 340577

Summary: bluetooth - kded crash on system resume
Product: [Frameworks and Libraries] solid Reporter: Christoph Obexer <cobexer>
Component: bluetooth-daemonAssignee: David Rosca <nowrep>
Status: RESOLVED FIXED    
Severity: crash CC: alexandre.nunes, ildjarn.is.dead, kodos, nowrep
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Check for null adapter when device was removed

Description Christoph Obexer 2014-11-02 16:25:25 UTC
Application: kded4 (4.14.2)
KDE Platform Version: 4.14.2
Qt Version: 4.8.6
Operating System: Linux 3.17.1-1.g5c4d099-desktop x86_64
Distribution: "openSUSE 20141029 (Harlequin) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
wake system from suspend to ram (bluetooth adapter was connected before suspending, and still connected during/after resuming the system)

the other bug is probably the same except that I don't understand french...

The crash can be reproduced every time.

-- Backtrace:
Application: KDE-Dienst (kded4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa08bcda780 (LWP 1710))]

Thread 2 (Thread 0x7fa06630c700 (LWP 1762)):
#0  0x00007fa0893094ad in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fa08641bbe4 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7fa050003260, timeout=-1, context=0x7fa0500009a0) at gmain.c:4076
#2  g_main_context_iterate (context=context@entry=0x7fa0500009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3776
#3  0x00007fa08641bcec in g_main_context_iteration (context=0x7fa0500009a0, may_block=1) at gmain.c:3842
#4  0x00007fa08a95f0de in QEventDispatcherGlib::processEvents (this=0x7fa0500008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#5  0x00007fa08a930e6f in QEventLoop::processEvents (this=this@entry=0x7fa06630be20, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fa08a931165 in QEventLoop::exec (this=this@entry=0x7fa06630be20, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007fa08a82e0bf in QThread::exec (this=this@entry=0x1747e10) at thread/qthread.cpp:538
#8  0x00007fa08a912783 in QInotifyFileSystemWatcherEngine::run (this=0x1747e10) at io/qfilesystemwatcher_inotify.cpp:265
#9  0x00007fa08a83079f in QThreadPrivate::start (arg=0x1747e10) at thread/qthread_unix.cpp:349
#10 0x00007fa08a59b3a4 in start_thread (arg=0x7fa06630c700) at pthread_create.c:310
#11 0x00007fa089311a4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fa08bcda780 (LWP 1710)):
[KCrash Handler]
#6  BlueDevil::Adapter::removeDevice (this=0x0, objectPath=...) at /usr/src/debug/libbluedevil-2.0-rc1/bluedevil/bluedeviladapter.cpp:283
#7  0x00007fa06df7480f in BlueDevil::ManagerPrivate::_k_interfacesRemoved (this=0x1668f70, objectPath=..., interfaces=...) at /usr/src/debug/libbluedevil-2.0-rc1/bluedevil/bluedevilmanager_p.cpp:178
#8  0x00007fa08a9461fa in QMetaObject::activate (sender=0x16655f0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff0c354710) at kernel/qobject.cpp:3576
#9  0x00007fa06df82051 in InterfacesRemoved (_t2=..., _t1=..., this=<optimized out>) at /usr/src/debug/libbluedevil-2.0-rc1/build/bluedevil/dbusobjectmanager.moc:116
#10 OrgFreedesktopDBusObjectManagerInterface::qt_static_metacall (_o=0x16655f0, _c=204817648, _id=1844997797, _a=0x7fff0c354900) at /usr/src/debug/libbluedevil-2.0-rc1/build/bluedevil/dbusobjectmanager.moc:58
#11 0x00007fa06df82403 in OrgFreedesktopDBusObjectManagerInterface::qt_metacall (this=0x16655f0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fff0c354900) at /usr/src/debug/libbluedevil-2.0-rc1/build/bluedevil/dbusobjectmanager.moc:99
#12 0x00007fa08768bd4d in QDBusConnectionPrivate::deliverCall (this=0x13d1f80, object=0x16655f0, msg=..., metaTypes=..., slotIdx=6) at qdbusintegrator.cpp:951
#13 0x00007fa08a94a59e in QObject::event (this=0x16655f0, e=<optimized out>) at kernel/qobject.cpp:1231
#14 0x00007fa089aaf76c in QApplicationPrivate::notify_helper (this=this@entry=0x13c7640, receiver=receiver@entry=0x16655f0, e=e@entry=0x1772070) at kernel/qapplication.cpp:4565
#15 0x00007fa089ab5cad in QApplication::notify (this=this@entry=0x7fff0c3550d0, receiver=receiver@entry=0x16655f0, e=e@entry=0x1772070) at kernel/qapplication.cpp:4351
#16 0x00007fa08b6d5bda in KApplication::notify (this=0x7fff0c3550d0, receiver=0x16655f0, event=0x1772070) at /usr/src/debug/kdelibs-4.14.2/kdeui/kernel/kapplication.cpp:311
#17 0x00007fa08a9322ad in QCoreApplication::notifyInternal (this=0x7fff0c3550d0, receiver=receiver@entry=0x16655f0, event=event@entry=0x1772070) at kernel/qcoreapplication.cpp:953
#18 0x00007fa08a93557d in sendEvent (event=0x1772070, receiver=0x16655f0) at kernel/qcoreapplication.h:231
#19 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1340490) at kernel/qcoreapplication.cpp:1577
#20 0x00007fa08a935a23 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#21 0x00007fa08a95f8fe in sendPostedEvents () at kernel/qcoreapplication.h:236
#22 postEventSourceDispatch (s=0x13c5f40) at kernel/qeventdispatcher_glib.cpp:300
#23 0x00007fa08641ba04 in g_main_dispatch (context=0x13c7850) at gmain.c:3111
#24 g_main_context_dispatch (context=context@entry=0x13c7850) at gmain.c:3710
#25 0x00007fa08641bc48 in g_main_context_iterate (context=context@entry=0x13c7850, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3781
#26 0x00007fa08641bcec in g_main_context_iteration (context=0x13c7850, may_block=1) at gmain.c:3842
#27 0x00007fa08a95f0be in QEventDispatcherGlib::processEvents (this=0x13d4610, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#28 0x00007fa089b4c676 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#29 0x00007fa08a930e6f in QEventLoop::processEvents (this=this@entry=0x7fff0c354fa0, flags=...) at kernel/qeventloop.cpp:149
#30 0x00007fa08a931165 in QEventLoop::exec (this=this@entry=0x7fff0c354fa0, flags=...) at kernel/qeventloop.cpp:204
#31 0x00007fa08a9365b9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#32 0x00007fa089aadf3c in QApplication::exec () at kernel/qapplication.cpp:3823
#33 0x00007fa07530932b in kdemain (argc=1, argv=0x13b7870) at /usr/src/debug/kdelibs-4.14.2/kded/kded.cpp:940
#34 0x0000000000408815 in launch (argc=argc@entry=1, _name=_name@entry=0x40b177 "kded4", args=args@entry=0x0, cwd=cwd@entry=0x0, envc=envc@entry=0, envs=<optimized out>, envs@entry=0x0, reset_env=reset_env@entry=false, tty=tty@entry=0x0, avoid_loops=avoid_loops@entry=false, startup_id_str=startup_id_str@entry=0x40b006 "0") at /usr/src/debug/kdelibs-4.14.2/kinit/kinit.cpp:726
#35 0x0000000000405f7a in main (argc=4, argv=<optimized out>, envp=0x7fff0c355830) at /usr/src/debug/kdelibs-4.14.2/kinit/kinit.cpp:1841

The reporter indicates this bug may be a duplicate of or related to bug 340422.

Possible duplicates by query: bug 340422.

also this version of KDE is missing in the version list
Comment 1 David Rosca 2014-11-12 12:39:52 UTC
Created attachment 89552 [details]
Check for null adapter when device was removed

Can you please try the attached patch?
Comment 2 David Rosca 2014-11-12 12:43:33 UTC
*** Bug 340422 has been marked as a duplicate of this bug. ***
Comment 3 David Rosca 2014-11-12 12:44:18 UTC
*** Bug 340859 has been marked as a duplicate of this bug. ***
Comment 4 David Rosca 2014-11-12 13:08:09 UTC
*** Bug 337696 has been marked as a duplicate of this bug. ***
Comment 5 David Rosca 2014-11-14 10:20:34 UTC
Git commit c9c115146bcc55133c92087e081b9c1a13ca5e4d by David Rosca.
Committed on 14/11/2014 at 09:58.
Pushed by drosca into branch 'master'.

Check adapter for nullptr in interfacesAdded/interfacesRemoved slots

M  +8    -4    bluedevil/bluedevilmanager_p.cpp

http://commits.kde.org/libbluedevil/c9c115146bcc55133c92087e081b9c1a13ca5e4d
Comment 6 Christoph Obexer 2014-11-23 23:16:36 UTC
just verified that the fix is working, and it does!

thanks (and sorry for the late response)