On 29-Nov-00 Andrea Campi wrote:
>> Then when it panics write down the values that get printed out.  Next,
>> do 'nm /sys/compile/MYKERNEL/kernel.debug | sort' and look for the function
>> whose address matches the c_func address printed out, then send this info
>> back
>> please. :)
> This time it took me 1 hour to get the panic, compared to a few minutes
> of earlier panics. So, I got:
> Bad callout handler: c_func = 0xc025ad3c, c_arg=0xc0338460, c_flags=7
> First I tried a
> db> x/i,10 0xc025ad3c
> scrn_timer:   pushl   %ebp
> [...]
> nm just confirmed this, so it definitely looks like scrn_timer is to blame
> here. Any other instructions? ;-) For the time being, vidcontrol -t off
> (seems to) keep the machine up.
> Bye,
>       Andrea

Weird, I don't see anything offhand that syscons is doing that would cause it
to leak Giant.  Hmm.  Can you add a the same code before the mtx_enter() of
Giant?  (But after the mtx_exit() of callout_lock to be on the safe side). 
Also, add in a 'mtx_assert(&Giant, MA_NOTOWNED);' in between teh splx() and
splhigh() right below the "Give interrupts a chance" comment up about 15 lines
or so.


John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to