GNOME Bugzilla – Bug 657924
gnome-settings-daemon crashed with SIGSEGV in gnome_rr_screen_get_dpms_mode()
Last modified: 2011-09-01 15:51:20 UTC
this report has been filed here: https://bugs.launchpad.net/ubuntu/+source/gnome-desktop3/+bug/838670 ".
+ Trace 228308
Thread 1 (Thread 0x7f10d9224940 (LWP 5133))
The problem is that the passed "screen" argument is NULL. From a quick look at the code in g-s-d/plugins/power, it does this: 1. Connect to UpClient's signals in gsd_power_manager_init() 2. Initialize manager->priv->x11_screen in gsd_power_manager_start(). 3. Catch a signal, process it in up_client_changed_cb() 4. Call do_lid_open_action() from there. But at that point, screen = NULL. Do we know if the manager has been start()ed by the time (3) happens, so that the screen is initialized? Or did that x11_screen field get overwritten with a 0 at some point?
Created attachment 195396 [details] [review] power: Do most of the work in _start () We're not supposed to start listening to signals in _init(), but in _start(). This fixes a number of potential crashes, including one when calling out to gnome-desktop. Thanks for Federico Mena Quintero for the root causing.