panic while mkdir(2) in msdosfs (deget())

Jeremie Le Hen jeremie at le-hen.org
Tue Jun 14 14:34:27 GMT 2005


Hi,

I got a panic on friday while I was uploading files through FTP at a
high rate (100Mb/s).  Given this panic occured while doing an mkdir(2),
you understand that the msdosfs partition is where the FTP daemon
was writing.

The system is
%%%
    jarjarbinks:tataz$ uname -a
    FreeBSD jarjarbinks.tataz.chchile.org 6.0-CURRENT FreeBSD 6.0-CURRENT #149: Thu Jun  9 00:25:52 CEST 2005     root at jarjarbinks.tataz.chchile.org:/usr/src/sys/i386/compile/JARJARBINKS  i386
%%%

Here is the stack trace:
%%%
    #22 0xc055f075 in panic (fmt=0xc0729ff0 "wrong dirclust")
        at ../../../kern/kern_shutdown.c:537
    #23 0xc050e207 in deget (pmp=0xc2914900, dirclust=366469, diroffset=0, 
        depp=0xe50ecae8) at ../../../fs/msdosfs/msdosfs_denode.c:142
    #24 0xc05122c1 in createde (dep=0xe50ecafc, ddep=0xc2b30400, depp=0xe50ecae8, 
        cnp=0xe50ecc18) at ../../../fs/msdosfs/msdosfs_lookup.c:673
    #25 0xc05170d0 in msdosfs_mkdir (ap=0xe50ecbb0)
        at ../../../fs/msdosfs/msdosfs_vnops.c:1375
    #26 0xc07017ac in VOP_MKDIR_APV (vop=0x0, a=0xe50ecbb0) at vnode_if.c:1248
    #27 0xc05ce054 in kern_mkdir (td=0xc2575190, 
        path=0x8060360 <Address 0x8060360 out of bounds>, segflg=UIO_USERSPACE, 
        mode=511) at vnode_if.h:653
    #28 0xc05cdd19 in mkdir (td=0x0, uap=0x0) at ../../../kern/vfs_syscalls.c:3321
    #29 0xc06e6540 in syscall (frame=
          {tf_fs = -1078001605, tf_es = -452067269, tf_ds = 59, tf_edi = 203, tf_esi = 134611360, tf_ebp = -1077943752, tf_isp = -452014748, tf_ebx = 134611808, tf_edx = 0, tf_ecx = 134684744, tf_eax = 136, tf_trapno = 0, tf_err = 2, tf_eip = 672334223, tf_cs = 51, tf_eflags = 582, tf_esp = -1077943780, tf_ss = 59})
        at ../../../i386/i386/trap.c:976
    #30 0xc06d219f in Xint0x80_syscall () at ../../../i386/i386/exception.s:200
%%%

I checked the source code, but my skills are not as high as I'd like and
I wasn't able to understand where this panic has its source.  All I can
see is that it has good chances to be related to phk's vfs_hash updates.

A dump is available, if needed.

Regards,
-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >


More information about the freebsd-current mailing list