kern/114676: snapshot creation panics: snapacct_ufs2: bad block

Gael Roualland gael.roualland at dial.oleane.com
Tue Jul 17 21:50:03 UTC 2007


>Number:         114676
>Category:       kern
>Synopsis:       snapshot creation panics: snapacct_ufs2: bad block
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 17 21:50:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Gael Roualland
>Release:        FreeBSD 6.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD jerry.priv 6.2-STABLE FreeBSD 6.2-STABLE #1: Tue Mar 13 01:41:29 CET 2007 gael at jerry:/home/cvsup/obj/home/cvsup/src/sys/JERRY i386

>Description:
I've been using automatic, daily snapshots on this system with no 
problems for a while on various sized UFS2 filesystems.

On the course of taking a snapshot yesterday night, the box crashed with 
the following dump :

Dump header from device /dev/ad0s1b
  Architecture: i386
  Architecture Version: 2
  Dump Length: 402247680B (383 MB)
  Blocksize: 512
  Dumptime: Tue Jul 17 00:00:06 2007
  Hostname: jerry.priv
  Magic: FreeBSD Kernel Dump
  Version String: FreeBSD 6.2-STABLE #1: Tue Mar 13 01:41:29 CET 2007
    gael at jerry:/home/cvsup/obj/home/cvsup/src/sys/JERRY
  Panic String: snapacct_ufs2: bad block
  Dump Parity: 1868970034
  Bounds: 4
  Dump Status: good

>From the logs of the snapshot utility I can tell the filesystem which 
toggled the panic is /var, which on this system is not really large (2Gb).

After reboot, the background fsck tried to create a snapshot on the
same filesystem which ended up with the same panic, over and over.
 
Manually fscking the filesystems and removing the snapshots cured
the problem.

Here's the kgdb output on the dump, but unfortunately my kernel is not 
a debugging one, and the stack seems trashed, so it might not be 
very useful :

$ kgdb /boot/kernel/kernel /var/crash/vmcore.4
kgdb: kvm_nlist(_stopped_cpus): 
kgdb: kvm_nlist(_stoppcbs): 
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".
(no debugging symbols found)...Attempt to extract a component of a value that is not a structure pointer.
(kgdb) bt
#0  0xc051d812 in doadump ()
#1  0xc0786240 in buf.0 ()
#2  0xd6097350 in ?? ()
#3  0xc051dc6d in boot ()
Previous frame inner to this frame (corrupt stack?)

Hope that helps anyway...

>How-To-Repeat:
Unknown. Looks like file system and/or snapshot corruption.

>Fix:
Run fsck in foreground and remove past snapshots.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list