I tested this the whole day and eventually got a clearer picture of this bug. gnome-settings-daemon fails to send my notebook into hibernation because of two separate issues: 1) UPower fails to update the status of the AC adaptor. 'upower --dump' shows that the time of last update is always identical to uptime. When the adapter was plugged in while boot process, action on critical battery will never be fired. 2) At low battery level the information UPower gets (from the kernel?) is not correct. The reported battery level will never be lower than 2.99967% ('upower --dump') or 2% ('acpi -b'), time remaining never less than around 5 minutes. gnome-settings-daemon's default is 'use-time-for-policy true' and 'time-action 120'. This status will never be reached since the battery drains while time remaining is something around 300 seconds. I managed to manipulate the settings so that Gnome sends my notebook into hibernation in two different ways: 1) I set 'time-critical 420' and 'time-action 300' and booted with the AC adaptor plugged out, so that the status reported by 'upower --dump' would be: 'line-power online: no'. 2) I set 'use-time-for-policy false', 'percentage-critical 4' (default=3),'percentage-action 3' (default=2) and booted with the AC adaptor plugged out, so that the status reported by 'upower --dump' would be: 'line-power online: no'. I reassigned the bug I reported against gnome-settings-daemon to UPower: #684186 However, UPower definitely receives incorrect values when battery level is low. So I'm going to leave this bug open.
Attachment:
signature.asc
Description: This is a digitally signed message part