panic in 7.2 (ffs_alloc.c?)

Charles Sprickman spork at bway.net
Mon Nov 23 21:28:24 UTC 2009


Just a follow-up...  The machine was waiting for a manual fsck - this 
crash seemed to scramble things up pretty good, it hit the jail partition 
hard and seemed to touch others that were quiet at the time.

I'm re-running mstone with an even heavier load to see if I can 
reproduce this again.

Full verbose dmesg:  http://pastie.org/711839

Should I bother with a PR or anything on this?  Doesn't look like a 
hardware issue to me.  It seems like there could be a nasty bug waiting in 
the UFS2 code somewhere, does anyone want to persue this at all?  I have 
the dump available for anyone that wants it.

Thanks,

Charles

On Sun, 22 Nov 2009, Charles Sprickman wrote:

> Howdy,
>
> I'm not expert at getting info out of a dump, but I'll do my best to provide 
> some information.
>
> This is a Dell PE2970 w/PERC6/i RAID running FreeBSD 7.2/amd64.  Brand new 
> box, has been doing very light work for about two weeks.  Last night I 
> started a very long mstone run on a jailed mail server and found that quite a 
> way into this burn-in, the box paniced.  I was going to put it in service 
> Monday (after punishing it all weekend).  Looking for some input on what the 
> root cause is and whether going to a -stable snapshot might be worthwhile.
>
> I can tell you there was a good deal of disk activity at the time in the jail 
> - mstone was simulating 100 POP and SMTP clients hitting the machine at once. 
> This is qmail+courier.  So messages are coming in, hitting the queue, hitting 
> a user's maildir, getting read and deleted via the POP "client" over and over 
> again.  I do see lots of "ffs_*" stuff in the backtrace, which is a little 
> scary.
>
> Here's my stab at a kgdb session (also @ pastie for easier reading: 
> http://pastie.org/709671):
>
> [root at bigmail /usr/obj/usr/src/sys/BWAY7-64]# kgdb kernel.debug 
> /var/crash/vmcore.0
> 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 "amd64-marcel-freebsd"...
>
> Unread portion of the kernel message buffer:
>
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0x12d4b9f5c
> fault code              = supervisor read data, page not present
> instruction pointer     = 0x8:0xffffffff8050382e
> stack pointer           = 0x10:0xffffffff281a75b0
> frame pointer           = 0x10:0xffffff000455f800
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                        = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 6324 (vdelivermail)
> trap number             = 12
> panic: page fault
> cpuid = 0
> Uptime: 12d0h32m3s
> Physical memory: 6130 MB
> Dumping 725 MB: 710 694 678 662 646 630 614 598 582 566 550 534 518 502 486 
> 470 454 438 422 406 390 374 358 342 326 310 294 278 262 246 230 214 198 182 
> 166 150 134 118 102 86 70 54 38 22 6
>
> Reading symbols from /boot/kernel/nullfs.ko...Reading symbols from 
> /boot/kernel/nullfs.ko.symbols...done.
> done.
> Loaded symbols for /boot/kernel/nullfs.ko
> Reading symbols from /boot/kernel/fdescfs.ko...Reading symbols from 
> /boot/kernel/fdescfs.ko.symbols...done.
> done.
> Loaded symbols for /boot/kernel/fdescfs.ko
> #0  doadump () at pcpu.h:195
> 195             __asm __volatile("movq %%gs:0,%0" : "=r" (td));
> #3  0xffffffff8034cba2 in panic (fmt=0x104 <Address 0x104 out of bounds>)
>    at /usr/src/sys/kern/kern_shutdown.c:574
> #4  0xffffffff80574823 in trap_fatal (frame=0xffffff00046c8000, eva=Variable 
> "eva" is not available.
> )
>    at /usr/src/sys/amd64/amd64/trap.c:757
> #5  0xffffffff80574bf5 in trap_pfault (frame=0xffffffff281a7500, usermode=0)
>    at /usr/src/sys/amd64/amd64/trap.c:673
> #6  0xffffffff80575534 in trap (frame=0xffffffff281a7500)
>    at /usr/src/sys/amd64/amd64/trap.c:444
> #7  0xffffffff8055969e in calltrap ()
>    at /usr/src/sys/amd64/amd64/exception.S:209
> #8  0xffffffff8050382e in ffs_realloccg (ip=0xffffff00267f75c0, lbprev=0,
>    bprev=6288224785898156086, bpref=593305256, osize=0, nsize=2048,
>    flags=33619968, cred=0xffffff00927fe800, bpp=0xffffffff281a7800)
>    at /usr/src/sys/ufs/ffs/ffs_alloc.c:1349
> #9  0xffffffff80506e8e in ffs_balloc_ufs2 (vp=0xffffff0027a64dc8, 
> startoffset=Variable "startoffset" is not available.
> )
>    at /usr/src/sys/ufs/ffs/ffs_balloc.c:692
> #10 0xffffffff805223e5 in ffs_write (ap=0xffffffff281a7a10)
>    at /usr/src/sys/ufs/ffs/ffs_vnops.c:724
> #11 0xffffffff805a0645 in VOP_WRITE_APV (vop=0xffffffff80793d20,
>    a=0xffffffff281a7a10) at vnode_if.c:691
> #12 0xffffffff803dd731 in vn_write (fp=0xffffff001027cd00,
>    uio=0xffffffff281a7b00, active_cred=Variable "active_cred" is not 
> available.
> ) at vnode_if.h:373
> #13 0xffffffff80388768 in dofilewrite (td=0xffffff00046c8000, fd=5,
>    fp=0xffffff001027cd00, auio=dwarf2_read_address: Corrupted DWARF 
> expression.
> ) at file.h:257
> #14 0xffffffff80388a6e in kern_writev (td=0xffffff00046c8000, fd=5,
>    auio=0xffffffff281a7b00) at /usr/src/sys/kern/sys_generic.c:402
> #15 0xffffffff80388aec in write (td=0x800, uap=0x12d4b9f50)
>    at /usr/src/sys/kern/sys_generic.c:318
> #16 0xffffffff80596a66 in ia32_syscall (frame=0xffffffff281a7c80)
>    at /usr/src/sys/amd64/ia32/ia32_syscall.c:182
> #17 0xffffffff80559ad0 in Xint0x80_syscall () at ia32_exception.S:65
> #18 0x0000000028167928 in ?? ()
> Previous frame inner to this frame (corrupt stack?)
>
> Full dmesg, verbose boot and kernel config at pastie as well.  Actually no 
> verbose boot...  I rebooted the box after setting verbose boot with 
> "nextboot" and it didn't come back.  Hrmph.  No remote console, so I don't 
> know what's up, perhaps waiting on some manual fsck action.
>
> Thanks,
>
> Charles
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>


More information about the freebsd-stable mailing list