ZFS: Panic when attempting to delete certain data

Andriy Gapon avg at FreeBSD.org
Tue Nov 27 21:13:27 UTC 2012


on 27/11/2012 22:32 Josh Beard said the following:
> 
> 
> On Tue, Nov 27, 2012 at 11:48 AM, Andriy Gapon <avg at freebsd.org
> <mailto:avg at freebsd.org>> wrote:
> 
>     on 27/11/2012 20:25 Josh Beard said the following:
>     > Hello,
>     >
>     > I have a system that I can consistently reproduce a panic on when trying to
>     > delete certain data.  The data is data that was rsynced from another system
>     > - nothing terribly unique.  This has been ongoing from several months,
>     > starting with 9.0-RELEASE and now running 9.1-RC3.
>     >
>     > I can't find anything in common with the files that I can trigger the
>     > panics with.  One is a simple gzipped archive where some are plain text.
>     >  Strangely, I can only reproduce it with data that was rsynced from that
>     > particular system (which is a Mac).
> 
>     Josh,
> 
>     I am collecting these cases, thank you for another one.
>     I had an interesting investigation of
>     http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/173747
>     Unfortunately, for some reason the whole conversation stayed private.
>     I see that also opened a PR earlier:
>     http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/170238
> 
>     Could you please provide the following info?
>     >From kgdb:
>     - list in frame 7 (zfs_freebsd_remove), so that I can see the code line
>     - local variables from frame 7 (info local)
> 
> 
> 
> Andriy,
> 
> Thanks for your quick response.  I've never used kgdb, so forgive my ignorance
> here.  Is this what you're looking for?  If not, if you could you elaborate on
> those?
> 
> #7  0xffffffff80ebd45a in zfs_freebsd_remove (ap=Variable "ap" is not available.
> ) at
> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:1855
> 1855                    dmu_tx_hold_sa(tx, xzp->z_sa_hdl, B_FALSE);
> 
> 
> (kgdb) list zfs_freebsd_remove
> 5796            struct vop_remove_args /* {
> 5797                    struct vnode *a_dvp;
> 5798                    struct vnode *a_vp;
> 5799                    struct componentname *a_cnp;
> 5800            } */ *ap;
> 5801    {
> 5802
> 5803            ASSERT(ap->a_cnp->cn_flags & SAVENAME);
> 5804
> 5805            return (zfs_remove(ap->a_dvp, ap->a_cnp->cn_nameptr,

Not quite :-)
frame 7
list

> (kgdb) info frame 7
> Stack frame at 0xffffff8466a6a920:
>  rip = 0xffffffff80ebd45a in zfs_freebsd_remove
> (/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:1855);
> saved rip 0xffffffff8081cf13
>  called by frame at 0xffffff8466a6a940, caller of frame at 0xffffff8466a6a7a0
>  source language c.
>  Arglist at 0xffffff8466a6a910, args: ap=Variable "ap" is not available.

frame 7
info local

>     Also, for one of the files that trigger the problem:
>     - ls -i to obtain its inode number
>     - zdb -ddddd <dataset name> <inode number>
> 
> 
> # ls -i kyofilter\ v2.2.pax.gz  (this is a symlink.  the file that it's linked
> to does *not* panic the system if I try to delete it).

Hmm, then could you please rather do 'ls -Pi kyofilter\ v2.2.pax.gz' and then
use that value for the zdb command?

> 247126 kyofilter v2.2.pax.gz
> 
> # zdb -ddddd store/tdxs1 247126
> Dataset store/tdxs1 [ZPL], ID 109, cr_txg 35014, 1.33T, 1106389 objects, rootbp
> DVA[0]=<0:80001a2400:400> DVA[1]=<0:30800610000:400> [L0 DMU objset] fletcher4
> lzjb LE contiguous unique double size=800L/200P birth=1166838L/1166838P
> fill=1106389 cksum=19391f0f67:78eb24a9cca:1439005549d01:275015332d1bdf
> 
>     Object  lvl   iblk   dblk  dsize  lsize   %full  type
>     247126    1    16K    512      0    512    0.00  ZFS plain file
>                                         201   bonus  System attributes
>         dnode flags: USERUSED_ACCOUNTED 
>         dnode maxblkid: 0
>         path    /tech/2012-09-14-01-00/Drivers/Kyocera/.old/C2126.old/Kyocera OS
> X 10.5+ Web build 2011.01.27.mpkg/Contents/Packages/Kyocera OS X
> subinstaller.mpkg/Contents/Packages/kyofilter
> v2.2.pkg/Contents/Resources/kyofilter v2.2.pax.gz
>         uid     1001
>         gid     80
>         atime   Tue Nov 27 13:27:57 2012
>         mtime   Tue Jul 12 14:17:16 2011
>         ctime   Fri Sep 14 01:05:23 2012
>         crtime  Fri Sep 14 01:04:11 2012
>         gen     81338
>         mode    120755
>         size    17
>         parent  247122
>         links   1
>         pflags  40800000104
>         xattr   155

-- 
Andriy Gapon


More information about the freebsd-fs mailing list