Bug 284717 - kded and plasma-desktop crash when browsing bluetooth device
Summary: kded and plasma-desktop crash when browsing bluetooth device
Status: RESOLVED FIXED
Alias: None
Product: solid
Classification: Frameworks and Libraries
Component: bluetooth-daemon (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Alex Fiestas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-22 17:28 UTC by Rafael
Modified: 2011-11-05 00:17 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rafael 2011-10-22 17:28:10 UTC
Version:           unspecified (using KDE 4.7.2) 
OS:                Linux

Using OpenSUSE 12.1 RC1 with KDE 4.7.2 and Bluedevil 1.2.1.
When I try to browse a mobile phone via bluetooth with Dolphin, kded and
plasma-desktop, both crash, and the files in the mobile phone are never showed.
I am unable to browse a bluetooth device at this moment.


Reproducible: Always

Steps to Reproduce:
1. Install OpenSUSE 12.1 RC1 with KDE.
2. Asociate a bluetooth mobile phone using Bluedevil.
3. Try to browse the mobile phone via Dolphin bluetooth service.
4. Kded and plasma-desktop crash and the device is not browsed.

Actual Results:  
Kded and plasma-desktop crash and the device is not browsed.

Expected Results:  
The bluetooth device should be correctly browsed and plasma-desktop and kaded
should never crash.

The following are the two backtraces.
###########################################################################
Application: Servicio de KDE (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb57fd710 (LWP 2052))]

Thread 3 (Thread 0xb0848b70 (LWP 2055)):
#0  0xb5a7755b in ?? () from /usr/lib/libglib-2.0.so.0
#1  0xb5a777fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#2  0xb6e5e737 in QEventDispatcherGlib::processEvents (this=0x819b2c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#3  0xb6e2f30d in QEventLoop::processEvents (this=0xb08482c0, flags=...) at kernel/qeventloop.cpp:149
#4  0xb6e2f551 in QEventLoop::exec (this=0xb08482c0, flags=...) at kernel/qeventloop.cpp:201
#5  0xb6d3275b in QThread::exec (this=0x81d1398) at thread/qthread.cpp:498
#6  0xb094ce37 in AgentListener::run (this=0x81d1398) at /usr/src/debug/bluedevil-1.2.1/src/daemon/kded/agentlistener.cpp:39
#7  0xb6d35613 in QThreadPrivate::start (arg=0x81d1398) at thread/qthread_unix.cpp:331
#8  0xb6cb8a7d in start_thread () from /lib/libpthread.so.0
#9  0xb60818fe in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb0048b70 (LWP 2060)):
#0  0xb5b36df0 in ?? () from /usr/lib/libgthread-2.0.so.0
#1  0xb5a9f35c in g_thread_self () from /usr/lib/libglib-2.0.so.0
#2  0xb5a777e8 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0xb6e5e737 in QEventDispatcherGlib::processEvents (this=0x81e4de8, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0xb6e2f30d in QEventLoop::processEvents (this=0xb00482b0, flags=...) at kernel/qeventloop.cpp:149
#5  0xb6e2f551 in QEventLoop::exec (this=0xb00482b0, flags=...) at kernel/qeventloop.cpp:201
#6  0xb6d3275b in QThread::exec (this=0x81e28a8) at thread/qthread.cpp:498
#7  0xb6e0ff4d in QInotifyFileSystemWatcherEngine::run (this=0x81e28a8) at io/qfilesystemwatcher_inotify.cpp:248
#8  0xb6d35613 in QThreadPrivate::start (arg=0x81e28a8) at thread/qthread_unix.cpp:331
#9  0xb6cb8a7d in start_thread () from /lib/libpthread.so.0
#10 0xb60818fe in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb57fd710 (LWP 2052)):
[KCrash Handler]
#6  0xb095c3db in ObexFtpDaemon::SessionClosed (this=0x81d1568, path=...) at /usr/src/debug/bluedevil-1.2.1/src/daemon/obexftpkded/ObexFtpDaemon.cpp:342
#7  0xb095acee in ObexFtpDaemon::qt_metacall (this=0x81d1568, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbfa72178) at /usr/src/debug/bluedevil-1.2.1/build/src/daemon/obexftpkded/moc_ObexFtpDaemon.cpp:120
#8  0xb6e3669d in metacall (argv=0xbfa72178, idx=16, cl=QMetaObject::InvokeMetaMethod, object=0x81d1568) at kernel/qmetaobject.cpp:237
#9  QMetaObject::metacall (object=0x81d1568, cl=QMetaObject::InvokeMetaMethod, idx=16, argv=0xbfa72178) at kernel/qmetaobject.cpp:232
#10 0xb6e455d0 in QMetaObject::activate (sender=0x814f328, m=0xb0971e98, local_signal_index=0, argv=0xbfa72178) at kernel/qobject.cpp:3287
#11 0xb096aae5 in OrgOpenobexManagerInterface::SessionClosed (this=0x814f328, _t1=...) at /usr/src/debug/bluedevil-1.2.1/build/src/daemon/obexftpkded/obexftpmanager.moc:157
#12 0xb096aebf in OrgOpenobexManagerInterface::qt_metacall (this=0x814f328, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfa7244c) at /usr/src/debug/bluedevil-1.2.1/build/src/daemon/obexftpkded/obexftpmanager.moc:115
#13 0xb5c253c0 in QDBusConnectionPrivate::deliverCall (this=0x80bc9c8, object=0x814f328, msg=..., metaTypes=..., slotIdx=1162167621) at qdbusintegrator.cpp:942
#14 0xb5c2f3b6 in QDBusCallDeliveryEvent::placeMetaCall (this=0x82bd518, object=0x814f328) at qdbusintegrator_p.h:103
#15 0xb6e486ef in QObject::event (this=0x814f328, e=0x82bd518) at kernel/qobject.cpp:1226
#16 0xb634bee4 in notify_helper (e=0x82bd518, receiver=0x814f328, this=0x80c4708) at kernel/qapplication.cpp:4481
#17 QApplicationPrivate::notify_helper (this=0x80c4708, receiver=0x814f328, e=0x82bd518) at kernel/qapplication.cpp:4453
#18 0xb6351272 in QApplication::notify (this=0x82bd518, receiver=0x814f328, e=0x82bd518) at kernel/qapplication.cpp:4228
#19 0xb7573681 in KApplication::notify (this=0xbfa72c90, receiver=0x814f328, event=0x82bd518) at /usr/src/debug/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311
#20 0xb6e302ee in QCoreApplication::notifyInternal (this=0xbfa72c90, receiver=0x814f328, event=0x82bd518) at kernel/qcoreapplication.cpp:787
#21 0xb6e33ab4 in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:215
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x805b568) at kernel/qcoreapplication.cpp:1428
#23 0xb6e33bfc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1321
#24 0xb6e5e2a4 in sendPostedEvents () at kernel/qcoreapplication.h:220
#25 postEventSourceDispatch (s=0x80c6b08) at kernel/qeventdispatcher_glib.cpp:277
#26 0xb5a76e2f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0xb5a77560 in ?? () from /usr/lib/libglib-2.0.so.0
#28 0xb5a777fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#29 0xb6e5e6d7 in QEventDispatcherGlib::processEvents (this=0x80c46c8, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#30 0xb63ffa7a in QGuiEventDispatcherGlib::processEvents (this=0x80c46c8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#31 0xb6e2f30d in QEventLoop::processEvents (this=0xbfa72bf4, flags=...) at kernel/qeventloop.cpp:149
#32 0xb6e2f551 in QEventLoop::exec (this=0xbfa72bf4, flags=...) at kernel/qeventloop.cpp:201
#33 0xb6e33caa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#34 0xb6349d64 in QApplication::exec () at kernel/qapplication.cpp:3755
#35 0xb53d2ef0 in kdemain (argc=1, argv=0x80a38b0) at /usr/src/debug/kdelibs-4.7.2/kded/kded.cpp:924
#36 0x0804fbcd in launch (argc=1, _name=0x8052553 "kded4", args=<optimized out>, cwd=0x0, envc=0, envs=<optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x80523da "0") at /usr/src/debug/kdelibs-4.7.2/kinit/kinit.cpp:734
#37 0x0804cec1 in main (argc=) at /usr/src/debug/kdelibs-4.7.2/kinit/kinit.cpp:1849

############################################################################

Application: Shell de escritorio Plasma (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb57fd710 (LWP 2085))]

Thread 2 (Thread 0xab7edb70 (LWP 2087)):
#0  0xb5b2fc96 in clock_gettime () from /lib/librt.so.1
#1  0xb6d8cb85 in do_gettime (frac=0xab7ed020, sec=0xab7ed018) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb6e5f0a6 in QTimerInfoList::updateCurrentTime (this=0x8417a3c) at kernel/qeventdispatcher_unix.cpp:339
#4  0xb6e5f40a in QTimerInfoList::timerWait (this=0x8417a3c, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb6e5dc63 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xab7ed12c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb6e5dcfd in timerSourcePrepare (source=0x8417a08, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb5a7644c in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#8  0xb5a77207 in ?? () from /usr/lib/libglib-2.0.so.0
#9  0xb5a777fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#10 0xb6e5e737 in QEventDispatcherGlib::processEvents (this=0x8417db0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0xb6e2f30d in QEventLoop::processEvents (this=0xab7ed2b0, flags=...) at kernel/qeventloop.cpp:149
#12 0xb6e2f551 in QEventLoop::exec (this=0xab7ed2b0, flags=...) at kernel/qeventloop.cpp:201
#13 0xb6d3275b in QThread::exec (this=0x8417690) at thread/qthread.cpp:498
#14 0xb6e0ff4d in QInotifyFileSystemWatcherEngine::run (this=0x8417690) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb6d35613 in QThreadPrivate::start (arg=0x8417690) at thread/qthread_unix.cpp:331
#16 0xb6cb8a7d in start_thread () from /lib/libpthread.so.0
#17 0xb60818fe in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb57fd710 (LWP 2085)):
[KCrash Handler]
#6  Solid::Control::NetworkInterfaceNm09::uni (this=0x0) at /usr/src/debug/networkmanagement/solidcontrolfuture/libs/solid/control/networkinterface.cpp:65
#7  0xaa61749c in NetworkManagerApplet::resetActiveSystrayInterface (this=0x87fa600) at /usr/src/debug/networkmanagement/applet/networkmanager.cpp:950
#8  0xaa617633 in NetworkManagerApplet::updateActiveInterface (this=0x87fa600, hasDefaultRoute=true) at /usr/src/debug/networkmanagement/applet/networkmanager.cpp:933
#9  0xaa61a916 in NetworkManagerApplet::qt_metacall (this=0x87fa600, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbfa71dd8) at /usr/src/debug/networkmanagement/build/applet/networkmanager.moc:135
#10 0xb6e3669d in metacall (argv=0xbfa71dd8, idx=97, cl=QMetaObject::InvokeMetaMethod, object=0x87fa600) at kernel/qmetaobject.cpp:237
#11 QMetaObject::metacall (object=0x87fa600, cl=QMetaObject::InvokeMetaMethod, idx=97, argv=0xbfa71dd8) at kernel/qmetaobject.cpp:232
#12 0xb6e455d0 in QMetaObject::activate (sender=0x8a27af8, m=0xaa5ffab8, local_signal_index=1, argv=0xbfa71dd8) at kernel/qobject.cpp:3287
#13 0xaa5ea57d in RemoteInterfaceConnection::hasDefaultRouteChanged (this=0x8a27af8, _t1=true) at /usr/src/debug/networkmanagement/build/libs/client/moc_remoteinterfaceconnection.cpp:139
#14 0xaa5ea6d5 in RemoteInterfaceConnection::qt_metacall (this=0x8a27af8, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfa71f88) at /usr/src/debug/networkmanagement/build/libs/client/moc_remoteinterfaceconnection.cpp:91
#15 0xaa5ea962 in RemoteWirelessInterfaceConnection::qt_metacall (this=0x8a27af8, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbfa71f88) at /usr/src/debug/networkmanagement/build/libs/client/moc_remotewirelessinterfaceconnection.cpp:82
#16 0xb6e3669d in metacall (argv=0xbfa71f88, idx=8, cl=QMetaObject::InvokeMetaMethod, object=0x8a27af8) at kernel/qmetaobject.cpp:237
#17 QMetaObject::metacall (object=0x8a27af8, cl=QMetaObject::InvokeMetaMethod, idx=8, argv=0xbfa71f88) at kernel/qmetaobject.cpp:232
#18 0xb6e455d0 in QMetaObject::activate (sender=0x8880fc0, m=0xaa5ffd58, local_signal_index=1, argv=0xbfa71f88) at kernel/qobject.cpp:3287
#19 0xaa5f42cd in InterfaceConnectionInterface::hasDefaultRouteChanged (this=0x8880fc0, _t1=true) at /usr/src/debug/networkmanagement/build/libs/client/interfaceconnectioninterface.moc:161
#20 0xaa5f47b9 in InterfaceConnectionInterface::qt_metacall (this=0x8880fc0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfa721ac) at /usr/src/debug/networkmanagement/build/libs/client/interfaceconnectioninterface.moc:100
#21 0xb5c253c0 in QDBusConnectionPrivate::deliverCall (this=0x80e9c30, object=0x8880fc0, msg=..., metaTypes=..., slotIdx=0) at qdbusintegrator.cpp:942
#22 0xb5c2f3b6 in QDBusCallDeliveryEvent::placeMetaCall (this=0x8cd5928, object=0x8880fc0) at qdbusintegrator_p.h:103
#23 0xb6e486ef in QObject::event (this=0x8880fc0, e=0x8cd5928) at kernel/qobject.cpp:1226
#24 0xb634bee4 in notify_helper (e=0x8cd5928, receiver=0x8880fc0, this=0x80f38d0) at kernel/qapplication.cpp:4481
#25 QApplicationPrivate::notify_helper (this=0x80f38d0, receiver=0x8880fc0, e=0x8cd5928) at kernel/qapplication.cpp:4453
#26 0xb6351272 in QApplication::notify (this=0x8cd5928, receiver=0x8880fc0, e=0x8cd5928) at kernel/qapplication.cpp:4228
#27 0xb7573681 in KApplication::notify (this=0x80e8f60, receiver=0x8880fc0, event=0x8cd5928) at /usr/src/debug/kdelibs-4.7.2/kdeui/kernel/kapplication.cpp:311
#28 0xb6e302ee in QCoreApplication::notifyInternal (this=0x80e8f60, receiver=0x8880fc0, event=0x8cd5928) at kernel/qcoreapplication.cpp:787
#29 0xb6e33ab4 in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:215
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x805b568) at kernel/qcoreapplication.cpp:1428
#31 0xb6e33bfc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1321
#32 0xb6e5e2a4 in sendPostedEvents () at kernel/qcoreapplication.h:220
#33 postEventSourceDispatch (s=0x80f20c0) at kernel/qeventdispatcher_glib.cpp:277
#34 0xb5a76e2f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#35 0xb5a77560 in ?? () from /usr/lib/libglib-2.0.so.0
#36 0xb5a777fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#37 0xb6e5e6d7 in QEventDispatcherGlib::processEvents (this=0x80c8f60, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#38 0xb63ffa7a in QGuiEventDispatcherGlib::processEvents (this=0x80c8f60, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#39 0xb6e2f30d in QEventLoop::processEvents (this=0xbfa72954, flags=...) at kernel/qeventloop.cpp:149
#40 0xb6e2f551 in QEventLoop::exec (this=0xbfa72954, flags=...) at kernel/qeventloop.cpp:201
#41 0xb6e33caa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#42 0xb6349d64 in QApplication::exec () at kernel/qapplication.cpp:3755
#43 0xb1c937cb in kdemain (argc=1, argv=0x80c5d78) at /usr/src/debug/kde-workspace-4.7.2/plasma/desktop/shell/main.cpp:120
#44 0x0804fbcd in _start ()
Comment 1 Lamarque V. Souza 2011-10-22 23:11:15 UTC
Git commit ff842ef744465d704ff609dbdbccff72c05e0535 by Lamarque V. Souza.
Committed on 23/10/2011 at 01:10.
Pushed by lvsouza into branch 'nm09'.

Test pointer before using it.

BUG: 284717

M  +1    -1    applet/networkmanager.cpp
M  +1    -1    plasma_nm_version.h

http://commits.kde.org/networkmanagement/ff842ef744465d704ff609dbdbccff72c05e0535
Comment 2 Lamarque V. Souza 2011-10-23 19:40:01 UTC
Sorry, this bug is not closed yet. As you can see in the crashlog there are two crashes. I fixed the crash in Plasma NM, now the Bluedevil's guys need to fix the other crash. Changing the component to bluetooth-daemon.
Comment 3 Will Stephenson 2011-10-27 11:26:37 UTC
Not fixed in 1.2.2 or by 0a733a50 .  Relevant valgrind details at: https://bugzilla.novell.com/show_bug.cgi?id=725962
Comment 4 Will Stephenson 2011-10-27 11:28:03 UTC
The valgrind trace shows it's a double delete.  There is no second bluetoothd session happening, so it is not the same as bug 269814.
Comment 5 Will Stephenson 2011-10-27 16:53:28 UTC
Not a double delete but using the value of a const_iterator after it has been removed from its QHash (ie invalid)

Fixed by ef94eedf (1.2 branch) and ae22e934 (master)
Comment 6 Will Stephenson 2011-10-27 21:24:33 UTC
Git commit eeb3df518c2991f689d0564aa4f32cd12d70fe88 by Will Stephenson.
Committed on 27/10/2011 at 23:23.
Pushed by wstephens into branch 'master'.

Correct own schoolboy iterator error. Thx tsdgeos.

CCBUG: 284717

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

http://commits.kde.org/bluedevil/eeb3df518c2991f689d0564aa4f32cd12d70fe88
Comment 7 Will Stephenson 2011-10-27 21:25:09 UTC
Git commit e9707513f4bb9a888bbe5b4308ed587c2ec76eb1 by Will Stephenson.
Committed on 27/10/2011 at 23:23.
Pushed by wstephens into branch '1.2'.

Correct own schoolboy iterator error. Thx tsdgeos.

CCBUG: 284717

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

http://commits.kde.org/bluedevil/e9707513f4bb9a888bbe5b4308ed587c2ec76eb1
Comment 8 Lamarque V. Souza 2011-11-05 00:17:07 UTC
I still see kded4 crashing when turning my bluetooth controller off even after updating Bluedevil to the latest git version.