Crash with GJournal switcher

David N davidn04 at gmail.com
Tue Jun 2 12:01:12 UTC 2009


2009/6/2 David N <davidn04 at gmail.com>:
> FreeBSD 7.2-RELEASE
> GPT + gmirror + gjournal
>
> May 31 10:15:48 netserv1 kernel: Fatal trap 9: general protection
> fault while in kernel mode
> May 31 10:15:48 netserv1 kernel: cpuid = 0; apic id = 00
> May 31 10:15:48 netserv1 kernel: instruction pointer    = 0x8:0xffffffff8059f667
> May 31 10:15:48 netserv1 kernel: stack pointer          =
> 0x10:0xfffffffe801e0a60
> May 31 10:15:48 netserv1 kernel: frame pointer          =
> 0x10:0xfffffffe801e0a90
> May 31 10:15:48 netserv1 kernel: code segment           = base 0x0,
> limit 0xfffff, type 0x1b
> May 31 10:15:48 netserv1 kernel: = DPL 0, pres 1, long 1, def32 0, gran 1
> May 31 10:15:48 netserv1 kernel: processor eflags       = interrupt
> enabled, resume, IOPL = 0
> May 31 10:15:48 netserv1 kernel: current process                = 39
> (g_journal switcher)
>
>
> This caused one of my mirrors to become stale upon reboot. There
> wasn't any crash dumps.
>
> I've got WITNESS compiled at the moment, hopefully a crash/lockup will
> show something. Would the gjournal fail if one of the gmirror disks
> was faulty?
>
> Regards
> David N
>

lock order reversal:
 1st 0xffffffff80b184c0 sleepq chain (sleepq chain) @
/usr/src/sys/kern/kern_sig.c:2291
 2nd 0xffffffff80afb5b0 scrlock (scrlock) @
/usr/src/sys/dev/syscons/syscons.c:2519
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
witness_checkorder() at witness_checkorder+0x565
_mtx_lock_spin_flags() at _mtx_lock_spin_flags+0x3d
sc_puts() at sc_puts+0x93
sc_cnputc() at sc_cnputc+0x5a
cnputc() at cnputc+0x49
putchar() at putchar+0x6b
kvprintf() at kvprintf+0x72
printf() at printf+0xa4
witness_checkorder() at witness_checkorder+0x44c
_mtx_lock_spin_flags() at _mtx_lock_spin_flags+0x3d
wakeup() at wakeup+0x11
tdsignal() at tdsignal+0x526
realitexpire() at realitexpire+0x3e
softclock() at softclock+0x270
ithread_loop() at ithread_loop+0xe7
fork_exit() at fork_exit+0x112
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xfffffffe8001cd30, rbp = 0 ---
acquiring duplicate lock of same type: "sleepq chain"
 1st sleepq chain @ /usr/src/sys/kern/kern_sig.c:2291
 2nd sleepq chain @ /usr/src/sys/kern/subr_sleepqueue.c:232
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
witness_checkorder() at witness_checkorder+0x565
_mtx_lock_spin_flags() at _mtx_lock_spin_flags+0x3d
wakeup() at wakeup+0x11
tdsignal() at tdsignal+0x526
realitexpire() at realitexpire+0x3e
softclock() at softclock+0x270
ithread_loop() at ithread_loop+0xe7
fork_exit() at fork_exit+0x112
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xfffffffe8001cd30, rbp = 0 ---


More information about the freebsd-fs mailing list