Bug 262587 - KDE deamon crash after resuming from standby (str) [QMutex::lock, QCoreApplication::postEvent, AgentListener::~AgentListener]
Summary: KDE deamon crash after resuming from standby (str) [QMutex::lock, QCoreApplic...
Status: RESOLVED FIXED
Alias: None
Product: solid
Classification: Frameworks and Libraries
Component: bluetooth (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Alex Fiestas
URL:
Keywords:
: 272807 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-01-08 21:31 UTC by jens
Modified: 2011-10-07 17:00 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 jens 2011-01-08 21:31:28 UTC
Application: kded4 ($Id: kded.cpp 1204125 2010-12-06 11:17:10Z dfaure $)
KDE Platform Version: 4.5.95 (4.6 RC2)
Qt Version: 4.7.1
Operating System: Linux 2.6.34.7-0.7-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
Just resumed from standby (suspend to ram). this is the first time that that crash happened. Usually resume from str works just fine. One more note, this time I had a virtual box guest machine running, though not sure if that has anything to do with kde deamon.

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

Thread 3 (Thread 0x7f450f5f9710 (LWP 2588)):
#0  0x00007f4528e436b3 in poll () from /lib64/libc.so.6
#1  0x00007f4525cb5fd4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f4525cb6510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f452a439ae6 in QEventDispatcherGlib::processEvents (this=0x8570c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f452a40e262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f452a40e475 in QEventLoop::exec (this=0x7f450f5f8d20, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f452a3211a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f452a3ef918 in QInotifyFileSystemWatcherEngine::run (this=0x858e40) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f452a323a1e in QThreadPrivate::start (arg=0x858e40) at thread/qthread_unix.cpp:285
#9  0x00007f451d81cae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#10 0x00007f452a094a4f in start_thread () from /lib64/libpthread.so.0
#11 0x00007f4528e4c82d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f450fdfa710 (LWP 7983)):
#0  0x00007f4528e436b3 in poll () from /lib64/libc.so.6
#1  0x00007f4525cb5fd4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f4525cb6510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f452a439ae6 in QEventDispatcherGlib::processEvents (this=0x9909e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f452a40e262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f452a40e475 in QEventLoop::exec (this=0x7f450fdf9d60, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f452a3211a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f452a323a1e in QThreadPrivate::start (arg=0x73f310) at thread/qthread_unix.cpp:285
#8  0x00007f451d81cae3 in ?? () from /usr/X11R6/lib64/libGL.so.1
#9  0x00007f452a094a4f in start_thread () from /lib64/libpthread.so.0
#10 0x00007f4528e4c82d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f452b76c760 (LWP 2580)):
[KCrash Handler]
#6  QMutex::lock (this=0x700000041) at thread/qmutex.cpp:151
#7  0x00007f452a411cce in QCoreApplication::postEvent (receiver=0x9072a0, event=0x8bc1a0, priority=0) at kernel/qcoreapplication.cpp:1141
#8  0x00007f45100abe74 in AgentListener::~AgentListener (this=0x73f310, __in_chrg=<value optimized out>) at /usr/src/debug/bluedevil-1.0.1/src/daemon/kded/agentlistener.cpp:32
#9  0x00007f45100abe89 in AgentListener::~AgentListener (this=0x73f310, __in_chrg=<value optimized out>) at /usr/src/debug/bluedevil-1.0.1/src/daemon/kded/agentlistener.cpp:33
#10 0x00007f452a422c98 in QObject::event (this=0x73f310, e=<value optimized out>) at kernel/qobject.cpp:1194
#11 0x00007f45295afcd4 in QApplicationPrivate::notify_helper (this=0x6fec20, receiver=0x73f310, e=0x8a87a0) at kernel/qapplication.cpp:4445
#12 0x00007f45295b81ca in QApplication::notify (this=<value optimized out>, receiver=0x73f310, e=0x8a87a0) at kernel/qapplication.cpp:4324
#13 0x00007f452b0c3ec6 in KApplication::notify (this=0x7fffb4963180, receiver=0x73f310, event=0x8a87a0) at /usr/src/debug/kdelibs-4.5.95/kdeui/kernel/kapplication.cpp:311
#14 0x00007f452a40ee2c in QCoreApplication::notifyInternal (this=0x7fffb4963180, receiver=0x73f310, event=0x8a87a0) at kernel/qcoreapplication.cpp:732
#15 0x00007f452a412625 in sendEvent (receiver=0x0, event_type=0, data=0x610420) at kernel/qcoreapplication.h:215
#16 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x610420) at kernel/qcoreapplication.cpp:1373
#17 0x00007f452a4398f3 in sendPostedEvents (s=0x702760) at kernel/qcoreapplication.h:220
#18 postEventSourceDispatch (s=0x702760) at kernel/qeventdispatcher_glib.cpp:277
#19 0x00007f4525cb5a93 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#20 0x00007f4525cb6270 in ?? () from /usr/lib64/libglib-2.0.so.0
#21 0x00007f4525cb6510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#22 0x00007f452a439a8f in QEventDispatcherGlib::processEvents (this=0x6ed960, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#23 0x00007f4529654eae in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#24 0x00007f452a40e262 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#25 0x00007f452a40e475 in QEventLoop::exec (this=0x7fffb49630d0, flags=...) at kernel/qeventloop.cpp:201
#26 0x00007f452a4128db in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#27 0x00007f45196d16d7 in kdemain (argc=1, argv=0x6b4440) at /usr/src/debug/kdelibs-4.5.95/kded/kded.cpp:925
#28 0x0000000000407609 in launch (argc=1, _name=0x40b512 "kded4", args=<value optimized out>, cwd=0x0, envc=<value optimized out>, envs=<value optimized out>, reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0x40b397 "0") at /usr/src/debug/kdelibs-4.5.95/kinit/kinit.cpp:730
#29 0x0000000000409e2e in main (argc=4, argv=0x7fffb49641d8, envp=0x7fffb4964200) at /usr/src/debug/kdelibs-4.5.95/kinit/kinit.cpp:1845

Reported using DrKonqi
Comment 1 Dario Andres 2011-05-08 22:15:23 UTC
[Comment from a bug triager]
From bug 272807 (KDE SC 4.6.0):
- What I was doing when the application crashed:
Like the possibly related bug stated below, I also had a (paused) virtualbox
guest running and also in my case the suspend works usually fine.
The clock "in the tray" was showing old time for a while. Perhaps this is
normal but I have never noticed before.
Comment 2 Dario Andres 2011-05-08 22:15:45 UTC
*** Bug 272807 has been marked as a duplicate of this bug. ***
Comment 3 Alex Fiestas 2011-07-15 20:28:34 UTC
Can anyone test a patch for this bug?
Comment 4 Alex Fiestas 2011-10-07 17:00:17 UTC
Git commit fd6fa391f6ed7dbed7072e8c90247dda09d281d1 by Alex Fiestas.
Committed on 07/10/2011 at 18:50.
Pushed by afiestas into branch 'master'.

Replaced AgentListener (QThread) by delayed DBus messages

This thread has been causing many crashes for some people, and
as far as I remember all the backtraces show weird things not really
within BlueDevilcode, and of course none of the BlueDevil developers has
been able to reproduce the bug. So the best/easy/simpler way of fixing
this is by removing the Thread which shouldn't be there in the first
place.

BUG: 262587
BUG: 275783
BUG: 262041
BUG: 283365

M  +9    -19   src/daemon/kded/BlueDevilDaemon.cpp
M  +0    -5    src/daemon/kded/BlueDevilDaemon.h
M  +1    -2    src/daemon/kded/CMakeLists.txt
D  +0    -40   src/daemon/kded/agentlistener.cpp
D  +0    -55   src/daemon/kded/agentlistener.h
R  +95   -44   src/daemon/kded/bluezagent.cpp [from: src/daemon/kded/agentlistenerworker.cpp - 051% similarity]
R  +29   -5    src/daemon/kded/bluezagent.h [from: src/daemon/kded/agentlistenerworker.h - 081% similarity]

http://commits.kde.org/bluedevil/fd6fa391f6ed7dbed7072e8c90247dda09d281d1