openzfsonwindows / openzfs

OpenZFS on Linux and FreeBSD
https://openzfs.github.io/openzfs-docs
Other
462 stars 17 forks source link

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED BSOD when trying to initialise a zvol as a physical disk (debug build) #136

Closed andrewc12 closed 2 years ago

andrewc12 commented 2 years ago

System information

Type Version/Name
Distribution Name Windows 11
Distribution Version
Kernel Version
Architecture
OpenZFS Version branch windows debug build commit/2affdcc840bbf6478fb9e9eaa6fb4ac78723ae91

Describe the problem you're observing

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED BSOD when trying to initialise a zvol as a physical disk

Describe how to reproduce the problem

zpool.exe create -f -O casesensitivity=insensitive -O normalization=formD -O compression=zstd-11 -O atime=off -o ashift=12 tank Harddisk0Partition4 zfs create tank/thinvol zfs create -s -V 150g tank/thinvol/1

In disk manager initialise the disk

Include any warning/errors/backtraces from the system logs

stack1

``` 5: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e) This is a very common BugCheck. Usually the exception address pinpoints the driver/function that caused the problem. Always note this address as well as the link date of the driver/image that contains this address. Arguments: Arg1: ffffffff80000003, The exception code that was not handled Arg2: fffff8025a414f0e, The address that the exception occurred at Arg3: fffffd849ee968d8, Exception Record Address Arg4: fffffd849ee960f0, Context Record Address Debugging Details: ------------------ Unable to load image \SystemRoot\system32\DRIVERS\OpenZFS.sys, Win32 error 0n2 ***** Kernel symbols are WRONG. Please fix symbols to do analysis. ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_IMAGE_DOS_HEADER *** *** *** ************************************************************************* Unable to load image \SystemRoot\system32\drivers\Wdf01000.sys, Win32 error 0n2 ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: Wdf01000!_FX_DRIVER_GLOBALS *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: Wdf01000!_WDF_DRIVER_GLOBALS *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_EPROCESS *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KTHREAD *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Either you specified an unqualified symbol, or your debugger *** *** doesn't have full symbol information. Unqualified symbol *** *** resolution is turned off by default. Please either specify a *** *** fully qualified symbol module!symbolname, or enable resolution *** *** of unqualified symbols by typing ".symopt- 100". Note that *** *** enabling unqualified symbol resolution with network symbol *** *** server shares in the symbol path may cause the debugger to *** *** appear to hang for long periods of time when an incorrect *** *** symbol name is typed or the network symbol server is down. *** *** *** *** For some commands to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* KEY_VALUES_STRING: 1 Key : Analysis.CPU.mSec Value: 202 Key : Analysis.DebugAnalysisManager Value: Create Key : Analysis.Elapsed.mSec Value: 260 Key : Analysis.Init.CPU.mSec Value: 22734 Key : Analysis.Init.Elapsed.mSec Value: 147643 Key : Analysis.Memory.CommitPeak.Mb Value: 86 Key : WER.OS.Branch Value: co_release Key : WER.OS.Timestamp Value: 2021-06-04T16:28:00Z Key : WER.OS.Version Value: 10.0.22000.1 FILE_IN_CAB: MEMORY.DMP ADDITIONAL_DEBUG_TEXT: You can run '.symfix; .reload' to try to fix the symbol path and load symbols. WRONG_SYMBOLS_TIMESTAMP: 8c9dbe80 WRONG_SYMBOLS_SIZE: 1047000 FAULTING_MODULE: fffff8023ba00000 nt DUMP_FILE_ATTRIBUTES: 0x1800 BUGCHECK_CODE: 7e BUGCHECK_P1: ffffffff80000003 BUGCHECK_P2: fffff8025a414f0e BUGCHECK_P3: fffffd849ee968d8 BUGCHECK_P4: fffffd849ee960f0 EXCEPTION_RECORD: fffffd849ee968d8 -- (.exr 0xfffffd849ee968d8) ExceptionAddress: fffff8025a414f0e (OpenZFS!panic+0x000000000000004e) ExceptionCode: 80000003 (Break instruction exception) ExceptionFlags: 00000000 NumberParameters: 1 Parameter[0]: 0000000000000000 CONTEXT: fffffd849ee960f0 -- (.cxr 0xfffffd849ee960f0) rax=0000000000000001 rbx=ffffd6039b33d040 rcx=fcd2a160ca4d0000 rdx=0000000000000027 rsi=0000000000000000 rdi=ffffd60360ad03d0 rip=fffff8025a414f0e rsp=fffffd849ee96b10 rbp=0000000000000080 r8=000000000000004d r9=0000000000000000 r10=0000000000000010 r11=0000000000000000 r12=0000000000000102 r13=00000000ffffffff r14=ffffd60352eff040 r15=0000000000000000 iopl=0 nv up ei ng nz na pe nc cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040282 OpenZFS!panic+0x4e: fffff802`5a414f0e cc int 3 Resetting default scope BLACKBOXBSD: 1 (!blackboxbsd) BLACKBOXNTFS: 1 (!blackboxntfs) BLACKBOXPNP: 1 (!blackboxpnp) BLACKBOXWINLOGON: 1 EXCEPTION_STR: WRONG_SYMBOLS STACK_TEXT: fffffd84`9ee96b10 fffff802`5a3fb2ef : 00000000`00000000 00000000`00073399 fffffd84`9ee96e60 ffffd603`60ab9700 : OpenZFS!panic+0x4e [D:\a\openzfs\openzfs\module\os\windows\spl\spl-debug.c @ 32] fffffd84`9ee96b50 fffff802`5a6f0b8d : ffffd603`52eff040 00000000`00000000 00001f80`0010000f 0053002b`002b0010 : OpenZFS!spl_mutex_tryenter+0x5f [D:\a\openzfs\openzfs\module\os\windows\spl\spl-mutex.c @ 180] fffffd84`9ee96b90 fffff802`5a6f0926 : ffffd603`52eff000 fffff802`5aaedf10 fffff802`38fb8180 fffffd84`9ee97b70 : OpenZFS!zstd_mempool_alloc+0x6d [D:\a\openzfs\openzfs\module\zstd\zfs_zstd.c @ 284] fffffd84`9ee96bf0 fffff802`5a7010fb : 00000000`00000102 00000000`00000102 00000000`ffffffff ffffd603`60ab96d0 : OpenZFS!zstd_alloc+0x36 [D:\a\openzfs\openzfs\module\zstd\zfs_zstd.c @ 577] fffffd84`9ee96c40 fffff802`5a6fbed6 : 00000000`00000000 fffff802`5a6f88a7 ffffd603`00000000 ffffd603`60ab96d0 : OpenZFS!ZSTD_malloc+0x2b [D:\a\openzfs\openzfs\module\zstd\lib\common\zstd_common.c @ 59] fffffd84`9ee96c80 fffff802`5a6fb6ff : 00000000`00000000 fffff802`3bde28c8 ffffd603`61bc6100 fffff802`3bde5aa6 : OpenZFS!ZSTD_cwksp_create+0x46 [D:\a\openzfs\openzfs\module\zstd\lib\compress\zstd_cwksp.h @ 459] fffffd84`9ee96cf0 fffff802`5a6f6e6e : 00000000`00000000 00000000`00004000 fffffd84`9ee97010 fffffd84`9ee97010 : OpenZFS!ZSTD_resetCCtx_internal+0x66f [D:\a\openzfs\openzfs\module\zstd\lib\compress\zstd_compress.c @ 1495] fffffd84`9ee96ef0 fffff802`5a6fa22a : 00000000`00000004 00000000`0009a1fa ffffd603`9b33d040 fffff802`5a8735b1 : OpenZFS!ZSTD_compressBegin_internal+0x18e [D:\a\openzfs\openzfs\module\zstd\lib\compress\zstd_compress.c @ 3103] fffffd84`9ee97060 fffff802`5a6f9e90 : 00000000`00000001 ffffd603`00000001 fffff802`5a3e5800 00000000`ffffffff : OpenZFS!ZSTD_resetCStream_internal+0xea [D:\a\openzfs\openzfs\module\zstd\lib\compress\zstd_compress.c @ 3655] fffffd84`9ee97120 fffff802`5a6fad83 : fffffd84`9ee97390 0000000a`0000000a 00000000`00000000 fffff802`5a6f33bc : OpenZFS!ZSTD_compressStream2+0x2b0 [D:\a\openzfs\openzfs\module\zstd\lib\compress\zstd_compress.c @ 4009] fffffd84`9ee97340 fffff802`5a6f5e54 : 00000000`00000000 000000c8`009c6fb9 ffff9460`12d03169 00000000`00000000 : OpenZFS!ZSTD_compressStream2_simpleArgs+0xb3 [D:\a\openzfs\openzfs\module\zstd\lib\compress\zstd_compress.c @ 4058] fffffd84`9ee973d0 fffff802`5a6efccf : 00000000`00004000 00000000`00004000 00000000`00000000 ffffd603`60f01760 : OpenZFS!ZSTD_compress2+0xa4 [D:\a\openzfs\openzfs\module\zstd\lib\compress\zstd_compress.c @ 4072] fffffd84`9ee97470 fffff802`5a56a525 : 00000000`00400000 00000000`00000000 00000000`00000002 ffffd603`60ebe000 : OpenZFS!zfs_zstd_compress+0x31f [D:\a\openzfs\openzfs\module\zstd\zfs_zstd.c @ 426] fffffd84`9ee97560 fffff802`5a51b030 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : OpenZFS!zio_compress_data+0x275 [D:\a\openzfs\openzfs\module\zfs\zio_compress.c @ 168] fffffd84`9ee97610 fffff802`5a51665d : 00000000`00000000 ffffd603`52eff040 00000000`ffffffff 00000000`00000102 : OpenZFS!zio_write_compress+0x870 [D:\a\openzfs\openzfs\module\zfs\zio.c @ 1709] fffffd84`9ee97990 fffff802`5a51633b : 00000000`00015132 fffff802`5a3fc5a6 00000000`00000002 00000000`00000000 : OpenZFS!__zio_execute+0x30d [D:\a\openzfs\openzfs\module\zfs\zio.c @ 2219] fffffd84`9ee97a00 fffff802`5a3e5d2a : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : OpenZFS!zio_execute+0x1b [D:\a\openzfs\openzfs\module\zfs\zio.c @ 2131] fffffd84`9ee97a40 fffff802`3bd67d95 : ffffd603`9b33d040 fffff802`5a3e5810 ffffd603`60ad03d0 00000000`00000000 : OpenZFS!taskq_thread+0x51a [D:\a\openzfs\openzfs\module\os\windows\spl\spl-taskq.c @ 2082] fffffd84`9ee97af0 fffff802`3be1edd4 : fffff802`38fb8180 ffffd603`9b33d040 fffff802`3bd67d40 00000000`00000000 : nt!EtwProviderEnabled+0x19d5 fffffd84`9ee97b40 00000000`00000000 : fffffd84`9ee98000 fffffd84`9ee91000 00000000`00000000 00000000`00000000 : nt!KeSynchronizeExecution+0x2d94 FAULTING_SOURCE_LINE: D:\a\openzfs\openzfs\module\os\windows\spl\spl-debug.c FAULTING_SOURCE_FILE: D:\a\openzfs\openzfs\module\os\windows\spl\spl-debug.c FAULTING_SOURCE_LINE_NUMBER: 32 STACK_COMMAND: .cxr 0xfffffd849ee960f0 ; kb EXCEPTION_CODE_STR: 8C9DBE80 PROCESS_NAME: ntoskrnl.wrong.symbols.exe IMAGE_NAME: ntoskrnl.wrong.symbols.exe MODULE_NAME: nt_wrong_symbols SYMBOL_NAME: nt_wrong_symbols!8C9DBE801047000 FAILURE_BUCKET_ID: WRONG_SYMBOLS_X64_22000.1.amd64fre.co_release.210604-1628_TIMESTAMP_441003-225600_8C9DBE80_nt_wrong_symbols!8C9DBE801047000 OS_VERSION: 10.0.22000.1 BUILDLAB_STR: co_release OSPLATFORM_TYPE: x64 OSNAME: Windows 10 FAILURE_ID_HASH: {f215eb0c-71c1-ef76-fc4e-72e155af8688} Followup: MachineOwner --------- ```

cbuf.txt

lundman commented 2 years ago

OK this is a known bug, which I already fixed in macOS. My notes from there:

<lundman> zstd uses mutex_tryenter() to check if it already is holding
<lundman> the mutex. Can't find any implementations that object to it, so
<lundman> changing our spl-mutex.c

So it turns out that mutex_tryenter() should not have a "locking against myself" check, it is perfectly valid to use it as a "is locked" test. Remove the two lines.