GNOME Bugzilla – Bug 356052
slideshow segfaults
Last modified: 2007-05-03 20:58:51 UTC
Steps to reproduce: 1. Run slideshow 2. 3. Stack trace: Sep 14 23:07:16 kernel: slideshow[11407]: segfault at 00007fff00000018 rip 0000003dcfe217ae rsp 00007fff857e48e0 error 4 Other information: I am running FC5 with the latest updates. Slideshow used to work fine until a recent update. This is x86_64 machine. nvidia graphics card using nvidia's driver
I'm not seeing this here. Does it crash when you just run it from the command line: /usr/libexec/gnome-screensaver/slideshow If it does can you run it under gdb: gdb /usr/libexec/gnome-screensaver/slideshow and then do "bt" and post the output. You may need to use a --location= argument depending on which slideshow theme you are using... Thanks.
It does not crash from the command line, although it is not in full screen mode.
Can you run gnome-screensaver-preferences from the command line and see if it crashes there? Or kill the running g-s process and run: gnome-screensaver --no-daemon --debug And post the output here. We might be able to see some of the output from the subprocess in it. Thanks.
[check_for_clock_skew] gs-watcher-x11.c:1327 (14:15:23): checking wall clock for hibernation, changed: 0:00:00 [watcher_idle_cb] gs-monitor.c:110 (14:15:23): Idle signal detected: 1 [gs_listener_set_session_idle] gs-listener-dbus.c:362 (14:15:23): Setting session idle: 1 [listener_check_activation] gs-listener-dbus.c:260 (14:15:23): Checking for activation [listener_check_activation] gs-listener-dbus.c:275 (14:15:23): Trying to activate [gs_grab_get_keyboard] gs-grab-x11.c:166 (14:15:23): Grabbing keyboard widget=135 [gs_grab_get_mouse] gs-grab-x11.c:192 (14:15:23): Grabbing mouse widget=135[gs_manager_activate] gs-manager.c:1323 (14:15:23): fading out [fade_done_cb] gs-manager.c:1279 (14:15:23): fade completed, showing windows [window_map_cb] gs-manager.c:1039 (14:15:23): Handling window map event [gs_window_clear] gs-window-x11.c:254 (14:15:23): Clearing window [clear_all_children] gs-window-x11.c:229 (14:15:23): Clearing all child windows [window_show_cb] gs-manager.c:1091 (14:15:23): Handling window show [gs_watcher_set_active] gs-watcher-x11.c:774 (14:15:23): turning watcher: OFF [_gs_watcher_set_active_internal] gs-watcher-x11.c:757 (14:15:23): Stopping idle watcher [gs_listener_send_signal_active_changed] gs-listener-dbus.c:162 (14:15:23): Sending the ActiveChanged(TRUE) signal on the session bus [_gs_watcher_set_session_idle] gs-watcher-x11.c:550 (14:15:23): Changing idle state: 1 [watcher_idle_notice_cb] gs-monitor.c:126 (14:15:23): Idle notice signal detected: 0 [watcher_idle_notice_cb] gs-monitor.c:148 (14:15:23): manager active, skipping fade cancellation [_gs_watcher_set_session_idle_notice] gs-watcher-x11.c:527 (14:15:23): Changing idle notice state: 0 [gs_window_xevent] gs-window-x11.c:460 (14:15:23): not raising our windows [window_map_event_cb] gs-manager.c:1026 (14:15:23): Handling window map_event event [gs_grab_move_keyboard] gs-grab-x11.c:328 (14:15:23): Moving keyboard grab from 135 to 2E00006 [gs_grab_move_keyboard] gs-grab-x11.c:335 (14:15:23): *** doing X server grab [gs_grab_release_keyboard] gs-grab-x11.c:218 (14:15:23): Ungrabbing keyboard [gs_grab_get_keyboard] gs-grab-x11.c:166 (14:15:23): Grabbing keyboard widget=2E00006 [gs_grab_move_keyboard] gs-grab-x11.c:357 (14:15:23): *** releasing X server grab [gs_grab_move_mouse] gs-grab-x11.c:274 (14:15:23): Moving pointer grab from 135 to 2E00006 [gs_grab_move_mouse] gs-grab-x11.c:281 (14:15:23): *** doing X server grab [gs_grab_release_mouse] gs-grab-x11.c:236 (14:15:23): Ungrabbing pointer [gs_grab_get_mouse] gs-grab-x11.c:192 (14:15:23): Grabbing mouse widget=2E00006 [gs_grab_move_mouse] gs-grab-x11.c:304 (14:15:23): *** releasing X server grab [manager_maybe_start_job_for_window] gs-manager.c:190 (14:15:23): Starting job for window [gs_job_start] gs-job.c:758 (14:15:23): starting job [nice_process] gs-job.c:555 (14:15:23): Setting child process priority to: 10 [gs_window_xevent] gs-window-x11.c:460 (14:15:23): not raising our windows [window_map_event_cb] gs-manager.c:1026 (14:15:23): Handling window map_event event [gs_grab_move_keyboard] gs-grab-x11.c:321 (14:15:23): Window 2E00006 is already grabbed, skipping [gs_grab_move_mouse] gs-grab-x11.c:262 (14:15:23): Window 2E00006 is already grabbed, skipping [manager_maybe_start_job_for_window] gs-manager.c:196 (14:15:23): Not starting job because job is running [unfade_idle] gs-manager.c:998 (14:15:23): resetting fade [gs_fade_reset] gs-fade.c:640 (14:15:23): Resetting fade [gs_window_xevent] gs-window-x11.c:472 (14:15:23): not raising our windows [gs_window_xevent] gs-window-x11.c:472 (14:15:23): not raising our windows [gs_job_died] gs-job.c:434 (14:15:23): Waiting on process 21391 [gs_job_died] gs-job.c:448 (14:15:23): Job died [find_window_at_pointer] gs-manager.c:949 (14:15:34): Requesting unlock for screen 0 [gs_window_request_unlock] gs-window-x11.c:1019 (14:15:34): Requesting unlock[gs_grab_release_keyboard_and_mouse] gs-grab-x11.c:384 (14:15:34): Releasing all grabs [gs_grab_release_mouse] gs-grab-x11.c:236 (14:15:34): Ungrabbing pointer [gs_grab_release_keyboard] gs-grab-x11.c:218 (14:15:34): Ungrabbing keyboard [gs_job_stop] gs-job.c:814 (14:15:34): stopping job [window_unmap_cb] gs-manager.c:1046 (14:15:34): window unmapped! [gs_window_dialog_finish] gs-window-x11.c:815 (14:15:34): Dialog finished [gs_watcher_set_active] gs-watcher-x11.c:774 (14:15:34): turning watcher: ON
gnome-screensaver-preferences also produces the same output in my /var/log/messages: Sep 15 14:15:23 greylock kernel: slideshow[21391]: segfault at 00007fff00000018 rip 0000003dcfe217ae rsp 00007fff9dbd3ce0 error 4 Sep 15 14:18:59 greylock kernel: slideshow[21442]: segfault at 00007fff00000018 rip 0000003dcfe217ae rsp 00007fff8a7d11f0 error 4 and leaves the demo screen all black.
Ok, then I think the best way to get at a stack trace is to enable core dumps and then run the preferences. Here's some info on how to enable core dumps: http://kbase.redhat.com/faq/FAQ_52_2890.shtm If you have another distro the info may be a bit different. Then run gnome-screensaver-preferences. With any luck you then get a core file or two probably in the current directory or your home directory. Then extract the stack trace from the core file: http://fedoraproject.org/wiki/StackTraces#core Thanks.
Here is a stack trace from core dump. (gdb) thread apply all bt full
+ Trace 72561
Thread 1 (process 2873)
Could you please try installing debuginfo packages and attaching the stacetrace with them installed? http://live.gnome.org/GettingTraces#head-62fed2004a51381957ab279a3e38f685a11ea0a8
... for gtk+, gdk, gnome-screensaver Thanks.
I install debug info for gtk+ and gnome-screensaver. I am not sure what gdk is. Attached is the result:
+ Trace 74120
Thread 1 (process 2904)
It doesn't look like you have the GTK+ debuginfo. I think in FC5 the debuginfo package for GTK+ is called "gtk2-debuginfo". Could you install that too and try again? Thanks, sorry about that.
I installed gtk2-debuginfo, and hopefully this is what you are looking for:
+ Trace 74123
Thread 2 (process 2905)
Yes that looks better. Could you attach the entire backtrace?
How do I get the entire backtrace? I ran the command: thread apply all bt full I posted everything that came out.
I removed the "full" and here is what I get. Is this what you are looking for? (gdb) thread apply all bt
+ Trace 74124
Yup. That's better. Thank you.
I downloaded source code for version 2.17.1 and slideshow no longer segfaults.
OK, good. I'll close this bug then. Please reopen if you see it again. Thanks.
Actually William, I found this bug after digging a bit more, and it seems exactly the same. I am using gnome-screensaver 2.18.1 from Debian unstable (amd64 distribution). I managed to make a back trace: backtrace:
+ Trace 132195
Thread 1 (process 7367)
And this is the debug info from gnome-screensaver --no-daemon --debug >/tmp/trace 2>&1 (hopefully the relevant parts): [gs_manager_create_window] gs-manager.c:1343 (22:34:15): Creating 1 windows for screen 0 [gs_manager_activate] gs-manager.c:1462 (22:34:15): fading out [fade_done_cb] gs-manager.c:1423 (22:34:16): fade completed, showing windows [get_best_visual_for_screen] gs-window-x11.c:471 (22:34:16): Found best GL visual for screen 0: 0x23 [window_map_cb] gs-manager.c:1182 (22:34:16): Handling window map event [gs_window_clear] gs-window-x11.c:274 (22:34:16): Clearing window [clear_all_children] gs-window-x11.c:249 (22:34:16): Clearing all child windows [window_show_cb] gs-manager.c:1231 (22:34:16): Handling window show [gs_job_set_command] gs-job.c:193 (22:34:16): Setting command for job: 'slideshow --location=/usr/share/pixmaps/backgrounds/cosmos' [gs_watcher_set_active] gs-watcher-x11.c:730 (22:34:16): turning watcher: OFF [_gs_watcher_set_active_internal] gs-watcher-x11.c:713 (22:34:16): Stopping idle watcher [gs_listener_send_signal_active_changed] gs-listener-dbus.c:258 (22:34:16): Sending the ActiveChanged(TRUE) signal on the session bus [gs_manager_set_lock_active] gs-manager.c:406 (22:34:16): Setting lock active: 1 [listener_service_deleted] gs-listener-dbus.c:1003 (22:34:16): DBUS service deleted: :1.29 [gs_window_xevent] gs-window-x11.c:650 (22:34:16): not raising our windows [window_map_event_cb] gs-manager.c:1169 (22:34:16): Handling window map_event event [manager_maybe_grab_window] gs-manager.c:1123 (22:34:16): Moving grab to 0x68a070 [xorg_lock_smasher_set_active] gs-grab-x11.c:126 (22:34:16): Disabling the x.org grab smasher [xorg_lock_smasher_set_active] gs-grab-x11.c:146 (22:34:16): XF86MiscSetGrabKeysState(off) returned MiscExtGrabStateSuccess [gs_grab_move_keyboard] gs-grab-x11.c:333 (22:34:16): Moving keyboard grab from 3E to 2E00020 [gs_grab_move_keyboard] gs-grab-x11.c:340 (22:34:16): *** doing X server grab [gs_grab_release_keyboard] gs-grab-x11.c:221 (22:34:16): Ungrabbing keyboard [gs_grab_get_keyboard] gs-grab-x11.c:166 (22:34:16): Grabbing keyboard widget=2E00020 [gs_grab_move_keyboard] gs-grab-x11.c:362 (22:34:16): *** releasing X server grab [gs_grab_move_mouse] gs-grab-x11.c:278 (22:34:16): Moving pointer grab from 3E to 2E00020 [gs_grab_move_mouse] gs-grab-x11.c:285 (22:34:16): *** doing X server grab [gs_grab_release_mouse] gs-grab-x11.c:239 (22:34:16): Ungrabbing pointer [gs_grab_get_mouse] gs-grab-x11.c:195 (22:34:16): Grabbing mouse widget=2E00020 [gs_grab_move_mouse] gs-grab-x11.c:308 (22:34:16): *** releasing X server grab [manager_maybe_start_job_for_window] gs-manager.c:198 (22:34:16): Starting job for window [gs_job_start] gs-job.c:431 (22:34:16): starting job [nice_process] gs-job.c:234 (22:34:16): Setting child process priority to: 10 [gs_window_xevent] gs-window-x11.c:650 (22:34:16): not raising our windows [window_map_event_cb] gs-manager.c:1169 (22:34:16): Handling window map_event event [manager_maybe_grab_window] gs-manager.c:1123 (22:34:16): Moving grab to 0x68a070 [xorg_lock_smasher_set_active] gs-grab-x11.c:126 (22:34:16): Disabling the x.org grab smasher [xorg_lock_smasher_set_active] gs-grab-x11.c:146 (22:34:16): XF86MiscSetGrabKeysState(off) returned MiscExtGrabStateAlready [gs_grab_move_keyboard] gs-grab-x11.c:326 (22:34:16): Window 2E00020 is already grabbed, skipping [gs_grab_move_mouse] gs-grab-x11.c:266 (22:34:16): Window 2E00020 is already grabbed, skipping [manager_maybe_start_job_for_window] gs-manager.c:204 (22:34:16): Not starting job because job is running [unfade_idle] gs-manager.c:1150 (22:34:16): resetting fade [gs_fade_reset] gs-fade.c:634 (22:34:16): Resetting fade [gs_window_xevent] gs-window-x11.c:662 (22:34:16): not raising our windows [gs_window_xevent] gs-window-x11.c:662 (22:34:16): not raising our windows [gs_job_died] gs-job.c:128 (22:34:16): Waiting on process 7102 [gs_job_died] gs-job.c:142 (22:34:16): Job died Please let me know if you need more information, or anything else that I could help with.
If you change your desktop theme to something else (say Clearlooks) does this still occur?
Nope, that fixes it. It only crashes with Glider and Industrial here.