lundman wrote:We are looking for Err#45, ENOTSUP.. actually, we could just look for that specifically:
dtrace -n 'zfs*:return { if (arg1 == 45) {stack();} }'
I tried this, both for the 'zfs*' as well as the 'dal*' pattern - to no avail. Simply no output.
If I use '*', then indeed a lot of dtrace messages are shown, too much to list here though...
Note that I disabled SIP for dtrace only with "csrutil enable –without dtrace" in recovery mode, in case this makes a difference.
I also tried running the zfs command (self-compiled from source) with lldb:
- Code: Select all
bash$ lldb cmd/zfs/.libs/zfs
lldb cmd/zfs/.libs/zfs
(lldb) run create zdata/test
Process 32567 launched: 'cmd/zfs/.libs/zfs' (x86_64)
internal error: Operation not supported on socket
Process 32567 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x00007fff686667fa libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
-> 0x7fff686667fa <+10>: jae 0x7fff68666804 ; <+20>
0x7fff686667fc <+12>: movq %rax, %rdi
0x7fff686667ff <+15>: jmp 0x7fff68660a89 ; cerror_nocancel
0x7fff68666804 <+20>: retq
Target 0: (zfs) stopped.
(lldb) thread list
Process 32567 stopped
* thread #1: tid = 0x273c1d, 0x00007fff686667fa libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
(lldb) thread backtrace
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
* frame #0: 0x00007fff686667fa libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff68723bc1 libsystem_pthread.dylib`pthread_kill + 432
frame #2: 0x00007fff685eda1c libsystem_c.dylib`abort + 120
frame #3: 0x000000010057bd75 libzfs.2.dylib`zfs_verror + 174
frame #4: 0x000000010057c006 libzfs.2.dylib`zfs_standard_error_fmt + 619
frame #5: 0x000000010057bd94 libzfs.2.dylib`zfs_standard_error + 21
frame #6: 0x000000010055f1a6 libzfs.2.dylib`zfs_create + 1235
frame #7: 0x00000001000036c5 zfs`zfs_do_create(argc=<unavailable>, argv=0x00007ffeefbff918) at zfs_main.c:979:6 [opt]
frame #8: 0x0000000100002750 zfs`main(argc=<unavailable>, argv=0x00007ffeefbff910) at zfs_main.c:8014:10 [opt]
frame #9: 0x00007fff6851f7fd libdyld.dylib`start + 1
Does this help you?
Sorry, I openly admit that I am not really familiar with lldb or dtrace...
PS: I am not sure whether libzfs.2.dylib (probably accessed in /usr/local/lib/) matches the executed version of zfs... Installed is zfs-1.9.3-3-ge94a41240