panic when filesystem full

Jun Kuriyama kuriyama at imgsrc.co.jp
Tue Aug 30 08:46:08 GMT 2005


I bought amd64 box recently, and trying to use 6.0-BETA3 on it.

When I built many ports, /tmp filesystem is going to full (used as
$WRKDIRPREFIX), and paniced.


----- some character is strange in this serial console log...
Aug 30 16:a56:56 waterblue ukernel: pid 4488l6 (bsdtar), uid t0 inumber 263574  on /tmp: filesyvstem full
irtual address  = 0x0
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xffffffff8029a849
stack pointer           = 0x10:0xffffffffb43673a0
frame pointer           = 0x10:0xffffffffb43673b0
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         = 44886 (bsdtar)
[thread pid 44886 tid 100120 ]
Stopped at      putc+0xa9:      movb    %dil,0(%r8)
db> trace
Tracing pid 44886 tid 100120 td 0xffffff0060c24be0
putc() at putc+0xa9
ttyoutput() at ttyoutput+0x89
tputchar() at tputchar+0x35
putchar() at putchar+0xf8
kvprintf() at kvprintf+0x91
uprintf() at uprintf+0x1ce
ffs_realloccg() at ffs_realloccg+0x7ae
ffs_balloc_ufs2() at ffs_balloc_ufs2+0xb76
ffs_write() at ffs_write+0x21d
VOP_WRITE_APV() at VOP_WRITE_APV+0xa4
vn_write() at vn_write+0x1c3
dofilewrite() at dofilewrite+0x87
kern_writev() at kern_writev+0x51
write() at write+0x4a
syscall() at syscall+0x4b2
Xfast_syscall() at Xfast_syscall+0xa8
--- syscall (4, FreeBSD ELF64, write), rip = 0x8009cb39c, rsp = 0x7fffffffe4d8, rbp = 0x400 ---
db> call doadump
Dumping 2046 MB (2 chunks)
  chunk 0: 1MB (148 pages) ... ok
  chunk 1: 2046MB (523744 pages) 2030 2014 1998 1982 1966 1950 1934 1918 1902 1886 1870 1854 1838 1822 1806 1790 1774 1758 1742 1726 1710 1694 1678 1662 1646 1630 1614 1598 1582 1566 1550 1534 1518 1502 1486 1470 1454 1438 1422 1406 1390 1374 1358 1342 1326 1310 1294 1278 1262 1246 1230 1214 1198 1182 1166 1150 1134 1118 1102 1086 1070 1054 1038 1022 1006 990 974 958 942 926 910 894 878 862 846 830 814 798 782 766 750 734 718 702 686 670 654 638 622 606 590 574 558 542 526 510 494 478 462 446 430 414 398 382 366 350 334 318 302 286 270 254 238 222 206 190 174 158 142 126 110 94 78 62 46 30 14 ... ok


-----
% sudo kgdb /boot/kernel/kernel.debug /home/crash/vmcore.0
(kgdb) where
#0  doadump () at pcpu.h:172
#1  0xffffffff8017d9f1 in db_fncall (dummy1=0, dummy2=0, dummy3=0, dummy4=0x0)
    at /usr/src/sys/ddb/db_command.c:489
#2  0xffffffff8017de45 in db_command_loop ()
    at /usr/src/sys/ddb/db_command.c:349
#3  0xffffffff8017fcb3 in db_trap (type=-1271500496, code=0)
    at /usr/src/sys/ddb/db_main.c:221
#4  0xffffffff802770a9 in kdb_trap (type=12, code=0, tf=0xffffffffb43672f0)
    at /usr/src/sys/kern/subr_kdb.c:473
#5  0xffffffff803c6bde in trap_fatal (frame=0xffffffffb43672f0,
    eva=18446742975821269984) at /usr/src/sys/amd64/amd64/trap.c:655
#6  0xffffffff803c6f73 in trap_pfault (frame=0xffffffffb43672f0, usermode=0)
    at /usr/src/sys/amd64/amd64/trap.c:580
#7  0xffffffff803c7155 in trap (frame=
      {tf_rdi = 32, tf_rsi = -1097439369136, tf_rdx = 32, tf_rcx = 1, tf_r8 = 0, tf_r9 = 0, tf_rax = 0, tf_rbx = 32, tf_rbp = -1271499856, tf_r10 = 4, tf_r11 = 4, tf_r12 = -1097439369216, tf_r13 = -1271499472, tf_r14 = 0, tf_r15 = -2144892352, tf_trapno = 12, tf_addr = 0, tf_flags = 582, tf_err = 2, tf_rip = -2144753591, tf_cs = 8, tf_rflags = 66118, tf_rsp = -1271499856, tf_ss = 16})
    at /usr/src/sys/amd64/amd64/trap.c:359
#8  0xffffffff803b4bcb in calltrap ()
    at /usr/src/sys/amd64/amd64/exception.S:170
#9  0x0000000000000020 in ?? ()
#10 0xffffff007b842850 in ?? ()
#11 0x0000000000000020 in ?? ()
#12 0x0000000000000001 in ?? ()
#13 0x0000000000000000 in ?? ()
#14 0x0000000000000000 in ?? ()
#15 0x0000000000000000 in ?? ()
#16 0x0000000000000020 in ?? ()
#17 0xffffffffb43673b0 in ?? ()
#18 0x0000000000000004 in ?? ()
#19 0x0000000000000004 in ?? ()
#20 0xffffff007b842800 in ?? ()
#21 0xffffffffb4367530 in ?? ()
#22 0x0000000000000000 in ?? ()
#23 0xffffffff80278a40 in msglogchar () at /usr/src/sys/kern/subr_prf.c:807
#24 0xffffffff802918a9 in ttyoutput (c=32, tp=0xffffff007b842800)
    at /usr/src/sys/kern/tty.c:760
#25 0xffffffff80295c65 in tputchar (c=32, tp=0xffffff007b842800)
    at /usr/src/sys/kern/tty.c:2753
#26 0xffffffff80278b38 in putchar (c=32, arg=0x0)
    at /usr/src/sys/kern/subr_prf.c:341
#27 0xffffffff80278ce1 in kvprintf (fmt=0xffffffff8044ee4e "is full\n",
    func=0xffffffff80278a40 <putchar>, arg=0xffffffffb4367530, radix=10,
    ap=0x0) at /usr/src/sys/kern/subr_prf.c:523
#28 0xffffffff8027a6ce in uprintf (
    fmt=0xffffffff8044ee30 "\n%s: write failed, filesystem is full\n")
    at /usr/src/sys/kern/subr_prf.c:149
#29 0xffffffff80363c7e in ffs_realloccg (ip=0xffffff004550acc0, lbprev=0,
    bprev=-1098348712768, bpref=1034712, osize=2048, nsize=6144,
    cred=0xffffff0000d71c00, bpp=0xffffffffb4367778)
    at /usr/src/sys/ufs/ffs/ffs_alloc.c:402
#30 0xffffffff803675d6 in ffs_balloc_ufs2 (vp=0xffffff004d3d09b0,
    startoffset=0, size=5930, cred=0xffffff0000d71c00, flags=50397184,
    bpp=0xffffffffb4367880) at /usr/src/sys/ufs/ffs/ffs_balloc.c:655
#31 0xffffffff8037c07d in ffs_write (ap=0xffffffffb4367a10)
    at /usr/src/sys/ufs/ffs/ffs_vnops.c:662
#32 0xffffffff8040a3b4 in VOP_WRITE_APV (vop=0xffffffff805a89e0,
    a=0xffffffffb4367a10) at vnode_if.c:698
#33 0xffffffff802cc163 in vn_write (fp=0xffffff00515db1e0,
    uio=0xffffffffb4367b50, active_cred=0x0, flags=0, td=0xffffff0060c24be0)
    at vnode_if.h:372
#34 0xffffffff802857d7 in dofilewrite (td=0xffffff0060c24be0, fd=3,
    fp=0xffffff00515db1e0, auio=0xffffffffb4367b50, offset=0, flags=0)
    at file.h:246
#35 0xffffffff80285aa1 in kern_writev (td=0xffffff0060c24be0, fd=3,
    auio=0xffffffffb4367b50) at /usr/src/sys/kern/sys_generic.c:402
#36 0xffffffff80285b9a in write (td=0x0, uap=0x0)
    at /usr/src/sys/kern/sys_generic.c:326
#37 0xffffffff803c7942 in syscall (frame=
      {tf_rdi = 3, tf_rsi = 5349376, tf_rdx = 4906, tf_rcx = 0, tf_r8 = 12288, tf_r9 = 140737488348184, tf_rax = 4, tf_rbx = 5316608, tf_rbp = 1024, tf_r10 = 6, tf_r11 = 1, tf_r12 = 3, tf_r13 = 5320704, tf_r14 = 5, tf_r15 = 5316608, tf_trapno = 12, tf_addr = 4205132, tf_flags = 10240, tf_err = 2, tf_rip = 34370007964, tf_cs = 43, tf_rflags = 643, tf_rsp = 140737488348376, tf_ss = 35})
    at /usr/src/sys/amd64/amd64/trap.c:796
#38 0xffffffff803b4d68 in Xfast_syscall ()
    at /usr/src/sys/amd64/amd64/exception.S:272
---Type <return> to continue, or q <return> to quit---q
Quit
(kgdb) up 23
#23 0xffffffff80278a40 in msglogchar () at /usr/src/sys/kern/subr_prf.c:807
807                             dangling = 0;
(kgdb) list
802             if (c == '\0' || c == '\r')
803                     return;
804             if (pri != -1 && pri != lastpri) {
805                     if (dangling) {
806                             msgbuf_addchar(msgbufp, '\n');
807                             dangling = 0;
808                     }
809                     msgbuf_addchar(msgbufp, '<');
810                     for (p = ksprintn(nbuf, (uintmax_t)pri, 10, NULL); *p;)
811                             msgbuf_addchar(msgbufp, *p--);


-- 
Jun Kuriyama <kuriyama at imgsrc.co.jp> // IMG SRC, Inc.
             <kuriyama at FreeBSD.org> // FreeBSD Project


More information about the freebsd-current mailing list