minidump fails on SMP machines

Andrew Brampton brampton+freebsd at gmail.com
Sun Feb 28 20:56:47 UTC 2010


Hello,

When many interrupts are firing on my amd64 SMP machine, and a panic
occurs, dump will fail with the error "Attempt to write outside dump
device boundaries". This problem has been discussed before[1][2], and
I even filled a PR about it last year[3].

>From what I understand the reason this occurs is because interrupts
are not disabled on all cores during the dump. There was even a TODO
comment about this in kern_shutdown.c
 414        /* XXX This doesn't disable interrupts any more.  Reconsider? */
 415        splhigh();

However, looking at my FreeBSD 8.0 and HEAD source, these two lines
were removed by commit r196198 by attilio. Now that commit seems to
deal with disabling interrupts on other cores, but perhaps not
specifically to fix this bug. So my question is, should this dump bug
now be fixed? Or should the XXX comment been left in? Or is the dump
bug caused by something else? I would appreciate this problem being
fixed, as it causes me a lot of headaches when trying to debug my
kernel module :(.

On a side note, I read that my problem only occurs when using
minidump. Is it possible to do a full dump to avoid this problem, if
so how?

thanks
Andrew

[1] http://lists.freebsd.org/pipermail/freebsd-current/2008-January/082752.html
[2] http://lists.freebsd.org/pipermail/freebsd-current/2008-June/086574.html
[3] http://www.freebsd.org/cgi/query-pr.cgi?pr=amd64/139614


More information about the freebsd-current mailing list