hard-lock with CPU spinning
Giorgos Keramidas
keramida at ceid.upatras.gr
Thu Jun 14 17:03:05 UTC 2007
On 2007-06-14 18:36, Attilio Rao <attilio at freebsd.org> wrote:
>2007/6/14, Giorgos Keramidas <keramida at ceid.upatras.gr>:
>> If I leave my laptop idle for a long period of time, it tends to lock up
>> with the CPU fan spinning fast (presumambly because some part of the
>> kernel tries to acquire a lock and spins constantly for it).
>>
>> Unfortunately, this happens when X11 is running and I can't break into
>> DDB to snoop around.
>>
>> I did notice that if I leave a terminal running:
>>
>> $ while true ; do \
>> echo -n "$(date '+%Y-%m-%d %H:%M') " ; \
>> tail -1 /var/log/messages ; \
>> sleep 10 ; \
>> done
>>
>> this works as a 'workaround' for the hardlock.
>>
>> The sources of /usr/src have been updated up to:
>>
>> 2007.06.12.15.37.17
>>
>> Any ideas how I could try to debug this?
>
> Recompile the kernel with DDB support (pay attention to disable
> KDB_UNATTENDED), additionally add WITNESS support (paying attention to
> not add WITNESS_SKIPSPIN), even if this wouldn't help in direct
> analysis.
>
> Then, when the kernel hangs, just break into the debugger and print
> out bt, show alllocks, ps.
Unfortunately, I've only been able to reproduce this while X11 is
running, so I can't enter the debugger. I'll see if I can reproduce
this on a desktop system with a serial console, because entering ddb
on a laptop running X11 without a serial port is at best tricky :)
Thanks for the ddb command tips though :-)
More information about the freebsd-current
mailing list