Subject: Re: kernel panic in 1.6_BETA4
To: Sean Davis <dive-nb@endersgame.net>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: port-alpha
Date: 07/15/2002 17:46:24
On Mon, Jul 15, 2002 at 08:34:47PM -0400, Sean Davis wrote:

 > Ok, a little background: I'm in the process of trying to upgrade NetBSD
 > 1.5.2 to 1.6_BETA4 on my AlphaStation 600 5/266. A GENERIC 1.6_BETA4 kernel
 > works fine, but *EVERY* non-generic kernel I have built panics. Here is the
 > traceback:
 > 
 > cpu_Debugger() at cpu_Debugger+0x4
 > panic() at panic+0x15c
 > __assert() at __assert+0x34
 > ltsleep() at ltsleep+0x114
 > isp_mboxcmd() at isp_mboxcmd+0x504
 > isp_update_bus() at isp_update_bus+0x338
 > isp_update() at isp_update+0x54
 > isp_start() at isp_start+0x1d4
 > isprequest() at isprequest+0x5c4
 > scsipi_run_queue() at scsipi_run_queue+0x26c
 > scsipi_periph_timed_thaw() at scsipi_periph_timed_thaw+0x74
 > softclock() at softclock+0x200
 > hardclock() at hardclock+0x698
 > interrupt() at interrupt+0xec
 > XentInt() at XentInt+0x1c

Ah, I see.  So, the ISP driver will avoid calling tsleep if it knows
its in interrupt context.  However, in this case, what is happening
is that a timer interrupt is what is causing the command to be run,
and thus the ISP driver doesn't know that it's in interrupt context.

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>