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

From: Jeremie Le Hen <jeremie_at_le-hen.org>
Date: Wed, 15 Jun 2005 14:37:00 +0200
Hi Doug,

> > %%%
> >     #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
> 
> This is in a KASSERT so you must have INVARIANTS compiled in. What is the
> value of dirclust and (*depp)->de_dirclust in this frame?

Yes indeed, I have INVARIANTS compiled in.
%%%
    (kgdb) up 23
    #23 0xc050e207 in deget (pmp=0xc2914900, dirclust=366469, diroffset=0,
        depp=0xe50ecae8) at ../../../fs/msdosfs/msdosfs_denode.c:142
    142                     KASSERT((*depp)->de_dirclust == dirclust, ("wrong dirclust"));
    (kgdb) print (*depp)->de_dirclust
    $1 = 1152901
    (kgdb) print dirclust 
    $2 = 366469
%%%

And I case you need more informations :
%%%
    (kgdb) up
    #24 0xc05122c1 in createde (dep=0xe50ecafc, ddep=0xc2b30400, depp=0xe50ecae8,
        cnp=0xe50ecc18) at ../../../fs/msdosfs/msdosfs_lookup.c:673
    673                     return deget(pmp, dirclust, diroffset, depp);
    (kgdb) print *dep
    $1 = {de_vnode = 0x0, de_flag = 32, de_dev = 0x0, de_dirclust = 0,
      de_diroffset = 0, de_fndoffset = 0, de_fndcnt = 0, de_refcnt = 0,
      de_pmp = 0xc2914900, de_Name = "ZWAN       ", de_Attributes = 16 '\020',
      de_LowerCase = 0 '\0', de_CHun = 109 'm', de_CTime = 26196,
      de_CDate = 13002, de_ADate = 13002, de_MTime = 26196, de_MDate = 13002,
      de_StartCluster = 366469, de_FileSize = 0, de_fc = {{fc_frcn = 0,
          fc_fsrcn = 0}, {fc_frcn = 0, fc_fsrcn = 0}}, de_modrev = 0,
      de_lockf = 0x0, de_inode = 0}
    (kgdb) print *ddep
    $2 = {de_vnode = 0xc2b40110, de_flag = 0, de_dev = 0x0, de_dirclust = 1330114, 
      de_diroffset = 0, de_fndoffset = 864, de_fndcnt = 0, de_refcnt = 1, 
      de_pmp = 0xc2914900, de_Name = ".          ", de_Attributes = 16 '\020', 
      de_LowerCase = 0 '\0', de_CHun = 35 '#', de_CTime = 26090, de_CDate = 13002, 
      de_ADate = 13002, de_MTime = 26090, de_MDate = 13002, 
      de_StartCluster = 1330114, de_FileSize = 32768, de_fc = {{fc_frcn = 0, 
          fc_fsrcn = 1330114}, {fc_frcn = 0, fc_fsrcn = 1330114}}, 
      de_modrev = 6639049896983, de_lockf = 0x0, de_inode = 635502592}
    (kgdb) print *cnp
    $2 = {cn_nameiop = 1, cn_flags = 50908168, cn_thread = 0xc2575190,
      cn_cred = 0xc2bdc200, cn_lkflags = 2,
      cn_pnbuf = 0xc2589000 "/mnt/mp3/rock/zwan", cn_nameptr = 0xc258900e "zwan",
      cn_namelen = 4, cn_consume = 0}
%%%

Thank you.

Regards,
-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >
Received on Wed Jun 15 2005 - 10:37:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:36 UTC