openzfsonosx / zfs

OpenZFS on OS X

Home Page:https://openzfsonosx.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Panic in async_zget4

JMoVS opened this issue · comments

commented
Anonymous UUID:       409E16CF-1123-E55A-B46D-6C7C33750585

Wed Apr 17 15:50:35 2019

*** Panic Report ***
panic(cpu 1 caller 0xffffff7f89afadcc): VERIFY3( zp->z_attach_tqid != ((void*)0) ) failed (0 != 0)

Backtrace (CPU 1), Frame : Return Address
0xffffff91185432f0 : 0xffffff80035af82d mach_kernel : _handle_debugger_trap + 0x47d
0xffffff9118543340 : 0xffffff80036eb795 mach_kernel : _kdp_i386_trap + 0x155
0xffffff9118543380 : 0xffffff80036dcf4a mach_kernel : _kernel_trap + 0x50a
0xffffff91185433f0 : 0xffffff800355cae0 mach_kernel : _return_from_trap + 0xe0
0xffffff9118543410 : 0xffffff80035af247 mach_kernel : _panic_trap_to_debugger + 0x197
0xffffff9118543530 : 0xffffff80035af093 mach_kernel : _panic + 0x63
0xffffff91185435a0 : 0xffffff7f89afadcc net.lundman.zfs : _zfs_znode_asyncgetvnode + 0x10c
0xffffff91185435d0 : 0xffffff7f89b00a4f net.lundman.zfs : _zfs_zget_ext + 0x36f
0xffffff9118543670 : 0xffffff7f89ad3ecd net.lundman.zfs : _zfs_rmnode + 0xcd
0xffffff9118543840 : 0xffffff7f89af8aca net.lundman.zfs : _zfs_vnop_reclaim + 0x11a
0xffffff9118543880 : 0xffffff80037f9d6c mach_kernel : _vnode_put_locked + 0xb0c
0xffffff9118543900 : 0xffffff80037f94b7 mach_kernel : _vnode_put_locked + 0x257
0xffffff9118543940 : 0xffffff80037fe181 mach_kernel : _vnode_recycle + 0x51
0xffffff9118543960 : 0xffffff7f89aefeb3 net.lundman.zfs : _zfs_remove + 0x7c3
0xffffff9118543a60 : 0xffffff7f89af5fa1 net.lundman.zfs : _zfs_vnop_remove + 0x61
0xffffff9118543ac0 : 0xffffff800382f52e mach_kernel : _VNOP_REMOVE + 0x5e
0xffffff9118543b40 : 0xffffff800380ff03 mach_kernel : _undelete + 0x483
0xffffff9118543f40 : 0xffffff8003bbb0ed mach_kernel : _unix_syscall64 + 0x27d
0xffffff9118543fa0 : 0xffffff800355d2a6 mach_kernel : _hndl_unix_scall64 + 0x16
      Kernel Extensions in backtrace:
         net.lundman.zfs(1.8.1)[D5B295E6-6185-323C-BCDE-F5223970D2EC]@0xffffff7f89a13000->0xffffff7f89d5dfff
            dependency: com.apple.iokit.IOStorageFamily(2.1)[C322B8D1-C27F-3EFA-8A45-D7035ACC8D07]@0xffffff7f84310000
            dependency: net.lundman.spl(1.8.1)[1BFA479D-629E-3215-BA28-E1473C0064C7]@0xffffff7f884c8000
commented

Panic was with df6e22e

commented

no particular "trigger", I connected my iPhone and opened a tab in Firefox...

taskq_dispatch() returning 0 means it failed to start taskq. What is odd is that we pass TQ_SLEEP, which is not suppose to fail, but rather wait until it can perform the task.

Either way, since we can only ever have one vnode attaching to any one znode, I changed it to use taskq_dispatch_ent() and embed the taskqent in the struct for znode.