Bug 308324

Summary: Crash on disabling bluetooth interface
Product: [Frameworks and Libraries] solid Reporter: auxsvr
Component: bluetoothAssignee: Alex Fiestas <afiestas>
Status: RESOLVED FIXED    
Severity: crash CC: auxsvr, woskimi
Priority: NOR    
Version: 4.9.2   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi

Description auxsvr 2012-10-13 13:43:52 UTC
Application: kded4 ($Id$)
KDE Platform Version: 4.9.2 "release 511"
Qt Version: 4.8.3
Operating System: Linux 3.6.0-1-desktop i686
Distribution: "openSUSE 12.1 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:

I was trying to transfer some photographs from a cell-phone via bluetooth. File transfer was working fine for the first dozen, and stalled on the 13th. Afterwards, I disabled the bluetooth interface, then enabled it again and kded crashed in the mean time.

The crash can be reproduced some of the time.

-- Backtrace:
Application: KDE Daemon (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb56e7710 (LWP 2600))]

Thread 4 (Thread 0xaf0b6b70 (LWP 2629)):
#0  0xb6c1529f in __i686.get_pc_thunk.bx () from /lib/libpthread.so.0
#1  0xb6c18aaf in pthread_mutex_lock () from /lib/libpthread.so.0
#2  0xb595ecf7 in g_main_context_release () from /usr/lib/libglib-2.0.so.0
#3  0xb59604f6 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb596081a in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb6de3097 in QEventDispatcherGlib::processEvents (this=0xae700468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb6daed1d in QEventLoop::processEvents (this=0xaf0b6280, flags=...) at kernel/qeventloop.cpp:149
#7  0xb6daefb9 in QEventLoop::exec (this=0xaf0b6280, flags=...) at kernel/qeventloop.cpp:204
#8  0xb6c96e1c in QThread::exec (this=0xa0d8da8) at thread/qthread.cpp:501
#9  0xb6d8bf3d in QInotifyFileSystemWatcherEngine::run (this=0xa0d8da8) at io/qfilesystemwatcher_inotify.cpp:248
#10 0xb6c9a348 in QThreadPrivate::start (arg=0xa0d8da8) at thread/qthread_unix.cpp:338
#11 0xb6c16a7d in start_thread () from /lib/libpthread.so.0
#12 0xb5fa7abe in clone () from /lib/libc.so.6

Thread 3 (Thread 0xad677b70 (LWP 2651)):
#0  0xb5a18c90 in clock_gettime () from /lib/librt.so.1
#1  0xb6cf8d85 in do_gettime (frac=0xad676fe0, sec=0xad676fd8) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb6de39d6 in QTimerInfoList::updateCurrentTime (this=0xacd01abc) at kernel/qeventdispatcher_unix.cpp:343
#4  0xb6de3d3a in QTimerInfoList::timerWait (this=0xacd01abc, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#5  0xb6de2533 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xad6770ec) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb6de25cd in timerSourcePrepare (source=0xacd01a88, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb595f46c in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#8  0xb5960227 in ?? () from /usr/lib/libglib-2.0.so.0
#9  0xb596081a in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#10 0xb6de3097 in QEventDispatcherGlib::processEvents (this=0xacd00468, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#11 0xb6daed1d in QEventLoop::processEvents (this=0xad677280, flags=...) at kernel/qeventloop.cpp:149
#12 0xb6daefb9 in QEventLoop::exec (this=0xad677280, flags=...) at kernel/qeventloop.cpp:204
#13 0xb6c96e1c in QThread::exec (this=0xa31d638) at thread/qthread.cpp:501
#14 0xb6d8bf3d in QInotifyFileSystemWatcherEngine::run (this=0xa31d638) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb6c9a348 in QThreadPrivate::start (arg=0xa31d638) at thread/qthread_unix.cpp:338
#16 0xb6c16a7d in start_thread () from /lib/libpthread.so.0
#17 0xb5fa7abe in clone () from /lib/libc.so.6

Thread 2 (Thread 0xa2b91b70 (LWP 3675)):
#0  0xb5f9cbb4 in poll () from /lib/libc.so.6
#1  0xb596ef9b in g_poll () from /usr/lib/libglib-2.0.so.0
#2  0xb5960486 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb596081a in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb6de3097 in QEventDispatcherGlib::processEvents (this=0xacd01d40, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0xb6daed1d in QEventLoop::processEvents (this=0xa2b91290, flags=...) at kernel/qeventloop.cpp:149
#6  0xb6daefb9 in QEventLoop::exec (this=0xa2b91290, flags=...) at kernel/qeventloop.cpp:204
#7  0xb6c96e1c in QThread::exec (this=0xa4656e8) at thread/qthread.cpp:501
#8  0xaf3f6f17 in AgentListener::run (this=0xa4656e8) at /usr/src/debug/bluedevil-1.2.3/src/daemon/kded/agentlistener.cpp:39
#9  0xb6c9a348 in QThreadPrivate::start (arg=0xa4656e8) at thread/qthread_unix.cpp:338
#10 0xb6c16a7d in start_thread () from /lib/libpthread.so.0
#11 0xb5fa7abe in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb56e7710 (LWP 2600)):
[KCrash Handler]
#6  0xb6cb8adb in hash (n=<optimized out>, p=0x3) at tools/qhash.cpp:85
#7  qHash (key=...) at tools/qhash.cpp:99
#8  0xb0870d80 in QHash<QString, ObexSession*>::findNode (this=0xa089584, akey=..., ahp=0xbfd9b728) at /usr/include/QtCore/qhash.h:882
#9  0xb086797a in operator[] (akey=..., this=0xa089584) at /usr/include/QtCore/qhash.h:743
#10 ObexFtpDaemon::offlineMode (this=0xa089688) at /usr/src/debug/bluedevil-1.2.3/src/daemon/obexftpkded/ObexFtpDaemon.cpp:129
#11 0xb086812d in ObexFtpDaemon::defaultAdapterChanged (this=0xa089688, adapter=0x0) at /usr/src/debug/bluedevil-1.2.3/src/daemon/obexftpkded/ObexFtpDaemon.cpp:147
#12 0xb0865bb9 in qt_static_metacall (_a=0xbfd9b8c8, _id=6, _o=0xa089688, _c=<optimized out>) at /usr/src/debug/bluedevil-1.2.3/build/src/daemon/obexftpkded/moc_ObexFtpDaemon.cpp:95
#13 ObexFtpDaemon::qt_static_metacall (_o=0xa089688, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbfd9b8c8) at /usr/src/debug/bluedevil-1.2.3/build/src/daemon/obexftpkded/moc_ObexFtpDaemon.cpp:83
#14 0xb6dc6cdf in QMetaObject::activate (sender=0xa08a9d8, m=0xb079b898, local_signal_index=2, argv=0xbfd9b8c8) at kernel/qobject.cpp:3556
#15 0xb076b5c5 in BlueDevil::Manager::defaultAdapterChanged (this=0xa08a9d8, _t1=0x0) at /usr/src/debug/libbluedevil-1.9.2/build/bluedevil/bluedevilmanager.moc:179
#16 0xb076cc9b in BlueDevil::Manager::Private::_k_adapterRemoved (this=0xa08a4f8, objectPath=...) at /usr/src/debug/libbluedevil-1.9.2/bluedevil/bluedevilmanager.cpp:167
#17 0xb076f71a in BlueDevil::Manager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=0xbfd9ba48, _c=<optimized out>) at /usr/src/debug/libbluedevil-1.9.2/build/bluedevil/bluedevilmanager.moc:86
#18 0xb6dc6cdf in QMetaObject::activate (sender=0xa466b50, m=0xb079b9f8, local_signal_index=1, argv=0xbfd9ba48) at kernel/qobject.cpp:3556
#19 0xb0785b80 in AdapterRemoved (_t1=<optimized out>, this=<optimized out>) at /usr/src/debug/libbluedevil-1.9.2/build/bluedevil/bluezmanager.moc:135
#20 OrgBluezManagerInterface::qt_static_metacall (_o=0xa466b50, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfd9bbcc) at /usr/src/debug/libbluedevil-1.9.2/build/bluedevil/bluezmanager.moc:69
#21 0xb078624c in OrgBluezManagerInterface::qt_metacall (this=0xa466b50, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfd9bbcc) at /usr/src/debug/libbluedevil-1.9.2/build/bluedevil/bluezmanager.moc:118
#22 0xb5b115b0 in QDBusConnectionPrivate::deliverCall (this=0xa08abb0, object=0xa466b50, msg=..., metaTypes=..., slotIdx=0) at qdbusintegrator.cpp:947
#23 0xb5b1b8ad in QDBusCallDeliveryEvent::placeMetaCall (this=0xa4e88f0, object=0xa466b50) at qdbusintegrator_p.h:103
#24 0xb6dcb36b in QObject::event (this=0xa466b50, e=0xa4e88f0) at kernel/qobject.cpp:1204
#25 0xb627a4e4 in notify_helper (e=0xa4e88f0, receiver=0xa466b50, this=0x9f59c10) at kernel/qapplication.cpp:4557
#26 QApplicationPrivate::notify_helper (this=0x9f59c10, receiver=0xa466b50, e=0xa4e88f0) at kernel/qapplication.cpp:4529
#27 0xb627f823 in QApplication::notify (this=0xa4e88f0, receiver=0xa466b50, e=0xa4e88f0) at kernel/qapplication.cpp:4286
#28 0xb752b651 in KApplication::notify (this=0xbfd9c420, receiver=0xa466b50, event=0xa4e88f0) at /usr/src/debug/kdelibs-4.9.2/kdeui/kernel/kapplication.cpp:311
#29 0xb6db049e in QCoreApplication::notifyInternal (this=0xbfd9c420, receiver=0xa466b50, event=0xa4e88f0) at kernel/qcoreapplication.cpp:915
#30 0xb6db4118 in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#31 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9edfe68) at kernel/qcoreapplication.cpp:1539
#32 0xb6db444c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1432
#33 0xb6de2c44 in sendPostedEvents () at kernel/qcoreapplication.h:236
#34 postEventSourceDispatch (s=0x9f5b590) at kernel/qeventdispatcher_glib.cpp:279
#35 0xb595fe4f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#36 0xb5960580 in ?? () from /usr/lib/libglib-2.0.so.0
#37 0xb596081a in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#38 0xb6de3037 in QEventDispatcherGlib::processEvents (this=0x9ee08b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#39 0xb632e67a in QGuiEventDispatcherGlib::processEvents (this=0x9ee08b0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#40 0xb6daed1d in QEventLoop::processEvents (this=0xbfd9c384, flags=...) at kernel/qeventloop.cpp:149
#41 0xb6daefb9 in QEventLoop::exec (this=0xbfd9c384, flags=...) at kernel/qeventloop.cpp:204
#42 0xb6db44fa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#43 0xb6278384 in QApplication::exec () at kernel/qapplication.cpp:3818
#44 0xb52b6f80 in kdemain () from /usr/lib/libkdeinit4_kded4.so
#45 0x0804fcbf in _start ()

Possible duplicates by query: bug 292017, bug 284850, bug 284847, bug 282889, bug 281402.

Reported using DrKonqi
Comment 1 Alex Fiestas 2012-12-30 16:49:45 UTC
Git commit 619c4ac82a7c134233ff39603352ba417c5420fa by Alex Fiestas.
Committed on 30/12/2012 at 17:13.
Pushed by afiestas into branch '1.3'.

Check if the map contains the session.

M  +1    -1    src/daemon/obexftpkded/ObexFtpDaemon.cpp

http://commits.kde.org/bluedevil/619c4ac82a7c134233ff39603352ba417c5420fa
Comment 2 auxsvr 2013-04-30 06:34:34 UTC
Created attachment 79564 [details]
New crash information added by DrKonqi

kded4 ($Id$) on KDE Platform 4.10.2 "release 556" using Qt 4.8.4

- What I was doing when the application crashed:

I was attempting to transfer photographs from a cellphone via bluetooth. The transfer stalled and kded crashed when I disabled the bluetooth adapter.

-- Backtrace (Reduced):
#5  0xb6c79f40 in QHashData::nextNode(QHashData::Node*) () from /usr/lib/libQtCore.so.4
#6  0xb027d630 in operator++ (this=<synthetic pointer>) at /usr/include/QtCore/qhash.h:427
#7  ObexFtpDaemon::offlineMode (this=0x8ac41f8) at /usr/src/debug/bluedevil-1.3/src/daemon/obexftpkded/ObexFtpDaemon.cpp:136
#8  0xb027d94d in ObexFtpDaemon::defaultAdapterChanged (this=0x8ac41f8, adapter=0x0) at /usr/src/debug/bluedevil-1.3/src/daemon/obexftpkded/ObexFtpDaemon.cpp:148
#9  0xb027bc6d in qt_static_metacall (_a=0xbfc7c008, _id=6, _o=0x8ac41f8, _c=<optimized out>) at /usr/src/debug/bluedevil-1.3/build/src/daemon/obexftpkded/moc_ObexFtpDaemon.cpp:95
Comment 3 Christoph Feck 2013-05-13 21:42:12 UTC
Did you wish to reopen this bug?
Comment 4 auxsvr 2013-05-13 21:49:58 UTC
Yes, please.
Comment 5 Christoph Feck 2013-06-11 09:58:55 UTC
Please test if this also happens with bluedevil 1.3.1.
Comment 6 Alex Fiestas 2014-01-19 18:37:30 UTC
Git commit edccd9cb8a009e07b50c86b7e23f6811a98a706c by Àlex Fiestas.
Committed on 19/01/2014 at 18:33.
Pushed by afiestas into branch '1.3'.

Remove ObexSession from m_sessionMap when the object is destroyed

M  +6    -0    src/daemon/obexftpkded/ObexFtpDaemon.cpp
M  +1    -0    src/daemon/obexftpkded/ObexFtpDaemon.h

http://commits.kde.org/bluedevil/edccd9cb8a009e07b50c86b7e23f6811a98a706c
Comment 7 Alex Fiestas 2014-01-19 20:51:57 UTC
*** Bug 326892 has been marked as a duplicate of this bug. ***