ATA related panic during ZFS scrub

From: Mark Powell <M.S.Powell_at_salford.ac.uk>
Date: Wed, 8 Apr 2009 17:36:17 +0100 (BST)
Hi,
   Got a panic I'd not seen before, yesterday, whilst scrubbing one of two 
pools, to fix the apparently spurious CRC errors highlighted here:

http://kerneltrap.org/mailarchive/freebsd-current/2009/4/7/5428764

4GB RAM amd64

8.0-CURRENT FreeBSD 8.0-CURRENT #0 r190198M: Sat Mar 21 16:13:09 GMT 2009

/ is ufs on USB key

   Sorry, but I don't have a serial console or dump device valid in a 
panic. Here are screenshots:

http://www.rootshell.be/~msp/IMG_4393.JPG

Here's the edited gocr of the above:

-----
Fatal trap 9 general protection fault while in kernel mode
cpuid -- 1; apic id = 01
instruction pointer   = Ox8:Oxffffffff807db306
stack pointer         = Ox10:OxfffffffeeS79faaO
frame pointer         = 0x10:Oxfffffffee579faeO
Code Segment          = base Ox0, limit Oxfffff, type Ox1b
                       = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags      = interrupt enabled, resume,  IOPL  O
current process       = 12 (irq19: atacpi1++)
[thread pid 12 tid 100032 ]
Stopped at     bcopy+Ox16    repe movsq     (%rsi),%es:(%rdi)
db> lock order reversal;  (Giant after non-sleepable)
  lst Oxffffff000lebS900 ATA 6tate l0ck (T state I0ckI 
/po01/frggb6dg/ugr/src/hg ad/6y6/deu/8t8/8ta-aIl.c355
  2nd Oxffffffff80bB68cO Giant (i8nt7 
/pooI/freebsd8/u6r/src/hegd/sy6/dg4bdw/kbdx.cl044
KDB; stack backtrace
db_trace_self_wrapper() at db trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+Ox49
witness_checkorder() at witness_checkorder+0x7ea
_mtx_lock_flags() at _mtx_lock_flags+Ox68
kbdmux_ioctl() at kbdmux_ioctl+Ox101
sc_cngetc() at sc_cngetc+Oxc1
cncheckc() at cncheckc+0x65
cngetc() at cngetc+0x1c
-----

http://www.rootshell.be/~msp/IMG_4395.JPG
http://www.rootshell.be/~msp/IMG_4397.JPG

Someone suggested that this and/or the problems, in the other thread 
above, could be related to a bug in bounce buffers which occurs quite 
rarely, but is causing writing the wrong blocks or data?
   I did previously have bounce buffers:

# sysctl -a | grep bounced
hw.busdma.zone0.total_bounced: 92814775

   I'm going to try running with hw.physmem="3400M" to avoid bounce buffers 
on my hardware.
   Cheers.

-- 
Mark Powell - UNIX System Administrator - The University of Salford
Information & Learning Services, Clifford Whitworth Building,
Salford University, Manchester, M5 4WT, UK.
Tel: +44 161 295 6843  Fax: +44 161 295 5888  www.pgp.com for PGP key
Received on Wed Apr 08 2009 - 14:36:21 UTC

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