[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 3.0 kernel crash (network related)



Toni Mueller <openbsd-tech@oeko.net> writes:

> Hello,
> 
> I tried to rsync the OBSD CVS tree to a new box. This froze the box
> after about a minute or so, dropping it into ddb. It also happened
> after a fresh reboot. So this imho accounts for reproducability.
> Other than that I don't quite know where to look. Anyway, here is
> what I scribbled off the screen:
> 
> 
> panic: pool_get: mbpl: page empty
> Stopped at _Debugger+0x4: leave
[...]
> _panic(e01b2437,e01c3ddd,e0901100,e9f25c2c,90) at _panic+0x81
> _pool_get(e0595cb0,0,e08f2200,e9f25cec,e089fd00) AT _pool_get+0x223
> _fxp_add_rfabuf(e088a000,e089fd00,e962e824,4) at fxp_add_rfabuf+0x33
> _fxp_intr(e088a000) at _fxp_intr+0x1e0
> _Xrecurse10() at _Xrecurse10+0x79
> ---interrupt---
> _pool_get(e0595cb0,0,80,4,e090b800) at _pool_get+0x2c6
> _tcp_output(e08f2200,1,e9e77870,e9f25f24) at _tcp_output+0x8ef

This can't happen. The lower pool_get is wrapped in splimp() that blocks
network interrupts from happening.

Are you maybe running a custom kernel? Built with some special optimization
options? Do you have an /etc/mk.conf? I know that our code is probably not
safe to compile with some more aggressive gcc optimizations because gcc
reorders instructions too much.

//art