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