Bug 13552

Summary: Kernel panic when resuming from suspend by pressing left-ctrl + left-shift keys together more than once
Product: Power Management Reporter: amikkili
Component: Hibernation/SuspendAssignee: ykzhao (yakui.zhao)
Status: CLOSED INSUFFICIENT_DATA    
Severity: normal CC: amikkili, rjw, yakui.zhao
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.26, 2.6.28, 2.6.29, 2.6.30 Subsystem:
Regression: No Bisected commit-id:
Bug Depends on:    
Bug Blocks: 7216    
Attachments: tarball containing additional system information as noted in the description

Description amikkili 2009-06-16 18:37:03 UTC
Created attachment 21942 [details]
tarball containing additional system information as noted in the description

Toshiba U405-S2833 laptop. Machine suspends properly and resumes properly when any one key is pressed once. Machine "wakes up" when both the left-ctrl and left-shift key are pressed together multiple times but the screen does not turn on and the caps-lock light starts flashing. Machine is unresponsive at this point.

I can reproduce this on kernel versions 2.6.{26,28,29,30}, Debian and Ubuntu (all versions released since June 2008), by suspending the machine (power light turns orange and slowly flashes), and quickly pressing both the left-ctrl and left-shift keys repeatedly (at least twice) to resume at which point the caps-lock light immediately starts flashing. Resuming with any other key combination seems to work properly.

Since the screen is blank when resuming, I do not know whether any error messages appear before the kernel panic.

Several files are attached with more system information:

version - /proc/version
config-2.6.30 - current kernel configuration
dmesg.log - dmesg output
lsmod.log - lsmod output
lspci.log - lspci -vvv output
lsusb.log - lsusb -vvv output
ver_linux - output of scripts/ver_linux from kernel directory
cpuinfo - /proc/cpuinfo
ioports - /proc/ioports
iomem - /proc/iomem
dsdt - /proc/acpi/dsdt
Comment 1 Rafael J. Wysocki 2009-06-16 21:14:54 UTC
Please try with nohz=off in the kernel command line.
Comment 2 amikkili 2009-06-16 22:10:51 UTC
Using 'nohz=off' allows me to properly resume using the left-ctrl and left-shift keys. I have tried 5 times resuming the system and all 5 times it resumes properly. 

So 'nohz=off' works. Thanks.
Comment 3 ykzhao 2009-07-21 07:24:42 UTC
From the description it seems that the box can be resumed by using other keys except "ctrl + shift".  Right?
   Will you please do the following test under the console mode?
   a. kill the process using /proc/acpi/event
   b. echo mem > /sys/power/state; dmesg >dmesg_after; sync;
   c. press the power button and see whether the box can be resumed.
   d. If it can't be resumed, please reboot the system and see whether there exists the file of dmesg_after.

   If there exists the file of dmesg_after, please continue to do the above test again. Of course please use "ctrl + shift" to wake up the system instead of pressing power button.

Note: please enable "CONFIG_DRM_I915_KMS" in kernel configuration while do the above test.
   Thanks.
Comment 4 amikkili 2009-07-21 14:51:13 UTC
(In reply to comment #3)
> From the description it seems that the box can be resumed by using other keys
> except "ctrl + shift".  Right?

Yes. The only time it does not resume is when I repeatedly press "ctrl + shift". However over the past month my machine has failed to resume perhaps 3 times (flashing caps-lock key) when resuming with various other key presses, however I am not able to reproduce the events that cause that as of yet. I sleep and resume multiple times every day. Current uptime 16 days running 2.6.30 with ACPI suspend debugging turned on.

>    Will you please do the following test under the console mode?
>    a. kill the process using /proc/acpi/event

I do not understand this step. What process should I kill and how do I kill it with /proc/acpi/event?

>    b. echo mem > /sys/power/state; dmesg >dmesg_after; sync;
>    c. press the power button and see whether the box can be resumed.
>    d. If it can't be resumed, please reboot the system and see whether there
> exists the file of dmesg_after.
>    If there exists the file of dmesg_after, please continue to do the above
> test again. Of course please use "ctrl + shift" to wake up the system instead
> of pressing power button.
> Note: please enable "CONFIG_DRM_I915_KMS" in kernel configuration while do
> the
> above test.

I will do this tonight with and without the 'nohz=off' flag.

Thanks.
Comment 5 ykzhao 2009-07-22 01:16:44 UTC
You can use the command of "lsof /proc/acpi/event" to get the process id.
Thanks
Comment 6 ykzhao 2009-10-12 15:20:05 UTC
Since there is no response for more than two months, this bug will be rejected.
Thanks.