Summary: | KDE daemon crashes on wakeup from suspend | ||
---|---|---|---|
Product: | [Unmaintained] solid | Reporter: | rjha <rjha94> |
Component: | powermanagement-daemon | Assignee: | Oliver Henshaw <oliver.henshaw> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | afiestas, ahepas1999, alboz, arne.henningsen, deviatov, nexces, oliver.henshaw |
Priority: | NOR | ||
Version: | 4.10.0 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | add debug statements to trace timeout lifetime |
Description
rjha
2013-02-18 12:32:43 UTC
*** Bug 302214 has been marked as a duplicate of this bug. *** *** Bug 311164 has been marked as a duplicate of this bug. *** Confirming because of duplicates. The backtrace in bug #311164 is a little different, it re-enters the event loop several times thanks to KAuth. I'm not sure whether that is safe or not. Anyway, it does eventually crash at the same place so I'm inclined to think it's the same bug. Are these systems that suspend when the lid is closed or systems that suspend on idle? What version of the x server are you running? Something might be changing m_registeredActionTimeouts while we're iterating through it. I'll have a patch to sprinkle in some debug statements at interesting places soon-ish, if there's anyone who reliably hits this crash and can compile their own kde-workspace. The bug occurred when I suspended the system by closing the lid. Created attachment 78634 [details]
add debug statements to trace timeout lifetime
If anyone can reproduce this at will, please build kde-workspace with this patch and add "kded" (no numbers) in kdebugdialog - do the logout/login dance until the "kded" area shows up.
Then there should be useful information in .xsession-errors next time it crashes.
(In reply to comment #5) > The bug occurred when I suspended the system by closing the lid. What version of the x11 server do you have? I had the latest release of Kubuntu (i.e. 12.10) when I reported the bug and I did not change it. Currently, the distribution includes the packages "xserver-xorg 1:7.7+1ubuntu4" and "xserver-xorg-core 2:1.13.0-0ubuntu6.1" (I do not know if they changed the version of the X server during the previous few months). The bug is not reproducible but it occurred a few times. (In reply to comment #8) > I had the latest release of Kubuntu (i.e. 12.10) when I reported the bug and > I did not change it. Currently, the distribution includes the packages > "xserver-xorg 1:7.7+1ubuntu4" and "xserver-xorg-core 2:1.13.0-0ubuntu6.1" This sounds like it might be a symptom of bug #310317 - the idle timer should be reset immediately after resume and so idle timeouts should not be happening. Can you file a bug with ubuntu to update to a recent 1.13.x point release or at least pull in the fix for https://bugs.freedesktop.org/show_bug.cgi?id=56649 ? Ubuntu 13.04 has an up-to-date xserver, fwiw. Doesn't really explain the crash though. Only that this code is not expected to be called just after resume. OK, I filed this bug with ubuntu: https://bugs.launchpad.net/ubuntu/+bug/1164876 *** Bug 319469 has been marked as a duplicate of this bug. *** *** Bug 319873 has been marked as a duplicate of this bug. *** Git commit 9659f99b1b23fbb29612b30ca56553653b9324ec by Oliver Henshaw. Committed on 04/04/2013 at 17:12. Pushed by oliverhenshaw into branch 'KDE/4.10'. Stop searching for timeout once identifier found The identifier is unique. Use QList::contains() rather than a nested for loop; break from the QHash loop once the search succeeds. Continuing to loop over the action timeouts should be safe but the brightness action may use KAuth which may return to the event loop; this allows another event to e.g. call loadProfile() which will reload all actions and kick over the timeouts. REVIEW: 110026 M +6 -8 powerdevil/daemon/powerdevilcore.cpp http://commits.kde.org/kde-workspace/9659f99b1b23fbb29612b30ca56553653b9324ec The bug is fixed I take. |