Bug 30300

Summary: -current hang caught and crash-dump'd.
Product: Base System Reporter: Josef Karthauser <joe>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   

Description Josef Karthauser 2001-09-04 03:30:01 UTC
	I've been experiencing this hang for a while now on -current,
	never managed to catch it before.  The machine runs fine, for
	two days in this last case, and then randomly (mostly when
	I've got a lot of disk/network IO happening) something blocks
	and some processes stop working, and others continue running
	fine.  Usually I have to physically switch the machine off
	because even a shutdown doesn't complete.

Fix: 

I've got a core file that I managed to panic-dump by hand to
	capture the state of the machine if anyone wants to take a look.

genius# gdb -k kernel.debug.10 vmcore.10 
GNU gdb 4.18
Copyright 1998 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-unknown-freebsd"...
IdlePTD 4894720
initial pcb at 367480
panicstr: allocbuf: buffer not busy
panic messages:
---
panic: from debugger

syncing disks... panic: allocbuf: buffer not busy
Uptime: 1d14h38m2s
/dev/vmmon: Module vmmon: unloaded

dumping to dev ad0s2b, offset 917632
dump ata0: resetting devices .. done
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40
39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 
---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
487             if (dumping++) {
(kgdb) bt
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1  0xc01e3e48 in boot (howto=260) at
/usr/src/sys/kern/kern_shutdown.c:330
#2  0xc01e4275 in panic (fmt=0xc02f42e8 "allocbuf: buffer not busy")
    at /usr/src/sys/kern/kern_shutdown.c:623
#3  0xc02149fc in allocbuf (bp=0xc34471dc, size=8192)
    at /usr/src/sys/kern/vfs_bio.c:2407
#4  0xc0214979 in getblk (vp=0xcc4c6d40, blkno=6225984, size=8192, slpflag=0, 
    slptimeo=0) at /usr/src/sys/kern/vfs_bio.c:2353
#5  0xc021257e in breadn (vp=0xcc4c6d40, blkno=6225984, size=8192, 
    rablkno=0x0, rabsize=0x0, cnt=0, cred=0x0, bpp=0xcc04ac5c)
    at /usr/src/sys/kern/vfs_bio.c:593
#6  0xc0212540 in bread (vp=0xcc4c6d40, blkno=6225984, size=8192, cred=0x0, 
    bpp=0xcc04ac5c) at /usr/src/sys/kern/vfs_bio.c:575
#7  0xc026f4b1 in ffs_update (vp=0xcc4c8cc0, waitfor=0)
    at /usr/src/sys/ufs/ffs/ffs_inode.c:101
#8  0xc027c676 in ffs_fsync (ap=0xcc04acdc)
    at /usr/src/sys/ufs/ffs/ffs_vnops.c:292
#9  0xc027ab9e in ffs_sync (mp=0xc2214400, waitfor=2, cred=0xc0a25c00, 
    p=0xc037e480) at vnode_if.h:441
#10 0xc021f6a1 in sync (p=0xc037e480, uap=0x0)
    at /usr/src/sys/kern/vfs_syscalls.c:622
#11 0xc01e3a8c in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:239
#12 0xc01e4275 in panic (fmt=0xc02d419e "from debugger")
    at /usr/src/sys/kern/kern_shutdown.c:623
#13 0xc013a311 in db_panic (addr=-1070951823, have_addr=0, count=-1, 
    modif=0xcc04ad9c "") at /usr/src/sys/ddb/db_command.c:443
#14 0xc013a2b1 in db_command (last_cmdp=0xc0316cc4, cmd_table=0xc0316b04, 
    aux_cmd_tablep=0xc0310640, aux_cmd_tablep_end=0xc0310644)
    at /usr/src/sys/ddb/db_command.c:341
#15 0xc013a37b in db_command_loop () at /usr/src/sys/ddb/db_command.c:465
#16 0xc013c5ef in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_trap.c:72
#17 0xc02a9000 in kdb_trap (type=3, code=0, regs=0xcc04ae90)
    at /usr/src/sys/i386/i386/db_interface.c:167
#18 0xc02b6170 in trap (frame={tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = 0, 
      tf_esi = -1070105792, tf_ebp = -872108324, tf_isp = -872108356, 
      tf_ebx = 514, tf_edx = -1070561969, tf_ecx = 1920, tf_eax = 38, 
      tf_trapno = 3, tf_err = 0, tf_eip = -1070951823, tf_cs = 8, 
      tf_eflags = 70, tf_esp = -1070561985, tf_ss = -1070575127})
    at /usr/src/sys/i386/i386/trap.c:564
#19 0xc02a9271 in Debugger (msg=0xc03051e9 "manual escape to debugger")
    at machine/cpufunc.h:63
#20 0xc02a5e1e in scgetc (sc=0xc037d7a0, flags=2)
    at /usr/src/sys/dev/syscons/syscons.c:3248
#21 0xc02a2265 in sckbdevent (thiskbd=0xc0376240, event=0, arg=0xc037d7a0)
    at /usr/src/sys/dev/syscons/syscons.c:620
#22 0xc0299a97 in atkbd_intr (kbd=0xc0376240, arg=0x0)
    at /usr/src/sys/dev/kbd/atkbd.c:458
#23 0xc02bf21c in atkbd_isa_intr (arg=0xc0376240)
    at /usr/src/sys/isa/atkbd_isa.c:140
#24 0xc01d8248 in ithread_loop (arg=0xc21c3800)
    at /usr/src/sys/kern/kern_intr.c:520
#25 0xc01d7372 in fork_exit (callout=0xc01d80a8 <ithread_loop>, 
    arg=0xc21c3800, frame=0xcc04afa8) at /usr/src/sys/kern/kern_fork.c:723
(kgdb)
Comment 1 iedowse freebsd_committer freebsd_triage 2002-11-14 01:43:16 UTC
State Changed
From-To: open->feedback


The stack trace here is quite uninteresting, as it only shows the 
keyboard interrupt thread handling the DDB escape sequence. Do you 
have more information or can this be closed?
Comment 2 joe freebsd_committer freebsd_triage 2002-11-14 08:57:03 UTC
State Changed
From-To: feedback->closed

A lot has happened in -current since this report.  I don't think 
that this bug still exists.