kern/107315: Loading gmirror causes 'Fatal double trap'
Geoffrey Giesemann
geoffwa at cs.rmit.edu.au
Fri Dec 29 18:50:21 PST 2006
The following reply was made to PR kern/107315; it has been noted by GNATS.
From: Geoffrey Giesemann <geoffwa at cs.rmit.edu.au>
To: Remko Lodder <remko at elvandar.org>
Cc: freebsd-gnats-submit at FreeBSD.org
Subject: Re: kern/107315: Loading gmirror causes 'Fatal double trap'
Date: Sat, 30 Dec 2006 13:48:57 +1100
On Sat, Dec 30, 2006 at 03:10:30AM +1100, Geoffrey Giesemann wrote:
>
> I'll throw more compilation options at the system and see what happens.
>
Okay I managed to get into KDB. Here's a more correct output of what
happened plus a backtrace:
Note that this is manually transcribed -> * indicates where I can't
read my own handwriting :(
(I *am* setting up a serial console for this)
# /sbin/gmirror load
GEOM_MIRROR: Device os: created (id = 2867703138)
GEOM_MIRROR: Device os: provider ad6 detected
GEOM_MIRROR: Device os: provider ad4 detected
GEOM_MIRROR: Device os: provider ad6 activated
GEOM_MIRROR: Device os: provider ad4 activated
GEOM_MIRROR: Device os: provider mirror/os launched
(slight pause)
Fatal double fault
eip = 0xc05a39a7
esp = 0xe365eff8
ebp = 0xe365f03c
cpuid = 1; apic id = 08
panic double fault
cpuid = 1
KDB: enter: panic
[thread pid 2 tid 100001]
Stopped at kdb_enter+0x30: leave
db> trace
Tracing pid 2 tid 100001 td 0xc4afbd80
kdb_enter(c07d3a00,1,c07f61b0,c08ee9a8,c4afbd80,...) at kdb_enter+0x30
panic(c07f61b0,0,0,0,0,...) at panic+0x14e
dblfault_handler() at dblfault_handler+0x8c
--- trap 0x17, eip = 0xc05a39a7, esp = 0xe365eff8, ebp = 0x365f03c ---
witness_checkorder(c0871020,b,c07cf6cb,ce,0,...) at witness_checkorder+0x77
_mtx_lock_spin_flags(c0871020,2,c07cf6cb,ce,c08ebf20,...) at _mtx_lock_spin_flags+0xa5
hardclcok_process(e365f0a8,c056ca6d,c0878500,c08beb98,e365f108,...) at hardclock_process+0x3c
lapic_handle_timer(0) at lapic_handle_timer+0x7d
Xtimerint(0,c086eda0,c0880ba0,c086eda0,c4ebe800,...) at Xtimerint+0x30
witness_lock(c086eda0,8,c4e9932b,adc,adb,...) at witness_lock+0xb7
_sx_xlock(c086eda0,c4e9932b,adc,***71060,...) at _sx_lock+0xd2
g_mirror_access(c4e7a700,1,0,***,...) at g_mirror_access+0x10a
g_access(c4e71800,1,0,32,c4e71800) at g_access+0x24b
g_slice_access(c4e71640,1,0,32,31,...) at g_slice_access+0x180
(lots of alternating g_access/g_slice_access calls)
g_mirror_read_metadata(c4f79c40,e3660bf0,c4f79c40,c4f66300,c4f85580,...) at g_mirror_read_metadata+0x33
g_mirror_taste(c4e9nn20,c4f66300,0,1bb,c4f55380,...) at g_mirror_taste+0xca
one_event(c086eda0,66666667,c4afa218,0,e3660d00,...) at one_event+0x1f2
g_run_events(c086edfc,0,4c,c07ccd87,64,...) at g_run_events+0x15
g_event_procbody(0,e3660d38,c07d0c05,32d,0,...) at g_event_procbody+0x95
fork_exit(c0532990,0,e3660d38) at fork_exit+0xc1
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xe3660d6c, ebp = 0 ---
db>
Hope this helps.
--Geoff
More information about the freebsd-bugs
mailing list