softdep panic while low on memory during "make buildworld"

Matthew Dillon dillon at
Fri Jan 25 11:52:14 PST 2008

:I  got a "softdep_deallocate_dependencies: dangling deps" panic during
:"make buildworld" on a 64mb (virtual) machine.  I'm running  HEAD
:modified to allocate proc  structs off an objcache instead of a zone.
:The panic is not reproducible with a stock HEAD build, so presumably
:the objcache has a bigger footprint but that's another story.
:softdep_deallocate_dependencies() is called from brelse():1088:

    This has happened to me on a virtual machine too.

    First, some background... softdeps holds onto buffers which have
    dependancies, so if buf_deallocate() is EVER called on a softdep
    bp, all softdep's callback does is panic because the situation is
    not supposed to happen.

    I haven't been able to track it down yet.  The panic does not occur
    very often at all and I was in the middle of some HAMMER debugging
    when I got it and didn't want to switch modes, so to speak :-).  It
    has only happened to me once so far.

    The VKERNEL's timing is very different from a normal kernel, and
    most people run it with significantly less 'memory' then a real 
    kernel (I specify 64MB for the one I test HAMMER in, similar to
    the 64MB vkernel you were using), and those differences tend to bring
    out software bugs that are not normally apparent when running a
    real kernel.

    I am virtually certain that it is a bug in softdeps, probably related
    to its low memory code which is almost never exercised on a normal kernel.
    I don't know any more then that at the moment.


More information about the Bugs mailing list