Double fault during reboot/shutdown
dillon at apollo.backplane.com
Mon Jun 2 09:43:46 PDT 2008
:On Mon, Jun 2, 2008 at 4:50 AM, Matthew Dillon
:<dillon at apollo.backplane.com> wrote:
:> A recent commit at some point in the last few weeks is causing
:> real-kernel reboots and shutdowns to ocassionally double-fault.
:> vkernels also occassionally seg-fault on shutdown.
:Strange, I have four boxes runs HEAD from May 31. Though rebooting of
:these boxes is not very frequent, I didn't experience the problem you
:described (both UP and MP).
I found the bug. It's a bug in the objcache calls to free the thread
structure. objcache_put() is being called with td in the context of
that same td, which is illegal.
What I will have to do is put a one-entry TD cache back in the per-cpu
globaldata so the TD remains valid through cpu_thread_exit().
<dillon at backplane.com>
More information about the Commits