Bug 346329

Summary: KDE carch when resume from suspend
Product: [Plasma] Bluedevil Reporter: Jacek Pawlyta <cunio>
Component: daemonAssignee: David Rosca <nowrep>
Status: RESOLVED FIXED    
Severity: crash CC: antonfarygin, rdieter
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Delete adapter only after all devices from the adpater were removed
New crash information added by DrKonqi

Description Jacek Pawlyta 2015-04-18 07:30:12 UTC
Application: kded4 (4.14.6)
KDE Platform Version: 4.14.6
Qt Version: 4.8.6
Operating System: Linux 4.0.0-1.fc22.x86_64 x86_64
Distribution: "Fedora release 21 (Twenty One)"

-- Information about the crash:
- What I was doing when the application crashed:
Two monitors system crash when resuming from suspend

Fedora 21, i915,

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

Thread 5 (Thread 0x7f801b78f700 (LWP 1714)):
#0  0x00007ffedefe0c86 in clock_gettime ()
#1  0x0000003f44b0e4ad in clock_gettime () at /lib64/libc.so.6
#2  0x0000003b342d3585 in qt_gettime() () at /lib64/libQtCore.so.4
#3  0x0000003b343b62d5 in QTimerInfoList::timerWait(timeval&) () at /lib64/libQtCore.so.4
#4  0x0000003b343b4b7c in timerSourcePrepareHelper(GTimerSource*, int*) () at /lib64/libQtCore.so.4
#5  0x0000003b343b4c45 in timerSourcePrepare(_GSource*, int*) () at /lib64/libQtCore.so.4
#6  0x0000003f466490fd in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#7  0x0000003f46649a5b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#8  0x0000003f46649c4c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#9  0x0000003b343b54be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#10 0x0000003b34384cc1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#11 0x0000003b34385025 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#12 0x0000003b34279b49 in QThread::exec() () at /lib64/libQtCore.so.4
#13 0x0000003b3427c3af in QThreadPrivate::start(void*) () at /lib64/libQtCore.so.4
#14 0x0000003f44e0752a in start_thread () at /lib64/libpthread.so.0
#15 0x0000003f44b0022d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f80111b8700 (LWP 1721)):
#0  0x0000003f466490db in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#1  0x0000003f46649a5b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x0000003f46649c4c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x0000003b343b54be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#4  0x0000003b34384cc1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#5  0x0000003b34385025 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#6  0x0000003b34279b49 in QThread::exec() () at /lib64/libQtCore.so.4
#7  0x0000003b34365623 in QInotifyFileSystemWatcherEngine::run() () at /lib64/libQtCore.so.4
#8  0x0000003b3427c3af in QThreadPrivate::start(void*) () at /lib64/libQtCore.so.4
#9  0x0000003f44e0752a in start_thread () at /lib64/libpthread.so.0
#10 0x0000003f44b0022d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f800a6a8700 (LWP 1769)):
#0  0x00007ffedefe0c86 in clock_gettime ()
#1  0x0000003f44b0e4ad in clock_gettime () at /lib64/libc.so.6
#2  0x0000003b342d3585 in qt_gettime() () at /lib64/libQtCore.so.4
#3  0x0000003b343b62d5 in QTimerInfoList::timerWait(timeval&) () at /lib64/libQtCore.so.4
#4  0x0000003b343b4b7c in timerSourcePrepareHelper(GTimerSource*, int*) () at /lib64/libQtCore.so.4
#5  0x0000003b343b4c45 in timerSourcePrepare(_GSource*, int*) () at /lib64/libQtCore.so.4
#6  0x0000003f466490fd in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#7  0x0000003f46649a5b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#8  0x0000003f46649c4c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#9  0x0000003b343b54be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#10 0x0000003b34384cc1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#11 0x0000003b34385025 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#12 0x0000003b34279b49 in QThread::exec() () at /lib64/libQtCore.so.4
#13 0x00007f801c063c47 in KCupsConnection::run() () at /lib64/libkcupslib.so
#14 0x0000003b3427c3af in QThreadPrivate::start(void*) () at /lib64/libQtCore.so.4
#15 0x0000003f44e0752a in start_thread () at /lib64/libpthread.so.0
#16 0x0000003f44b0022d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f8009ea7700 (LWP 1770)):
#0  0x0000003f44af4c8d in poll () at /lib64/libc.so.6
#1  0x0000003f46649b34 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x0000003f46649c4c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x0000003b343b54be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#4  0x0000003b34384cc1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#5  0x0000003b34385025 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#6  0x0000003b34279b49 in QThread::exec() () at /lib64/libQtCore.so.4
#7  0x0000003b3427c3af in QThreadPrivate::start(void*) () at /lib64/libQtCore.so.4
#8  0x0000003f44e0752a in start_thread () at /lib64/libpthread.so.0
#9  0x0000003f44b0022d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f802ada6880 (LWP 1710)):
[KCrash Handler]
#6  0x00007f80111cdbee in QMap<QString, BlueDevil::Device*>::detach_helper() () at /lib64/libbluedevil.so.2
#7  0x00007f80111cdd05 in QMap<QString, BlueDevil::Device*>::take(QString const&) () at /lib64/libbluedevil.so.2
#8  0x00007f80111cca4b in BlueDevil::Adapter::Private::_k_deviceRemoved(QString const&) () at /lib64/libbluedevil.so.2
#9  0x00007f80111c4c79 in BlueDevil::ManagerPrivate::_k_interfacesRemoved(QDBusObjectPath const&, QStringList const&) () at /lib64/libbluedevil.so.2
#10 0x0000003b3439acdc in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#11 0x00007f80111d20ea in OrgFreedesktopDBusObjectManagerInterface::InterfacesRemoved(QDBusObjectPath const&, QStringList const&) () at /lib64/libbluedevil.so.2
#12 0x00007f80111d22ba in OrgFreedesktopDBusObjectManagerInterface::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libbluedevil.so.2
#13 0x00007f80111d2433 in OrgFreedesktopDBusObjectManagerInterface::qt_metacall(QMetaObject::Call, int, void**) () at /lib64/libbluedevil.so.2
#14 0x0000003b35024696 in QDBusConnectionPrivate::deliverCall(QObject*, int, QDBusMessage const&, QList<int> const&, int) () at /lib64/libQtDBus.so.4
#15 0x0000003b3439f3d1 in QObject::event(QEvent*) () at /lib64/libQtCore.so.4
#16 0x00007f802c3b7efc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#17 0x00007f802c3be958 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#18 0x00007f802d12dc6a in KApplication::notify(QObject*, QEvent*) () at /lib64/libkdeui.so.5
#19 0x0000003b3438616d in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQtCore.so.4
#20 0x0000003b34389431 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQtCore.so.4
#21 0x0000003b343b532e in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQtCore.so.4
#22 0x0000003f466497fb in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#23 0x0000003f46649b98 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#24 0x0000003f46649c4c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#25 0x0000003b343b549e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#26 0x00007f802c45b176 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtGui.so.4
#27 0x0000003b34384cc1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#28 0x0000003b34385025 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#29 0x0000003b3438a709 in QCoreApplication::exec() () at /lib64/libQtCore.so.4
#30 0x00007f802da615d9 in kdemain () at /lib64/libkdeinit4_kded4.so
#31 0x0000003f44a1ffe0 in __libc_start_main () at /lib64/libc.so.6
#32 0x000000000040080e in _start ()

Reported using DrKonqi
Comment 1 David Rosca 2015-04-18 12:41:43 UTC
This should be fixed with http://quickgit.kde.org/?p=libbluedevil.git&a=commitdiff&h=c9c115146bcc55133c92087e081b9c1a13ca5e4d which is in libbluedevil 2.0 release. 
Fedora should have libbluedevil 2.1 in repo, can you please check your libbluedevil version?

Also it would be great if you can provide backtrace with debugging symbols.
In any case, please note that libbluedevil is now unmaintained.
Comment 2 Anton Farygin 2015-04-24 13:30:49 UTC
libbluedevil 2.1 in ALT linux Sisyphus (KDE 4.14.7). your commit is present in our libbluedevil build, but kded4 and bluedevil segfault:

--------------------------------------------------------------------------
Application: Bluetooth (bluedevil-monolithic), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[KCrash Handler]
#6  ref (this=0x0) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#7  QString (other=..., this=0x815870) at /usr/include/qt4/QtCore/qstring.h:726
#8  node_create (this=0x80b958, avalue=@0x814d78: 0x813740, akey=..., aupdate=0x7fffae6e4440, adt=0x82afa0) at /usr/include/qt4/QtCore/qmap.h:456
#9  QMap<QString, BlueDevil::Device*>::detach_helper (this=this@entry=0x80b958) at /usr/include/qt4/QtCore/qmap.h:764
#10 0x00007fabde5c2d3e in detach (this=0x80b958) at /usr/include/qt4/QtCore/qmap.h:205
#11 take (akey=..., this=0x80b958) at /usr/include/qt4/QtCore/qmap.h:694
#12 BlueDevil::Adapter::Private::_k_deviceRemoved (this=0x80b940, objectPath=...) at /usr/src/debug/libbluedevil-2.1/bluedevil/bluedeviladapter.cpp:77
#13 0x00007fabde5bae08 in BlueDevil::ManagerPrivate::_k_interfacesRemoved (this=0x803940, objectPath=..., interfaces=...) at /usr/src/debug/libbluedevil-2.1/bluedevil/bluedevilmanager_p.cpp:182
#14 0x00007fabdcfa3a23 in QMetaObject::activate (sender=0x80b520, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffae6e4780) at kernel/qobject.cpp:3564
#15 0x00007fabde5c8379 in InterfacesRemoved (_t2=..., _t1=..., this=0x80b520) at /usr/src/debug/libbluedevil-2.1/BUILD-x86_64-alt-linux/bluedevil/dbusobjectmanager.moc:116
#16 OrgFreedesktopDBusObjectManagerInterface::qt_static_metacall (_o=0x80b520, _c=<optimized out>, _id=<optimized out>, _a=0x7fffae6e48e0) at /usr/src/debug/libbluedevil-2.1/BUILD-x86_64-alt-linux/bluedevil/dbusobjectmanager.moc:58
#17 0x00007fabde5c8723 in OrgFreedesktopDBusObjectManagerInterface::qt_metacall (this=0x80b520, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffae6e48e0) at /usr/src/debug/libbluedevil-2.1/BUILD-x86_64-alt-linux/bluedevil/dbusobjectmanager.moc:99
#18 0x00007fabdd2f130c in QDBusConnectionPrivate::deliverCall (this=0x8071f0, object=0x80b520, msg=..., metaTypes=..., slotIdx=6) at qdbusintegrator.cpp:951
#19 0x00007fabdcfa724a in QObject::event (this=0x80b520, e=<optimized out>) at kernel/qobject.cpp:1219
#20 0x00007fabddbd0c7c in QApplicationPrivate::notify_helper (this=this@entry=0x6541a0, receiver=receiver@entry=0x80b520, e=e@entry=0x81a240) at kernel/qapplication.cpp:4565
#21 0x00007fabddbd6afc in QApplication::notify (this=0x7fffae6e4fb0, receiver=0x80b520, e=0x81a240) at kernel/qapplication.cpp:4351
#22 0x00007fabdea18aea in KApplication::notify (this=0x7fffae6e4fb0, receiver=0x80b520, event=0x81a240) at /usr/src/debug/kdelibs-4.14.7/kdeui/kernel/kapplication.cpp:311
#23 0x00007fabdcf91a6d in QCoreApplication::notifyInternal (this=0x7fffae6e4fb0, receiver=0x80b520, event=0x81a240) at kernel/qcoreapplication.cpp:953
#24 0x00007fabdcf93f5d in sendEvent (event=0x81a240, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#25 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x61f3a0) at kernel/qcoreapplication.cpp:1574
#26 0x00007fabdcfb936e in sendPostedEvents () at kernel/qcoreapplication.h:236
#27 postEventSourceDispatch (s=0x64cf80) at kernel/qeventdispatcher_glib.cpp:300
#28 0x00007fabd9518ccd in g_main_dispatch (context=0x654410) at gmain.c:3122
#29 g_main_context_dispatch (context=context@entry=0x654410) at gmain.c:3737
#30 0x00007fabd9518f78 in g_main_context_iterate (context=context@entry=0x654410, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3808
#31 0x00007fabd951901c in g_main_context_iteration (context=0x654410, may_block=1) at gmain.c:3869
#32 0x00007fabdcfb94be in QEventDispatcherGlib::processEvents (this=0x623e60, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#33 0x00007fabddc5caf6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007fabdcf90891 in QEventLoop::processEvents (this=this@entry=0x7fffae6e4ee0, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007fabdcf90b6e in QEventLoop::exec (this=0x7fffae6e4ee0, flags=...) at kernel/qeventloop.cpp:200
#36 0x00007fabdcf9510e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#37 0x0000000000404867 in main (argc=1, argv=0x7fffae6e50e8) at /usr/src/debug/bluedevil-2.1.0/src/monolithic/main.cpp:41
------------------------------------------------------------------
Application: Служба KDE (kded4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7fe90d3b5840 (LWP 13811))]

Thread 5 (Thread 0x7fe8ee50e700 (LWP 13817)):
#0  0x00007fe90a8f290d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fe907835f14 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7fe8e8003490, timeout=-1, context=0x7fe8e80009d0) at gmain.c:4103
#2  g_main_context_iterate (context=context@entry=0x7fe8e80009d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3803
#3  0x00007fe90783601c in g_main_context_iteration (context=0x7fe8e80009d0, may_block=1) at gmain.c:3869
#4  0x00007fe90be0d4de in QEventDispatcherGlib::processEvents (this=0x7fe8e80008f0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#5  0x00007fe90bde4891 in QEventLoop::processEvents (this=this@entry=0x7fe8ee50dbb0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fe90bde4b6e in QEventLoop::exec (this=0x7fe8ee50dbb0, flags=...) at kernel/qeventloop.cpp:200
#7  0x00007fe90bd00dc9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#8  0x00007fe90bdcb9b0 in QInotifyFileSystemWatcherEngine::run (this=0xa217e0) at io/qfilesystemwatcher_inotify.cpp:265
#9  0x00007fe90bd031e1 in QThreadPrivate::start (arg=0xa217e0) at thread/qthread_unix.cpp:349
#10 0x00007fe8fc27b754 in ?? () from /usr/lib64/libGL.so.1
#11 0x00007fe90ba77f9f in start_thread (arg=0x7fe8ee50e700) at pthread_create.c:308
#12 0x00007fe90a8fc25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7fe8df02c700 (LWP 13832)):
#0  0x00007fe90ba7afdf in __pthread_mutex_unlock_usercnt (mutex=0x7fe8fc4d8a40, decr=<optimized out>) at pthread_mutex_unlock.c:52
#1  0x00007fe8fc27574b in ?? () from /usr/lib64/libGL.so.1
#2  0x00007fe8fc27a7aa in ?? () from /usr/lib64/libGL.so.1
#3  0x00007fe8fbb47bf7 in ?? () from /usr/lib64/libnvidia-tls.so.304.125
#4  0x00007fe907877d10 in read (__nbytes=16, __buf=0x7fe8df02bb90, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#5  g_wakeup_acknowledge (wakeup=0xd291c0) at gwakeup.c:210
#6  0x00007fe907835a1c in g_main_context_check (context=context@entry=0xd2a3c0, max_priority=2147483647, fds=fds@entry=0x7fe8cc0010f0, n_fds=n_fds@entry=1) at gmain.c:3600
#7  0x00007fe907835eb8 in g_main_context_iterate (context=0xd2a3c0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3805
#8  0x00007fe907836292 in g_main_loop_run (loop=0xd2a380) at gmain.c:4002
#9  0x00007fe8df3115a6 in gdbus_shared_thread_func (user_data=0xc0a250) at gdbusprivate.c:274
#10 0x00007fe90785bd45 in g_thread_proxy (data=0xd42450) at gthread.c:764
#11 0x00007fe8fc27b754 in ?? () from /usr/lib64/libGL.so.1
#12 0x00007fe90ba77f9f in start_thread (arg=0x7fe8df02c700) at pthread_create.c:308
#13 0x00007fe90a8fc25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7fe8de61f700 (LWP 13833)):
#0  0x00007fe907879102 in g_mutex_unlock (mutex=0x7fe8c40009d0) at gthread-posix.c:1345
#1  0x00007fe907835f09 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7fe8c40013e0, timeout=-1, context=0x7fe8c40009d0) at gmain.c:4102
#2  g_main_context_iterate (context=context@entry=0x7fe8c40009d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3803
#3  0x00007fe90783601c in g_main_context_iteration (context=0x7fe8c40009d0, may_block=1) at gmain.c:3869
#4  0x00007fe90be0d4de in QEventDispatcherGlib::processEvents (this=0x7fe8c40008f0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#5  0x00007fe90bde4891 in QEventLoop::processEvents (this=this@entry=0x7fe8de61ebb0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fe90bde4b6e in QEventLoop::exec (this=0x7fe8de61ebb0, flags=...) at kernel/qeventloop.cpp:200
#7  0x00007fe90bd00dc9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#8  0x00007fe8f067fbe7 in KCupsConnection::run() () from /usr/lib64/libkcupslib.so
#9  0x00007fe90bd031e1 in QThreadPrivate::start (arg=0x9faa10) at thread/qthread_unix.cpp:349
#10 0x00007fe8fc27b754 in ?? () from /usr/lib64/libGL.so.1
#11 0x00007fe90ba77f9f in start_thread (arg=0x7fe8de61f700) at pthread_create.c:308
#12 0x00007fe90a8fc25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7fe8dde1e700 (LWP 13834)):
#0  0x00007ffe31bb8ab7 in clock_gettime ()
#1  0x00007fe90a90e17d in clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007fe90bd4f325 in do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0x00007fe90be0e3f5 in updateCurrentTime (this=0x7fe8c8002ee0) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0x7fe8c8002ee0, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0x00007fe90be0cc5c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7fe8dde1da24) at kernel/qeventdispatcher_glib.cpp:143
#7  0x00007fe90be0cd05 in timerSourcePrepare (source=<optimized out>, timeout=timeout@entry=0x7fe8dde1da24) at kernel/qeventdispatcher_glib.cpp:176
#8  0x00007fe9078354fd in g_main_context_prepare (context=context@entry=0x7fe8c80009d0, priority=priority@entry=0x7fe8dde1daa8) at gmain.c:3410
#9  0x00007fe907835e40 in g_main_context_iterate (context=context@entry=0x7fe8c80009d0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3788
#10 0x00007fe90783601c in g_main_context_iteration (context=0x7fe8c80009d0, may_block=1) at gmain.c:3869
#11 0x00007fe90be0d4de in QEventDispatcherGlib::processEvents (this=0x7fe8c80008f0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#12 0x00007fe90bde4891 in QEventLoop::processEvents (this=this@entry=0x7fe8dde1dbf0, flags=...) at kernel/qeventloop.cpp:149
#13 0x00007fe90bde4b6e in QEventLoop::exec (this=0x7fe8dde1dbf0, flags=...) at kernel/qeventloop.cpp:200
#14 0x00007fe90bd00dc9 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#15 0x00007fe90bd031e1 in QThreadPrivate::start (arg=0x9a9800) at thread/qthread_unix.cpp:349
#16 0x00007fe8fc27b754 in ?? () from /usr/lib64/libGL.so.1
#17 0x00007fe90ba77f9f in start_thread (arg=0x7fe8dde1e700) at pthread_create.c:308
#18 0x00007fe90a8fc25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7fe90d3b5840 (LWP 13811)):
[KCrash Handler]
#6  detach (this=0x18) at /usr/include/qt4/QtCore/qmap.h:205
#7  take (akey=..., this=0x18) at /usr/include/qt4/QtCore/qmap.h:694
#8  BlueDevil::Adapter::Private::_k_deviceRemoved (this=0x0, objectPath=...) at /usr/src/debug/libbluedevil-2.1/bluedevil/bluedeviladapter.cpp:77
#9  0x00007fe8ee519e08 in BlueDevil::ManagerPrivate::_k_interfacesRemoved (this=0xa128b0, objectPath=..., interfaces=...) at /usr/src/debug/libbluedevil-2.1/bluedevil/bluedevilmanager_p.cpp:182
#10 0x00007fe90bdf7a23 in QMetaObject::activate (sender=0x644e50, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7ffe31a2bd50) at kernel/qobject.cpp:3564
#11 0x00007fe8ee527379 in InterfacesRemoved (_t2=..., _t1=..., this=0x644e50) at /usr/src/debug/libbluedevil-2.1/BUILD-x86_64-alt-linux/bluedevil/dbusobjectmanager.moc:116
#12 OrgFreedesktopDBusObjectManagerInterface::qt_static_metacall (_o=0x644e50, _c=<optimized out>, _id=<optimized out>, _a=0x7ffe31a2beb0) at /usr/src/debug/libbluedevil-2.1/BUILD-x86_64-alt-linux/bluedevil/dbusobjectmanager.moc:58
#13 0x00007fe8ee527723 in OrgFreedesktopDBusObjectManagerInterface::qt_metacall (this=0x644e50, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7ffe31a2beb0) at /usr/src/debug/libbluedevil-2.1/BUILD-x86_64-alt-linux/bluedevil/dbusobjectmanager.moc:99
#14 0x00007fe908d1030c in QDBusConnectionPrivate::deliverCall (this=0x9edeb0, object=0x644e50, msg=..., metaTypes=..., slotIdx=6) at qdbusintegrator.cpp:951
#15 0x00007fe90bdfb24a in QObject::event (this=0x644e50, e=<optimized out>) at kernel/qobject.cpp:1219
#16 0x00007fe90b090c7c in QApplicationPrivate::notify_helper (this=this@entry=0x7b0af0, receiver=receiver@entry=0x644e50, e=e@entry=0x9a8210) at kernel/qapplication.cpp:4565
#17 0x00007fe90b096afc in QApplication::notify (this=0x7ffe31a2c5c0, receiver=0x644e50, e=0x9a8210) at kernel/qapplication.cpp:4351
#18 0x00007fe90cd9faea in KApplication::notify (this=0x7ffe31a2c5c0, receiver=0x644e50, event=0x9a8210) at /usr/src/debug/kdelibs-4.14.7/kdeui/kernel/kapplication.cpp:311
#19 0x00007fe90bde5a6d in QCoreApplication::notifyInternal (this=0x7ffe31a2c5c0, receiver=0x644e50, event=0x9a8210) at kernel/qcoreapplication.cpp:953
#20 0x00007fe90bde7f5d in sendEvent (event=0x9a8210, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#21 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x61bff0) at kernel/qcoreapplication.cpp:1574
#22 0x00007fe90be0d36e in sendPostedEvents () at kernel/qcoreapplication.h:236
#23 postEventSourceDispatch (s=0x7b0e40) at kernel/qeventdispatcher_glib.cpp:300
#24 0x00007fe907835ccd in g_main_dispatch (context=0x7b0d00) at gmain.c:3122
#25 g_main_context_dispatch (context=context@entry=0x7b0d00) at gmain.c:3737
#26 0x00007fe907835f78 in g_main_context_iterate (context=context@entry=0x7b0d00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3808
#27 0x00007fe90783601c in g_main_context_iteration (context=0x7b0d00, may_block=1) at gmain.c:3869
#28 0x00007fe90be0d4be in QEventDispatcherGlib::processEvents (this=0x621760, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#29 0x00007fe90b11caf6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007fe90bde4891 in QEventLoop::processEvents (this=this@entry=0x7ffe31a2c4b0, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007fe90bde4b6e in QEventLoop::exec (this=0x7ffe31a2c4b0, flags=...) at kernel/qeventloop.cpp:200
#32 0x00007fe90bde910e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#33 0x00007fe8f7f0b0c6 in kdemain (argc=1, argv=0x761aa0) at /usr/src/debug/kdelibs-4.14.7/kded/kded.cpp:940
#34 0x0000000000408d27 in launch (argc=argc@entry=1, _name=_name@entry=0x40b984 "kded4", args=<optimized out>, args@entry=0x0, cwd=cwd@entry=0x0, envc=envc@entry=0, envs=<optimized out>, envs@entry=0x0, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40b813 "0") at /usr/src/debug/kdelibs-4.14.7/kinit/kinit.cpp:874
#35 0x0000000000406165 in main (argc=4, argv=<optimized out>, envp=0x7ffe31a2d110) at /usr/src/debug/kdelibs-4.14.7/kinit/kinit.cpp:1991
Comment 3 Anton Farygin 2015-04-24 13:42:14 UTC
bluedevil segfault comes if bluetooth subsystem is connected to a2dp (for me) and if i will remove bluetooth adapter (in suspend, for example)
Comment 4 Rex Dieter 2015-04-27 03:16:20 UTC
fyi, latest fedora 21 bluedevil in updates is:
https://admin.fedoraproject.org/updates/FEDORA-2015-2297/bluedevil-2.1-4.fc21
Comment 5 David Rosca 2015-04-27 09:11:09 UTC
Created attachment 92258 [details]
Delete adapter only after all devices from the adpater were removed

Can you please test this patch for libbluedevil?
Comment 6 Anton Farygin 2015-04-27 12:36:20 UTC
Hello, David. Your patch helped me to solve my problem.
Thanks.
I removed USB Bluetooth dongle many times and kded/bluedevil did not crash.
Comment 7 David Rosca 2015-04-27 15:48:58 UTC
Git commit c0e1a66d58c90cc3eb80762dec1a3ba5aff7999e by David Rosca.
Committed on 27/04/2015 at 15:48.
Pushed by drosca into branch 'frameworks'.

Delete adapter only after all devices from the adapter were removed

M  +4    -1    bluedevil/bluedevilmanager_p.cpp

http://commits.kde.org/libbluedevil/c0e1a66d58c90cc3eb80762dec1a3ba5aff7999e
Comment 8 David Rosca 2015-04-27 15:48:59 UTC
Git commit a316b2a48d0ad0a6e3ee7ec90a74bc771f4e3c46 by David Rosca.
Committed on 27/04/2015 at 15:46.
Pushed by drosca into branch 'master'.

Delete adapter only after all devices from the adapter were removed

M  +4    -1    bluedevil/bluedevilmanager_p.cpp

http://commits.kde.org/libbluedevil/a316b2a48d0ad0a6e3ee7ec90a74bc771f4e3c46
Comment 9 David Rosca 2015-04-27 15:51:13 UTC
I have pushed the fix, but as I already said, libbluedevil is now unmaintained so there won't be any new releases (which would contain this fix).
Comment 10 Rex Dieter 2015-05-05 13:42:32 UTC
Created attachment 92433 [details]
New crash information added by DrKonqi

kded4 (4.14.7) on KDE Platform 4.14.7 using Qt 4.8.6

Saw a similar crash on resume today (though strictly not exactly the same).

-- Backtrace (Reduced):
#5  check_parent_thread (parent=parent@entry=0x7e48b0, parentThreadData=<optimized out>, currentThreadData=<optimized out>) at kernel/qobject.cpp:723
#6  0x00007f16ff442758 in check_parent_thread (currentThreadData=<optimized out>, parentThreadData=<optimized out>, parent=0x7e48b0) at kernel/qobject.cpp:765
#7  QObject::QObject (this=0xe613e0, parent=0x7e48b0) at kernel/qobject.cpp:756
#8  0x00007f16d29582bb in BlueDevil::Device::Device (this=0xe613e0, path=..., adapter=0x7e48b0) at /usr/src/debug/libbluedevil-2.1/bluedevil/bluedevildevice.cpp:142
#9  0x00007f16d2955555 in BlueDevil::Adapter::addDevice (this=this@entry=0x7e48b0, objectPath=...) at /usr/src/debug/libbluedevil-2.1/bluedevil/bluedeviladapter.cpp:287
Comment 11 David Rosca 2015-05-05 15:08:26 UTC
Git commit 07c9fb915e1532fb11a4f03020a15fbe6d3f493a by David Rosca.
Committed on 05/05/2015 at 15:08.
Pushed by drosca into branch 'frameworks'.

Only delete adapter when removed from m_adapters hash

M  +5    -1    bluedevil/bluedevilmanager_p.cpp

http://commits.kde.org/libbluedevil/07c9fb915e1532fb11a4f03020a15fbe6d3f493a
Comment 12 David Rosca 2015-05-05 15:08:26 UTC
Git commit 241d21361a677fa44b3bd0c53e65f12cd23c5ba3 by David Rosca.
Committed on 05/05/2015 at 15:07.
Pushed by drosca into branch 'master'.

Only delete adapter when removed from m_adapters hash

M  +5    -1    bluedevil/bluedevilmanager_p.cpp

http://commits.kde.org/libbluedevil/241d21361a677fa44b3bd0c53e65f12cd23c5ba3
Comment 13 Rex Dieter 2015-05-05 18:04:52 UTC
Thanks!
Comment 14 David Rosca 2015-05-05 18:05:47 UTC
Hope it's a correct fix this time.