Re: Crash in todays current (panic: bio_caller1 used by the provider ad0s4e)

From: Pawel Jakub Dawidek <pjd_at_FreeBSD.org>
Date: Mon, 27 Aug 2007 10:07:19 +0200
On Mon, Aug 20, 2007 at 11:26:59PM +0300, Nikolay Pavlov wrote:
> Another one panic caused by geom_journal journal initialization (sorry for 
> tautology) at the final stage of EVERY kernel booting process.
> 
> I am unable to get a full crashdump because my dump device is not ready at 
> that moment.
> 
> I see the message:
> panic: bio_caller1 used by the provider ad0s4e
> 
> And a backtrace like this one:
> kdb_enter
> panic
> g_io_deliver
> g_std_done
> biodone
> g_io_schedule_up
> g_up_procbody
> fork_exit
> fork_trempoline
> 
> And the current thread is pid 3 "g_up"
> 
> The intresting thing is that i do not have this panic with GENERIC kernel.
> My kernel is deffer from it by this lines:
> #!commented!  options     WITNESS_SKIPSPIN
>               options     DEBUG_LOCKS
>               options     DEBUG_VFS_LOCKS
>               options     DIAGNOSTIC 

I know about this. The assertion I added some time ago is too strong in
case of gjournal. Gjournal can modify bio_caller1 for in-flight bios
from another thread, and the assertion doesn't and can't really take
that into an account. The assertion should be removed, pity, because
it's still useful for other GEOM classes. To make your system usable,
remove DIAGNOSTIC from your kernel configuration.

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd_at_FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Received on Mon Aug 27 2007 - 06:30:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:16 UTC