GNOME Bugzilla – Bug 314530
CPU-sucking X-server-hosing infinite loop
Last modified: 2005-08-26 23:33:06 UTC
Distribution/Version: SUSE 10.0 beta 2 Several times now when I've resumed my laptop from sleep, gnome-screensaver has started sucking up all available CPU, in tandem with the X server. (The first time it happened I ended up having to powercycle my machine. The second time I realized it was the same bug happening again and managed to do a "top" and kill it before it got too far out of control.) After rebuilding gnome-screensaver with symbols, I found this:
+ Trace 62624
and so on, for at least another 30000 stack frames. Looking at the code, it's clear that there's an infinite loop there. I think the fix might be for check_for_clock_skew() to set watcher->priv->last_wall_clock_time *before* it calls idle_timer().
Great catch. I have committed a change that should fix this. Can you please confirm? Thanks. 2005-08-26 William Jon McCann <mccann@jhu.edu> * src/gs-watcher-x11.c (maybe_send_signal, idle_timer): Don't check the pointer position when doing an emergency locking. Fixes #314530.
Yup, now I get a password dialog instead of an infinite loop.