Subject: Re: Kernal panic woes
To: Roger Brooks <R.S.Brooks@liverpool.ac.uk>
From: Christos Zoulas <christos@zoulas.com>
List: port-i386
Date: 10/09/1998 08:44:24
On Oct 9, 1:09pm, R.S.Brooks@liverpool.ac.uk (Roger Brooks) wrote:
-- Subject: Re: Kernal panic woes
| On Fri, 9 Oct 1998, Christos Zoulas wrote:
|
| >In article <Pine.SOL.3.96.981009121304.23059A-100000@uxa.liv.ac.uk> Dave.Tyson@liverpool.ac.uk (Dave Tyson) writes:
| >
| >>panic: trap
| >>#0 0x6 in ?? ()
| >>(gdb) where
| >>#0 0x6 in ?? ()
| >>#1 0xf01e5d3b in cpu_reboot ()
| >>#2 0xf013a949 in panic ()
| >>#3 0xf01ec5d6 in trap ()
| >>(gdb) q
| >>
| >>I have had a quick look at the source code around this this area, but it
| >>is not very enlightening. Any suggestions as to how to pin down this
| >>problem would be appreciated.
| >
| >
| >You are dying because of a panic, which is good. Unfortunately you are
| >rebooting immediately after a panic, so that you are not seeing the panic
| >message. In addition, your stack is trashed, so you don't see where panic
| >is being called from. I suggest that you compile a kernel with ddb, and
| >when it panic's you'll see the message in the console, and you'll be able
| >to print a complete backtrace. My suspicion is that you are running out
| >of some resource and you need to boost some parameter.
|
| The problem is these machines are in user service, providing our site's
| web cache. Having the system drop into ddb on panic is fine during the
| day when there's someone here to notice it, but if it happens overnight
| or at weekend we want the machine to reboot without intervention. Is
| there any way we can build a kernel with ddb and then toggle the behaviour
| on panic (enter ddb or reboot) on the running system? We can't really
| build two kernels (with and without ddb) and reboot twice daily!
Yes, man sysctl will tell you :-)
In the morning you can:
sysctl -w ddb.onpanic=1
and just before you leave you can:
sysctl -w ddb.onpanic=0
Of course, the problem is that you'll enter ddb if you crash for another
reason (not a panic, but an bus error or segmentation fault in the kernel
for example).
So I suggest that you do this on both machines, hopefully you'll get
a panic during the day, then you can go back to running kernels without
ddb. Maybe we should add an option so that you enter ddb only on panic.
christos