Current-Users archive

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

new panic, null block device



Today while starting an anita run I got the following after it
finished the install phase:

 All selected distribution sets unpacked successfully.
 Making device nodes ...
 kernel: supervisor trap page fault, code=0
Stopped in pid 0.39 (system) at c08682f1:       movl    4(%edx),%edx
db{0}> 

No backtrace unfortunately (would be nice if anita could arrange that)
so I don't know how it got here, but I did figure out what happened.

The crash is in vn_lock. vn_lock does

        if (wapbl_vphaswapbl(vp))
                WAPBL_JUNLOCK_ASSERT(wapbl_vptomp(vp));

and within wapbl_vphaswapbl(), which is inline, we find another call
to wapbl_vptomp(), which contains:

                if (vp->v_type == VBLK)
                        mp = vp->v_specmountpoint;

It seems that v_specmountpoint is actually a macro that expands to

        v_specnode->sn_dev->sd_mountpoint

and it crashed because sn_dev was null.

I have no idea how this can happen but I'm pretty sure I've not seen
this crash before, either myself or on the lists or in the bug
database, so I figured I ought to share it... anyone have any theories?

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index