Bug 283365

Summary: kded crashed after resuming from suspend to ram
Product: [Unmaintained] solid Reporter: Elias Probst <mail>
Component: bluetooth-daemonAssignee: Alex Fiestas <afiestas>
Status: RESOLVED FIXED    
Severity: crash CC: gronslet
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Elias Probst 2011-10-05 04:45:36 UTC
Application: kded4 ($Id$)
KDE Platform Version: 4.7.1 (4.7.1) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 3.0.4-gentoo-r1 x86_64
Distribution: "Gentoo Base System release 2.0.3"

-- Information about the crash:
- What I was doing when the application crashed:
I resumed my laptop from suspend to ram, then kded crashed and left the attached backtrace.

The crash can be reproduced some of the time.

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

Thread 4 (Thread 0x7ffb31c44700 (LWP 3271)):
#0  0x00007ffb49024be7 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ffb46090053 in g_main_context_poll (context=0x8fd910, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3405
#2  g_main_context_iterate (context=0x8fd910, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3087
#3  0x00007ffb4609035e in g_main_context_iteration (context=0x8fd910, may_block=1) at gmain.c:3155
#4  0x00007ffb4a59ff2a in QEventDispatcherGlib::processEvents (this=0x8e2fd0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007ffb4a576e92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007ffb4a5771f1 in QEventLoop::exec (this=0x7ffb31c43de0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007ffb4a497412 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#8  0x00007ffb4a5593da in QInotifyFileSystemWatcherEngine::run (this=0x8fcc20) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007ffb4a499efd in QThreadPrivate::start (arg=0x8fcc20) at thread/qthread_unix.cpp:320
#10 0x00007ffb4a20ba6d in start_thread (arg=<value optimized out>) at pthread_create.c:301
#11 0x00007ffb4902cd7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7ffb22ba5700 (LWP 3883)):
#0  timerSourcePrepare (source=0xd6ea80, timeout=0x7ffb22ba4c4c) at kernel/qeventdispatcher_glib.cpp:157
#1  0x00007ffb4608f983 in g_main_context_prepare (context=0xd554b0, priority=<value optimized out>) at gmain.c:2762
#2  0x00007ffb4608fdef in g_main_context_iterate (context=0xd554b0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3072
#3  0x00007ffb4609035e in g_main_context_iteration (context=0xd554b0, may_block=1) at gmain.c:3155
#4  0x00007ffb4a59ff2a in QEventDispatcherGlib::processEvents (this=0xd6d710, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007ffb4a576e92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007ffb4a5771f1 in QEventLoop::exec (this=0x7ffb22ba4de0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007ffb4a497412 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#8  0x00007ffb4a5593da in QInotifyFileSystemWatcherEngine::run (this=0xd6ebc0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007ffb4a499efd in QThreadPrivate::start (arg=0xd6ebc0) at thread/qthread_unix.cpp:320
#10 0x00007ffb4a20ba6d in start_thread (arg=<value optimized out>) at pthread_create.c:301
#11 0x00007ffb4902cd7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7ffb32445700 (LWP 12045)):
#0  0xffffffffff60014a in ?? ()
#1  0x00007ffb32444b20 in ?? ()
#2  0x00007fffffbff6e7 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0x7ffb4b8ee760 (LWP 3258)):
[KCrash Handler]
#6  QDBusAbstractInterface::asyncCallWithArgumentList (this=0xd74500, method=..., args=...) at qdbusabstractinterface.cpp:471
#7  0x00007ffb32919187 in UnregisterAgent (this=<value optimized out>, agentPath=<value optimized out>) at /var/tmp/portage/net-libs/libbluedevil-1.9/work/libbluedevil-1.9_build/bluedevil/bluezadapter.h:128
#8  BlueDevil::Adapter::unregisterAgent (this=<value optimized out>, agentPath=<value optimized out>) at /var/tmp/portage/net-libs/libbluedevil-1.9/work/libbluedevil-1.9/bluedevil/bluedeviladapter.cpp:364
#9  0x00007ffb326fa92b in BlueDevilDaemon::BlueDevilDaemon (this=0xead8a0, parent=<value optimized out>) at /var/tmp/portage/net-wireless/bluedevil-1.2/work/bluedevil-1.2/src/daemon/kded/BlueDevilDaemon.cpp:93
#10 0x0000000000000000 in ?? ()

Reported using DrKonqi
Comment 1 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
Comment 2 Lamarque V. Souza 2011-12-17 14:10:02 UTC
*** Bug 289165 has been marked as a duplicate of this bug. ***