Panic in zfs_freebsd_getattr -> zfs_fuid_table_load - avl_find() succeeded inside avl_add() [ACL, 9.1-PRERELEASE]

Bryan Drewery bryan at shatow.net
Mon Sep 3 03:50:31 UTC 2012


Running 9.1-PRERELEASE currently.

Just set this server up, imported the pool from OpenIndiana 151 I
believe it was.

When I access (simply `ls`) certain files/directories, the system
panics. These files have ACL properties set on them from the Solaris system.

This system has 32gb of ram and only 8gb swap setup, so I do not
currently have a kernel core dump. It's also practically a production
machine, so I do not have much leeway in testing on it.

backtrace:

>From running ls(1):

    panic: avl_find() succeeded inside avl_add()
    avl_add+0x4b
    zfs_fuid_table_load+0x198
    zfs_fuid_init+0x12c
    zfs_fuid_find_by_idx+0xc7
    zfs_fuid_map_id+0x19
    zfs_groupmember+0x16
    zfs_zaccess_aces_check+0x196
    zfs_zaccess+0xc6
    zfs_freebsd_getattr+0x1c1
    vn_stat+0x6a
    kern_statat_vnhook+0xf9
    kern_statat+0x15
    sys_lstat+0x2a
    amd64_syscall+0x540

At first I thought this was related to MAC / ugidfw, but I am able to
reproduce with those not compiled in. FWIW, here is a backtrace from
having that enabled:

    panic: avl_find() succeeded inside avl_add()
    avl_add+0x4b
    zfs_fuid_table_load+0x198
    zfs_fuid_init+0x12c
    zfs_fuid_find_by_idx+0xc7
    zfs_fuid_map_id+0x19
    zfs_groupmember+0x16
    zfs_zaccess_aces_check+0x196
    zfs_zaccess+0xc6
    zfs_freebsd_getattr+0x1c1
    ugidfw_check_vp+0x6c
    mac_vnode_check_stat+0xa7
    vn_stat+0x39
    kern_statat_vnhook+0xf9
    kern_statat+0x15
    sys_stat+0x2a
    amd64_syscall+0x540


Is there some easy way to clear these ACL properties on the files? I do
not need them.

Any suggestions on how I might fix this or debug this further?


Bryan


More information about the freebsd-fs mailing list