GNOME Bugzilla – Bug 580080
after inhibit/uninhibit, never suspends
Last modified: 2012-03-23 09:48:17 UTC
Please describe the problem: If an app inhibits power management then uninhibits p-m, g-p-m will never suspend. Steps to reproduce: 1. set suspend timeout really low for testing (2 minutes) 2. start rhythmbox... play something that takes like 5 minutes. 3. don't touch anything so computer is idle. 4. dpms will be enabled correctly, but computer will never suspend even after song finishes + suspend timeout. Actual results: computer doesn't suspend even after playback stops + suspend timeout. Expected results: computer should suspend after playback stops + suspend timeout. Does this happen every time? yes Other information: rhythmbox logs: (03:38:47) [0x136e500] [register_rb_plugin] rb-power-manager-plugin.c:72: Registering plugin RBGPMPlugin (03:38:47) [0x136e500] [rb_gpm_plugin_init] rb-power-manager-plugin.c:85: RBGPMPlugin initialising (03:39:00) [0x136e500] [inhibit] rb-power-manager-plugin.c:201: inhibiting (03:39:00) [0x136e500] [inhibit_cb] rb-power-manager-plugin.c:181: got cookie 926759184 (03:43:50) [0x136e500] [uninhibit] rb-power-manager-plugin.c:256: uninhibiting; cookie = 926759184 (03:43:50) [0x136e500] [uninhibit_cb] rb-power-manager-plugin.c:235: uninhibited g-p-m logs (time same as rhythmbox: TI:03:39:00 TH:0x1623890 FI:gpm-inhibit.c FN:gpm_inhibit_inhibit,191 - Recieved Inhibit from 'Music Player' (:1.75) because 'Playing' saving as #926759184 TI:03:39:48 TH:0x1623890 FI:gpm-screensaver.c FN:gpm_screensaver_powersave_idle_changed,102 - emitting powersave-idle-changed : (1) TI:03:39:48 TH:0x1623890 FI:gpm-idle.c FN:powersave_idle_changed_cb,335 - Received GS powesave idle changed: 1 TI:03:39:48 TH:0x1623890 FI:gpm-idle.c FN:gpm_idle_set_mode,98 - Doing a state transition: 1 TI:03:39:48 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_notify_system_idle_changed,624 - we were active for 306.139802s TI:03:39:48 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_notify_system_idle_changed,627 - changing powersave idle status to 1 TI:03:39:48 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_brightness_evaluate_and_set,367 - no dimming hardware TI:03:39:48 TH:0x1623890 FI:gpm-info.c FN:gpm_info_event_log,579 - Adding 2 to the event log TI:03:39:48 TH:0x1623890 FI:gpm-array.c FN:gpm_array_append,141 - adding to 0x189ff40, x=915, y=2, data=0 TI:03:40:18 TH:0x1623890 FI:gpm-screensaver.c FN:gpm_screensaver_session_idle_changed,91 - emitting session-idle-changed : (1) TI:03:40:18 TH:0x1623890 FI:gpm-idle.c FN:session_idle_changed_cb,310 - Received GS session idle changed: 1 TI:03:40:18 TH:0x1623890 FI:gpm-idle.c FN:gpm_idle_set_mode,98 - Doing a state transition: 2 TI:03:40:18 TH:0x1623890 FI:gpm-dpms.c FN:gpm_dpms_set_active,443 - setting DPMS active: 1 TI:03:40:18 TH:0x1623890 FI:gpm-dpms.c FN:x11_sync_server_dpms_settings,130 - Syncing DPMS settings enabled=1 timeouts=60 60 120 TI:03:40:18 TH:0x1623890 FI:gpm-dpms.c FN:x11_sync_server_dpms_settings,187 - set DPMS timeouts: 60 60 120. TI:03:40:18 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_notify_system_idle_changed,596 - we have just been idle for 30.002201s TI:03:40:18 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_notify_system_idle_changed,627 - changing powersave idle status to 0 TI:03:40:18 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_brightness_evaluate_and_set,367 - no dimming hardware TI:03:40:18 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_sync_policy,160 - choosing sensible default TI:03:40:18 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_sync_policy,165 - not laptop, so use GPM_BACKLIGHT_METHOD_STAGGER TI:03:40:18 TH:0x1623890 FI:gpm-backlight.c FN:gpm_backlight_sync_policy,194 - BACKLIGHT parameters 60 60 120, method '1' TI:03:40:18 TH:0x1623890 FI:gpm-dpms.c FN:x11_sync_server_dpms_settings,130 - Syncing DPMS settings enabled=1 timeouts=60 60 120 TI:03:40:18 TH:0x1623890 FI:gpm-manager.c FN:idle_changed_cb,834 - Idle state changed: SESSION TI:03:40:18 TH:0x1623890 FI:gpm-info.c FN:gpm_info_event_log,579 - Adding 3 to the event log TI:03:40:18 TH:0x1623890 FI:gpm-array.c FN:gpm_array_append,141 - adding to 0x189ff40, x=945, y=3, data=0 TI:03:41:18 TH:0x1623890 FI:gpm-idle.c FN:system_timer,171 - System idle timeout TI:03:41:23 TH:0x1623890 FI:gpm-idle.c FN:gpm_idle_set_mode,98 - Doing a state transition: 3 TI:03:41:23 TH:0x1623890 FI:gpm-manager.c FN:idle_changed_cb,837 - Idle state changed: SYSTEM TI:03:41:23 TH:0x1623890 FI:gpm-inhibit.c FN:gpm_inhibit_has_inhibit,340 - We have 1 valid inhibitors TI:03:41:23 TH:0x1623890 FI:gpm-notify.c FN:gpm_notify_create,126 - libnotify: Power Manager : <b>Music Player</b> has stopped the timeout action from taking place: <b>Playing</b>. TI:03:41:24 TH:0x1623890 FI:gpm-srv-screensaver.c FN:dpms_mode_changed_cb,196 - DPMS mode changed: 2 TI:03:41:24 TH:0x1623890 FI:gpm-screensaver.c FN:gpm_screensaver_add_throttle,318 - adding throttle reason: 'Display DPMS activated': id 1965425529 TI:03:41:24 TH:0x1623890 FI:gpm-backlight.c FN:mode_changed_cb,711 - emitting mode-changed : suspend TI:03:41:24 TH:0x1623890 FI:gpm-profile.c FN:dpms_mode_changed_cb,655 - DPMS mode changed: 2 TI:03:41:24 TH:0x1623890 FI:gpm-info.c FN:dpms_mode_changed_cb,732 - DPMS mode changed: 2 TI:03:41:24 TH:0x1623890 FI:gpm-info.c FN:gpm_info_event_log,579 - Adding 13 to the event log TI:03:41:24 TH:0x1623890 FI:gpm-array.c FN:gpm_array_append,141 - adding to 0x189ff40, x=1011, y=13, data=0 TI:03:43:24 TH:0x1623890 FI:gpm-srv-screensaver.c FN:dpms_mode_changed_cb,196 - DPMS mode changed: 3 TI:03:43:24 TH:0x1623890 FI:gpm-screensaver.c FN:gpm_screensaver_remove_throttle,338 - removing throttle: id 1965425529 TI:03:43:24 TH:0x1623890 FI:gpm-screensaver.c FN:gpm_screensaver_add_throttle,318 - adding throttle reason: 'Display DPMS activated': id 1499225021 TI:03:43:24 TH:0x1623890 FI:gpm-backlight.c FN:mode_changed_cb,711 - emitting mode-changed : off TI:03:43:24 TH:0x1623890 FI:gpm-profile.c FN:dpms_mode_changed_cb,655 - DPMS mode changed: 3 TI:03:43:24 TH:0x1623890 FI:gpm-info.c FN:dpms_mode_changed_cb,732 - DPMS mode changed: 3 TI:03:43:24 TH:0x1623890 FI:gpm-info.c FN:gpm_info_event_log,579 - Adding 14 to the event log TI:03:43:24 TH:0x1623890 FI:gpm-array.c FN:gpm_array_append,141 - adding to 0x189ff40, x=1131, y=14, data=0 TI:03:43:50 TH:0x1623890 FI:gpm-inhibit.c FN:gpm_inhibit_un_inhibit,234 - UnInhibit okay #926759184 this is when i gave up (5 minutes after uninhibit... should have suspended after 2 minutes): TI:03:49:04 TH:0x1623890 FI:gpm-screensaver.c FN:gpm_screensaver_powersave_idle_changed,102 - emitting powersave-idle-changed : (0) TI:03:49:04 TH:0x1623890 FI:gpm-idle.c FN:powersave_idle_changed_cb,335 - Received GS powesave idle changed: 0
Why this still unconfirmed? This is really nasty bug because you never sure will your computer locked automatically or will showing desktop indefinitely for all. Here easy testcase with python script: import dbus, time bus = dbus.SessionBus() obj = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver') iface = dbus.Interface(obj, 'org.gnome.ScreenSaver') cookie = iface.Inhibit('test', 'test') # set this to value bigger than your screensaver delay and computer will never locked up until you do something time.sleep(100) iface.UnInhibit(cookie)
*** Bug 579908 has been marked as a duplicate of this bug. ***