Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Feb 2021 11:45:19 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        FreeBSD Current <freebsd-current@FreeBSD.org>, freebsd-fs@FreeBSD.org
Subject:   Re: panic: condition seqc_in_modify(_vp->v_seqc) not met at zfs_acl.c:1147 (zfs_acl_chown_setattr)
Message-ID:  <038304d0-2cd0-f089-56ee-c094cdc4cc21@FreeBSD.org>
In-Reply-To: <1b261679-3492-dda8-614e-21150a2375d8@FreeBSD.org>
References:  <1b261679-3492-dda8-614e-21150a2375d8@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15/02/2021 10:22, Andriy Gapon wrote:
> 
> I've got this panic once when copying a couple of files.
> The system is stable/13 as of 1996360d7338d, a custom kernel configuration, but
> no local source code modifications.
> 
> Unread portion of the kernel message buffer:
> VNASSERT failed: ({ seqc_t __seqc = (_vp->v_seqc); __builtin_expect((__seqc &
> 1), 0); }) not true at
> /usr/devel/git/trant/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_acl.c:1147
> (zfs_acl_chown_setattr)
> 0xfffff8013e4e85b8: type VDIR
>     usecount 1, writecount 0, refcount 1 seqc users 0 mountedhere 0
>     hold count flags ()
>     flags ()
>     lock type zfs: EXCL by thread 0xfffffe01dd1cd560 (pid 30747, kdeinit5, tid
> 159911)
> panic: condition seqc_in_modify(_vp->v_seqc) not met at
> /usr/devel/git/trant/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_acl.c:1147
> (zfs_acl_chown_setattr)
> 
> Any ideas, suggestions, hints?
> Thanks!
> 
...
> #4  0xffffffff8036fd21 in zfs_acl_chown_setattr (zp=0xfffff801ccd203b0)
>     at /usr/devel/git/trant/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_acl.c:1147
> #5  0xffffffff8037e52d in zfs_setattr (zp=0xfffff8024b04f760,
>     vap=vap@entry=0xfffffe029a36c870, flags=flags@entry=0,
>     cr=<optimized out>, cr@entry=0xfffff8003ecedc00)
>     at
> /usr/devel/git/trant/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c:2758

So, this is actually the second zfs_acl_chown_setattr call here:
                err = zfs_acl_chown_setattr(zp);
                ASSERT(err == 0);
                if (attrzp) {
                        err = zfs_acl_chown_setattr(attrzp);
                        ASSERT(err == 0);
                }

I am not sure if the assertion is actually applicable to attrzp (extended
attributes "directory").
At least I do not see any seq calls for it.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?038304d0-2cd0-f089-56ee-c094cdc4cc21>