From owner-freebsd-current@FreeBSD.ORG Wed Jun 15 12:37:25 2005 Return-Path: X-Original-To: freebsd-current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D96F416A41C for ; Wed, 15 Jun 2005 12:37:25 +0000 (GMT) (envelope-from tataz@tataz.chchile.org) Received: from postfix4-1.free.fr (postfix4-1.free.fr [213.228.0.62]) by mx1.FreeBSD.org (Postfix) with ESMTP id 750A343D49 for ; Wed, 15 Jun 2005 12:37:25 +0000 (GMT) (envelope-from tataz@tataz.chchile.org) Received: from tatooine.tataz.chchile.org (vol75-8-82-233-239-98.fbx.proxad.net [82.233.239.98]) by postfix4-1.free.fr (Postfix) with ESMTP id 100F1317D3F; Wed, 15 Jun 2005 14:37:24 +0200 (CEST) Received: by tatooine.tataz.chchile.org (Postfix, from userid 1000) id 1AB35407E; Wed, 15 Jun 2005 14:37:00 +0200 (CEST) Date: Wed, 15 Jun 2005 14:37:00 +0200 From: Jeremie Le Hen To: Doug White Message-ID: <20050615123700.GR30017@obiwan.tataz.chchile.org> References: <20050614143403.GL30017@obiwan.tataz.chchile.org> <20050614195053.F24745@carver.gumbysoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050614195053.F24745@carver.gumbysoft.com> User-Agent: Mutt/1.5.9i Cc: freebsd-current@FreeBSD.org, Jeremie Le Hen Subject: Re: panic while mkdir(2) in msdosfs (deget()) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jun 2005 12:37:26 -0000 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 >