zfs icon indicating copy to clipboard operation
zfs copied to clipboard

macOS 10.15 Catalina support ✅

Open pirate opened this issue 5 years ago • 114 comments

It's still early, so I don't expect there to already be support for the new macOS Catalina beta, but surprisingly it worked! I figured I'd open a ticket to help track progress on any bugs. (Also to serve as a resource for people like me who Googled "zfs" "macOS" OR "osx" "catalina" OR "10.15" and got no real results.)

  • macOS 10.15 Beta (19A487)
  • openzfsonosx 1.9.0-1
  • installer used OpenZFS_on_OS_X_1.9.0.dmg/OpenZFS on OS X 1.9.0 Mojave.pkg

After downloading it from the homepage, I ran the Mojave installer on my system and it failed the first time with a yellow warning at the end of the last page in Install.app. However, after immediately trying a second time it seems to have succeeded and be working perfectly now.

➜  zpool --version
zfs-1.9.0-1
zfs-kmod-1.9.0-1
➜  sudo gdd if=/dev/zero of=~/Desktop/test.zpool bs=1M count=128
➜  sudo zpool create test ~/Desktop/test.zpool
➜  sudo zfs mount -a
➜  sudo zpool status
➜  sudo echo "test" > /Volumes/test.txt && sync && cat /Volumes/test.txt
# everything works as expected for raw file vdevs
➜  sudo zpool create -f -o ashift=12 \
            -O casesensitivity=insensitive \
            -O normalization=formD \
            -O compression=lz4 \
            -O utf8only=on \
            -O sync=disabled \
            test2 mirror disk6 disk7
# everything also works as expected for two mirrors on Samsung FIT 32GB USB key vdevs
# files read and write correctly, and the pool still work after disconnecting and reconnecting the usb keys

The one minor thing that could be fixed is to enable installing via homebrew cask (once more people confirm it's stable):

➜  brew cask install openzfs
==> Caveats
To install and/or use openzfs you may need to enable its kernel extension in:
  System Preferences → Security & Privacy → General
For more information refer to vendor documentation or this Apple Technical Note:
  https://developer.apple.com/library/content/technotes/tn2459/_index.html

==> Satisfying dependencies
Error: Cask openzfs depends on macOS release being one of [10.9, 10.10, 10.11, 10.12, 10.13, 10.14], but you are running release 10.15.

pirate avatar Jul 08 '19 03:07 pirate

I attempted to check if Catalina worked last week, but found that VMWare Fusion does not work with it yet. I've been waiting for a fix for fusion :)

lundman avatar Jul 08 '19 03:07 lundman

The only issue I have found with Catalina and 1.9.1 rc1 is that ZFS pools no longer auto mount on login. I have to run sudo zpool import xxx manually. I think it's to do with allowing access to removable volumes but I don't know how to fix that!

dgsga avatar Jul 23 '19 07:07 dgsga

@dgsga Hmm, or the permissions to use launchDaemons for this kind of stuff - don't know if the zpool-import-all script actually still gets run or not

JMoVS avatar Aug 02 '19 09:08 JMoVS

I encountered anther bug on Catalina. When under high IO (I think), Catalina will crash (without showing the kernel panic screen) with half a second of loud fan noise.

I encountered this a lot in Beta 1 and therefore revert to 10.14, I have not saved the crash report as I thought it was a Catalina problem and will be address by apple. ((I think it was a segfault, but not sure if I remembered it correctly))

However, today when I tried out 10.15b5, it happened exactly once but significantly less often than before. Unfortunately this time I don't get a crash report but I will try my best to reproduce it and upload the report once I success.

michael-yuji avatar Aug 03 '19 22:08 michael-yuji

@JMoVS I'm using 1.9.2 and all the pools are imported automatically (but the volume is internal ssd instead of external)

michael-yuji avatar Aug 03 '19 22:08 michael-yuji

@michael-yuji I've had exactly the same problem with a kernel panic when under high IO such as Spotlight, Photos.app or Sync.app indexing. The same thing occasionally happened in Mojave, where spl.kext rather than zfs.kext was highlighted in the kp report.

dgsga avatar Aug 04 '19 15:08 dgsga

One of my laptop is using 1.8.1 with Catalina and it panics, this time luckily I got a crash report:

panic(cpu 2 caller 0xffffff800a065b5a): Kernel trap at 0xffffff7f8c2fd7e5, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x00002007210001e0, CR3: 0x000000000e3f1000, CR4: 0x00000000003626e0
RAX: 0x0000000000000010, RBX: 0xffffff9210bcdfb0, RCX: 0xffffff9210bcdfc0, RDX: 0xffffff81fabbbe18
RSP: 0xffffff81fabbbdc0, RBP: 0xffffff81fabbbdc0, RSI: 0xffffff9210bcdfb0, RDI: 0xffffff9208818fb0
R8:  0x0000200721000000, R9:  0x0000000000000002, R10: 0x0000000000000001, R11: 0xffffff9211046fc0
R12: 0xffffff91fbf391b8, R13: 0xffffff9210bcdfc0, R14: 0x0000000000000010, R15: 0xffffff9208818fb0
RFL: 0x0000000000010282, RIP: 0xffffff7f8c2fd7e5, CS:  0x0000000000000008, SS:  0x0000000000000000
Fault CR2: 0x00002007210001e0, Error code: 0x0000000000000000, Fault CPU: 0x2, PL: 0, VF: 1

Backtrace (CPU 2), Frame : Return Address
0xffffff81fabbb820 : 0xffffff8009f3cb9b 
0xffffff81fabbb870 : 0xffffff800a073d45 
0xffffff81fabbb8b0 : 0xffffff800a0657ab 
0xffffff81fabbb900 : 0xffffff8009ee3bb0 
0xffffff81fabbb920 : 0xffffff8009f3c287 
0xffffff81fabbba20 : 0xffffff8009f3c66b 
0xffffff81fabbba70 : 0xffffff800a6ccc69 
0xffffff81fabbbae0 : 0xffffff800a065b5a 
0xffffff81fabbbc60 : 0xffffff800a06585c 
0xffffff81fabbbcb0 : 0xffffff8009ee3bb0 
0xffffff81fabbbcd0 : 0xffffff7f8c2fd7e5 
0xffffff81fabbbdc0 : 0xffffff7f8c2f90d1 
0xffffff81fabbbe00 : 0xffffff7f8c2f93ec 
0xffffff81fabbbe30 : 0xffffff7f8c2fb9ad 
0xffffff81fabbbe70 : 0xffffff7f8c301554 
0xffffff81fabbbeb0 : 0xffffff7f8c2fc8b8 
0xffffff81fabbbee0 : 0xffffff7f8c300a5c 
0xffffff81fabbbf10 : 0xffffff7f8c305f16 
0xffffff81fabbbfa0 : 0xffffff8009ee313e 
      Kernel Extensions in backtrace:
         net.lundman.spl(1.8.1)[F931881B-FB27-3712-8C57-4DF33E9CCD48]@0xffffff7f8c2f8000->0xffffff7f8d4ecfff

BSD process name corresponding to current thread: kernel_task

Mac OS version:
19A536g

Kernel version:
Darwin Kernel Version 19.0.0: Fri Aug  9 21:59:46 PDT 2019; root:xnu-6153.0.139.161.2~2/RELEASE_X86_64
Kernel UUID: E2D7BDCF-3936-31FC-B884-D01BB1F44587
Kernel slide:     0x0000000009c00000
Kernel text base: 0xffffff8009e00000
__HIB  text base: 0xffffff8009d00000
System model name: MacBookPro13,3 (Mac-A5C67F76ED83108C)
System shutdown begun: NO
Panic diags file available: YES (0x0)

System uptime in nanoseconds: 5872071293263
last loaded kext at 3593327050318: >usb.cdc.acm	5.0.0 (addr 0xffffff7f8e9be000, size 32768)
last unloaded kext at 4310866791230: >!UMergeNub	900.4.2 (addr 0xffffff7f8e6cf000, size 12288)
loaded kexts:
com.intel.kext.intelhaxm	7.3.2
net.lundman.zfs	1.8.1
net.lundman.spl	1.8.1
@kext.AMDFramebuffer	3.0.0
@kext.AMDRadeonX4000	3.0.0
>AudioAUUC	1.70
@kext.AMDRadeonServiceManager	3.0.0
>!AGraphicsDevicePolicy	4.1.30
@fileutil	20.036.15
@filesystems.autofs	3.0
@AGDCPluginDisplayMetrics	4.1.30
>!AHV	1
|IOUserEthernet	1.0.1
|IO!BSerialManager	7.0.0d105
>!AUpstreamUserClient	3.6.8
>pmtelemetry	1
>AGPM	111.1.18
>X86PlatformShim	1.0.0
>!APlatformEnabler	2.7.0d0
>!A!ISKLGraphics	14.0.0
@Dont_Steal_Mac_OS_X	7.0.0
>AGDCBacklightControl	4.1.30
>!AHDA	283.13
@kext.AMD9500!C	3.0.0
>!AThunderboltIP	3.1.2
>!AHIDALSService	1
>eficheck	1
>!AMuxControl	4.1.30
>SMCMotionSensor	3.0.4d1
>!A!IPCHPMC	2.0.1
>!AGFXHDA	100.1.421
>!AEmbeddedOSSupportHost	1
>AirPort.BrcmNIC	1400.1.1
>!A!ISKLGraphicsFramebuffer	14.0.0
>!A!ISlowAdaptiveClocking	4.0.0
>!AMCCSControl	1.10
>!AVirtIO	1.0
@filesystems.hfs.kext	522.0.5
@!AFSCompression.!AFSCompressionTypeDataless	1.0.0d1
@BootCache	40
@!AFSCompression.!AFSCompressionTypeZlib	1.0.0
>!ATopCaseHIDEventDriver	153
@filesystems.apfs	1412.0.16
@private.KextAudit	1.0
>!ASmartBatteryManager	161.0.0
>!AACPIButtons	6.1
>!ARTC	2.0
>!ASMBIOS	2.1
>!AACPIEC	6.1
>!AAPIC	1.7
$!AImage4	1
@nke.applicationfirewall	302
$TMSafetyNet	8
@!ASystemPolicy	2.0.0
|EndpointSecurity	1
@kext.AMDRadeonX4100HWLibs	1.0
@kext.AMDRadeonX4000HWServices	3.0.0
@kext.triggers	1.0
|IOAVB!F	800.16
>!ASSE	1.0
>DspFuncLib	283.13
@kext.OSvKernDSPLib	529
@!AGPUWrangler	4.1.30
>!ABacklightExpert	1.1.0
>!AHDA!C	283.13
|IOHDA!F	283.13
@kext.AMDSupport	3.0.0
>!AGraphicsControl	4.1.30
|IOAudio!F	300.2
@vecLib.kext	1.2.0
|IONDRVSupport	558
|IO!BHost!CUARTTransport	7.0.0d105
|IO!BHost!CTransport	7.0.0d105
>!A!ILpssUARTv1	3.0.60
>!A!ILpssUARTCommon	3.0.60
>!AOnboardSerial	1.0
|IO80211!F	1200.12.2b1
>mDNSOffloadUserClient	1.0.1b8
>corecapture	1.0.4
@!AGraphicsDeviceControl	4.1.30
|IOAccelerator!F2	438.1.17
|IOSlowAdaptiveClocking!F	1.0.0
>!ASMBus!C	1.0.18d1
|IOGraphics!F	558
>X86PlatformPlugin	1.0.0
>IOPlatformPlugin!F	6.0.0d8
@plugin.IOgPTPPlugin	800.14
|IOEthernetAVB!C	1.1.0
|IOSkywalk!F	1
>usb.cdc.ncm	5.0.0
>usb.!UiBridge	1.0
>usb.cdc	5.0.0
>usb.networking	5.0.0
>usb.!UHostCompositeDevice	1.2
|IOSerial!F	11
|IOSurface	269.6
@filesystems.hfs.encodings.kext	1
>!AActuatorDriver	3400.32
>!AHIDKeyboard	209
>!AHS!BDriver	153
>IO!BHIDDriver	7.0.0d105
|IO!B!F	7.0.0d105
|IO!BPacketLogger	7.0.0d105
>!AMultitouchDriver	3400.32
>!AInputDeviceSupport	3400.25
>!AHSSPIHIDDriver	58
>!AThunderboltDPInAdapter	6.1.9
>!AThunderboltDPAdapter!F	6.1.9
>!AThunderboltPCIDownAdapter	2.5.2
>!AHSSPISupport	58
>!A!ILpssSpi!C	3.0.60
|IONVMe!F	2.1.0
>!AThunderboltNHI	5.5.8
>!AHPM	3.4.4
|IOThunderbolt!F	7.4.5
>!A!ILpssI2C!C	3.0.60
>!A!ILpssDmac	3.0.60
>!A!ILpssI2C	3.0.60
>!A!ILpssGspi	3.0.60
>usb.!UXHCIPCI	1.2
>usb.!UXHCI	1.2
>usb.!UHostPacketFilter	1.0
|IOUSB!F	900.4.2
>!AEFINVRAM	2.1
>!AEFIRuntime	2.1
|IOSMBus!F	1.1
|IOHID!F	2.0.0
$quarantine	4
$sandbox	300.0
@kext.!AMatch	1.0.0d1
>DiskImages	493.0.0
>!AFDEKeyStore	28.30
>!AEffaceable!S	1.0
>!AKeyStore	2
>!UTDM	489.0.2
|IOSCSIBlockCommandsDevice	422.0.1
>!ACredentialManager	1.0
>KernelRelayHost	1
>!ASEPManager	1.0.1
>IOSlaveProcessor	1
|IOTimeSync!F	800.14
|IONetworking!F	3.4
|IOUSBMass!SDriver	157.0.1
|IOSCSIArchitectureModel!F	422.0.1
|IO!S!F	2.1
|IOUSBHost!F	1.2
>!UHostMergeProperties	1.2
>usb.!UCommon	1.0
>!ABusPower!C	1.0
|CoreAnalytics!F	1
>!AMobileFileIntegrity	1.0.5
@kext.CoreTrust	1
|IOReport!F	47
>!AACPIPlatform	6.1
>!ASMC	3.1.9
>watchdog	1
|IOPCI!F	2.9
|IOACPI!F	1.4
@kec.pthread	1
@kec.Libm	1
@kec.corecrypto	1.0

michael-yuji avatar Aug 26 '19 06:08 michael-yuji

zfs and spl 1.8.1 are really quite old by now, can you try upgrading to 1.9.2 and let us know if it happens there as well?

Also, are you familiar with boot-args? keepsyms=1 would be helpful

JMoVS avatar Aug 26 '19 06:08 JMoVS

zfs and spl 1.8.1 are really quite old by now, can you try upgrading to 1.9.2 and let us know if it happens there as well?

Also, are you familiar with boot-args? keepsyms=1 would be helpful

Sure, it was an accident when I boot from this laptop and use it for a while and crashed (which I am very happy about it cuz I finally got a crash report). I am going to upgrade it and use it until it panic again lol.

michael-yuji avatar Aug 26 '19 06:08 michael-yuji

Heads up: Apple's being problematic and telling some of us to update to Catalina (even on unsupported Macs (MacPro5,1 & 4,1) for some bizarre reason) on certain bugs in Mojave. I'm kinda baffled and have attempted to have conversations with Apple dev staff via Bug Report/Feedback Ass., but not much luck. Essentially I've reported "blah is happening in 10.14.6" and their reply "Please try beta X of 10.15" and let us know if the problem is resolved. I'm pretty disturbed and upset by this behavior by Apple, but I've heard of others hitting the same issue now too as I search the web.

I'm working on moving to Catalina here myself at the moment via the "unsupported methods" to see if my problems are indeed resolved as Apple has instructed, but it's a headache and some issues such as ZFS trouble has me worried.

ylluminate avatar Aug 31 '19 17:08 ylluminate

this is still a problem with 1.9.2 an Catalina beta 7

LATBauerdick avatar Sep 06 '19 01:09 LATBauerdick

OK, so in Catalina it appears our zfs.fs is not being used, this means the devdisk mounts will fail - so you are better off having devdisk=off for now.

diskarbitrationd.log:

14:21:27   probed disk, id = /dev/disk3s1, with zfs, ongoing.
14:21:27   probed disk, id = /dev/disk3s1, with zfs, failure.
14:21:27   unable to probe /dev/disk3s1 (status code 0x0000002D).

When trussing we get

  124/0x2b8:  write_nocancel(0x3, "14:21:27   probed disk, id = /dev/disk3s1, with zfs, ongoing.\n\0", 0x3E)		 = 62 0
  124/0x2b8:  open_nocancel(".\0", 0x0, 0x1)		 = 4 0
  124/0x2b8:  fstat64(0x4, 0x7FFEE2DF8740, 0x0)		 = 0 0
  124/0x2b8:  fcntl_nocancel(0x4, 0x32, 0x7FFEE2DF8950)		 = 0 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  stat64("/\0", 0x7FFEE2DF86B0, 0x0)		 = 0 0
  124/0x2b8:  stat64("/Library/Filesystems/zfs.fs\0", 0x7FFEE2DF8AC0, 0x0)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF6F18, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 104 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF6F38, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 256 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open("/Library/Filesystems/zfs.fs/Contents/Info.plist\0", 0x0, 0x1B6)		 = 4 0
  124/0x2b8:  fstat64(0x4, 0x7FFEE2DF8380, 0x0)		 = 0 0
  124/0x2b8:  read(0x4, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>BuildMachineOSBuild</key>\n\t<string>18A391011</string>\n\t<key>CFBundleDevelopment", 0x10C5)		 = 4293 0
  124/0x2b8:  close(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF73F8, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 1984 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources/.\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF7218, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 1984 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources/en.lproj/.\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF7218, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 152 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources/Base.lproj/.\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF7218, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 112 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources/English.lproj/.\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF7218, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 112 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel(".\0", 0x0, 0x1)		 = 4 0
  124/0x2b8:  fstat64(0x4, 0x7FFEE2DF8740, 0x0)		 = 0 0
  124/0x2b8:  fcntl_nocancel(0x4, 0x32, 0x7FFEE2DF8950)		 = 0 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  stat64("/\0", 0x7FFEE2DF86B0, 0x0)		 = 0 0
  124/0x2b8:  stat64("/Library/Filesystems/zfs.fs\0", 0x7FFEE2DF8AC0, 0x0)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF6F18, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 104 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF6F38, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 256 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open("/Library/Filesystems/zfs.fs/Contents/Info.plist\0", 0x0, 0x1B6)		 = 4 0
  124/0x2b8:  fstat64(0x4, 0x7FFEE2DF8380, 0x0)		 = 0 0
  124/0x2b8:  read(0x4, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>BuildMachineOSBuild</key>\n\t<string>18A391011</string>\n\t<key>CFBundleDevelopment", 0x10C5)		 = 4293 0
  124/0x2b8:  close(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF73F8, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 1984 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources/.\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF7218, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 1984 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources/en.lproj/.\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF7218, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 152 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources/Base.lproj/.\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF7218, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 112 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  open_nocancel("/Library/Filesystems/zfs.fs/Contents/Resources/English.lproj/.\0", 0x1100004, 0x31741450)		 = 4 0
  124/0x2b8:  fstatfs64(0x4, 0x7FFEE2DF7218, 0x0)		 = 0 0
  124/0x2b8:  getdirentries64(0x4, 0x7FC69F80E600, 0x2000)		 = 112 0
  124/0x2b8:  close_nocancel(0x4)		 = 0 0
  124/0x2b8:  write_nocancel(0x3, "14:21:27   probed disk, id = /dev/disk3s1, with zfs, failure.\n\0", 0x3E)		 = 62 0
  124/0x2b8:  write_nocancel(0x3, "14:21:27 unable to probe /dev/disk3s1 (status code 0x0000002D).\n\0", 0x40)		 = 64 0

The sources for DAProbe.c:

   if ( status )
    {
        /*
         * We have found no probe match for this media object.
         */

        if ( context->filesystem )
        {
            CFStringRef kind;

            kind = DAFileSystemGetKind( context->filesystem );

            DALogDebug( "  probed disk, id = %@, with %@, failure.", context->disk, kind );

            if ( status != FSUR_UNRECOGNIZED )
            {
                DALogError( "unable to probe %@ (status code 0x%08X).", context->disk, status );
            }

Which seems to imply we aren't matching (although it picks zfs.fs ok, then reject it?)

As 0x2D is 45, the error is ENOTSUP, which means we are probably running afoul of these tests:

https://github.com/appleopen/DiskArbitration/blob/master/diskarbitrationd/DAFileSystem.c#L645

However, I have tried copying hfsutil's plist and entire hfs.fs/ directory to no avail.

lundman avatar Sep 06 '19 05:09 lundman

OK, turns out we should have a /Library/Filesystems/zfs.fs/Contents/Resources/fsck_zfs. We do compile one in cmd/fsck_zfs which is more or less just /bin/true. With that in the bundle, everything appears to function as expected.

lundman avatar Sep 06 '19 05:09 lundman

@lundman Does it hurt to put that t the fsck_zfs also for older versions? Otherwise could you push a commit to master to fix this?

JMoVS avatar Sep 06 '19 07:09 JMoVS

Not at all, should be fixed for all versions yep

lundman avatar Sep 06 '19 07:09 lundman

OpenZFSonOsX-Catalina-1.9.2.zip

I have done a test build using Xcode 11, and Catalina, which also has the zfs_util fixes for mounts. Please give feedback.

lundman avatar Sep 11 '19 01:09 lundman

Halfway-Off Topic, but what does concern me (a lot) now is: How's a future of openzfsonosx (post-Catalina) possible, with the deprecation of kexts? How would a volume- and filesystem be even thinkable in userland? Will it wait for photoshop to finish rendering before committing the ZIL? Is the tremendous and impeccable work done by the openzfs team and by @lundman destined to be trashed by this (sorry, can't find a better word) sort of "fascist" direction Apple is taking in regard of their OS and services..? Maybe more a topic for a forum than for a github bug... Best Regards,

Lorenzo

lopezio avatar Sep 11 '19 12:09 lopezio

I have just compiled the latest commit on Catalina DP8 using the Xcode 11 GM, all is working perfectly here. Thanks Jorgen for all your hard work.

dgsga avatar Sep 11 '19 18:09 dgsga

Apple has made developing on osx a little less friendly in recent times, that is true, and there probably will be a day in the future when we can no longer maintain support. But until that time!

lundman avatar Sep 12 '19 02:09 lundman

Also, as far as anything Apple has said so far, there are specific categories of kernel extensions that Apple is transitioning to DriverKit (USB HID devices, serial devices, NICs), NetworkingDriverKit, and Endpoint Security extensions... and filesystems are not one of those categories. It seems unlikely to me that Apple will completely eliminate the ability to install kernel extensions on macOS.

dmzimmerman avatar Sep 12 '19 16:09 dmzimmerman

I can just about guarantee that any panics that have the ZFS kext in it will create a flag with them and they'll more seriously consider it. I wonder if there's a way to build an exception handling mechanism into ZFS that will catch a panic before it goes back to the kernel and send that data over here for processing?...

ylluminate avatar Sep 12 '19 16:09 ylluminate

Also, if that's really a concern, maybe just don't send the panic reports to Apple if you're generating lots of them due to testing/adding new features/etc... I haven't had a ZFS panic in nearly forever running the stable releases with my couple of pools.

dmzimmerman avatar Sep 12 '19 16:09 dmzimmerman

I installed Jorgen's test build, but unfortunately that did not solve the problem of frequent panics for me.

Panics happen now more often since installing 15.1 beta 3 (it had been pretty stable since 15.0 beta 5 or so) , possibly related to that Mail decided to re-download all my hundred thousands of emails -- so I'm not sure if the frequent reboots are related to more disk activity or some additional changes in beta 3.

LATBauerdick avatar Sep 12 '19 22:09 LATBauerdick

If you are having panics on Catalina, we'd need to have the stack pasted, with keepsyms=1 so we can take a look at it.

lundman avatar Sep 12 '19 23:09 lundman

here's the stack I saved last time, I'll set keepsyms=1 for next time...

panic(cpu 2 caller 0xffffff801806acaa): Kernel trap at 0xffffff7f9c23027a, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x0000000000000138, CR3: 0x000000002c527000, CR4: 0x00000000003626e0
RAX: 0x00000000000007a8, RBX: 0xffffff92c43cefb0, RCX: 0x0000000000000000, RDX: 0x0000000003000000
RSP: 0xffffff921891bde0, RBP: 0xffffff921891be10, RSI: 0xffffff922238d120, RDI: 0xffffff922238d190
R8:  0x0000000000000001, R9:  0x0000000000000002, R10: 0x0000000000000001, R11: 0x0000000000000000
R12: 0xffffff92c43ce7c8, R13: 0xffffff922238d190, R14: 0xffffff922238d118, R15: 0xffffff922238d000
RFL: 0x0000000000010202, RIP: 0xffffff7f9c23027a, CS:  0x0000000000000008, SS:  0x0000000000000000
Fault CR2: 0x0000000000000138, Error code: 0x0000000000000000, Fault CPU: 0x2, PL: 0, VF: 1

Backtrace (CPU 2), Frame : Return Address
0xffffff921891b840 : 0xffffff8017f41b6b 
0xffffff921891b890 : 0xffffff8018078e95 
0xffffff921891b8d0 : 0xffffff801806a8fe 
0xffffff921891b920 : 0xffffff8017ee8bb0 
0xffffff921891b940 : 0xffffff8017f41257 
0xffffff921891ba40 : 0xffffff8017f4163b 
0xffffff921891ba90 : 0xffffff80186d2879 
0xffffff921891bb00 : 0xffffff801806acaa 
0xffffff921891bc80 : 0xffffff801806a9a8 
0xffffff921891bcd0 : 0xffffff8017ee8bb0 
0xffffff921891bcf0 : 0xffffff7f9c23027a 
0xffffff921891be10 : 0xffffff7f9c22c1dc 
0xffffff921891be80 : 0xffffff7f9c23141b 
0xffffff921891bec0 : 0xffffff7f9c22c8e6 
0xffffff921891bef0 : 0xffffff7f9c230948 
0xffffff921891bf20 : 0xffffff7f9c235d56 
0xffffff921891bfa0 : 0xffffff8017ee813e 
      Kernel Extensions in backtrace:
         net.lundman.spl(1.9.2)[FD34B77F-63E0-3672-9A30-63213502A433]@0xffffff7f9c228000->0xffffff7f9d41dfff

BSD process name corresponding to current thread: kernel_task
Boot args: chunklist-security-epoch=0 -chunklist-no-rev2-dev

Mac OS version:
19A558d

LATBauerdick avatar Sep 13 '19 03:09 LATBauerdick

... and here the most recent crash (on a different machine) with keepsyms=1

panic(cpu 2 caller 0xffffff8007e6acaa): Kernel trap at 0xffffff7f8a105380, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x0000200721000138, CR3: 0x000000000c2b5000, CR4: 0x00000000003626e0
RAX: 0xffffff81f84f3cd8, RBX: 0xffffff81f84f3fb0, RCX: 0x0000200721000000, RDX: 0x0000000003000000
RSP: 0xffffff81f692bdd0, RBP: 0xffffff81f692be00, RSI: 0xffffff81f6951120, RDI: 0xffffff81f6951190
R8:  0x0000000000000051, R9:  0x00000000000001ed, R10: 0x0000000000000001, R11: 0x0000000000000000
R12: 0xffffff81f84f3cd8, R13: 0xffffff81f6951190, R14: 0xffffff81f6951118, R15: 0xffffff81f6951000
RFL: 0x0000000000010286, RIP: 0xffffff7f8a105380, CS:  0x0000000000000008, SS:  0x0000000000000000
Fault CR2: 0x0000200721000138, Error code: 0x0000000000000000, Fault CPU: 0x2, PL: 0, VF: 1

Backtrace (CPU 2), Frame : Return Address
0xffffff81f692b830 : 0xffffff8007d41b6b mach_kernel : _handle_debugger_trap + 0x47b
0xffffff81f692b880 : 0xffffff8007e78e95 mach_kernel : _kdp_i386_trap + 0x155
0xffffff81f692b8c0 : 0xffffff8007e6a8fe mach_kernel : _kernel_trap + 0x4ee
0xffffff81f692b910 : 0xffffff8007ce8bb0 mach_kernel : _return_from_trap + 0xe0
0xffffff81f692b930 : 0xffffff8007d41257 mach_kernel : _DebuggerTrapWithState + 0x17
0xffffff81f692ba30 : 0xffffff8007d4163b mach_kernel : _panic_trap_to_debugger + 0x21b
0xffffff81f692ba80 : 0xffffff80084d2879 mach_kernel : _panic + 0x61
0xffffff81f692baf0 : 0xffffff8007e6acaa mach_kernel : _sync_iss_to_iks + 0x2aa
0xffffff81f692bc70 : 0xffffff8007e6a9a8 mach_kernel : _kernel_trap + 0x598
0xffffff81f692bcc0 : 0xffffff8007ce8bb0 mach_kernel : _return_from_trap + 0xe0
0xffffff81f692bce0 : 0xffffff7f8a105380 net.lundman.spl : _kmem_findslab + 0x44
0xffffff81f692be00 : 0xffffff7f8a10119b net.lundman.spl : _kmem_error + 0x3b
0xffffff81f692be70 : 0xffffff7f8a106521 net.lundman.spl : _kmem_magazine_destroy + 0xce
0xffffff81f692beb0 : 0xffffff7f8a1018b6 net.lundman.spl : _kmem_depot_ws_reap + 0x6c
0xffffff81f692bee0 : 0xffffff7f8a105a2e net.lundman.spl : _kmem_cache_reap + 0x66
0xffffff81f692bf10 : 0xffffff7f8a10af6b net.lundman.spl : _taskq_thread + 0x1b9
0xffffff81f692bfa0 : 0xffffff8007ce813e mach_kernel : _call_continuation + 0x2e
      Kernel Extensions in backtrace:
         net.lundman.spl(1.9.2)[EAA28CC7-9F6A-3C7B-BB90-691EBDC3A258]@0xffffff7f8a0fd000->0xffffff7f8b2f1fff

BSD process name corresponding to current thread: kernel_task
Boot args: -v keepsyms=1

Mac OS version:
19A558d

Kernel version:
Darwin Kernel Version 19.0.0: Sat Aug 31 18:49:12 PDT 2019; root:xnu-6153.11.15~8/RELEASE_X86_64
Kernel UUID: 7878452F-EDBA-3FDA-8430-29920E2E2C99
Kernel slide:     0x0000000007a00000
Kernel text base: 0xffffff8007c00000
__HIB  text base: 0xffffff8007b00000
System model name: MacBookPro13,3 (Mac-A5C67F76ED83108C)
System shutdown begun: NO
Panic diags file available: YES (0x0)

System uptime in nanoseconds: 3051218033384
last loaded kext at 128256200596: com.getdropbox.dropbox.kext	1.10.3 (addr 0xffffff7f8b2f2000, size 49152)
last unloaded kext at 441864637437: >!AXsanScheme	3 (addr 0xffffff7f897fa000, size 40960)
loaded kexts:
com.getdropbox.dropbox.kext	1.10.3
org.pqrs.driver.Karabiner.VirtualHIDDevice.v061000	6.10.0
net.lundman.zfs	1.9.2
net.lundman.spl	1.9.2
@kext.AMDFramebuffer	3.0.0
@kext.AMDRadeonX4000	3.0.0
@kext.AMDRadeonServiceManager	3.0.0
>AudioAUUC	1.70
>!AGraphicsDevicePolicy	4.1.46
@fileutil	20.036.15
@filesystems.autofs	3.0
@AGDCPluginDisplayMetrics	4.1.46
>!AHV	1
|IOUserEthernet	1.0.1
|IO!BSerialManager	7.0.0f4
>!AUpstreamUserClient	3.6.8
>AGPM	111.1.18
>!APlatformEnabler	2.7.0d0
>X86PlatformShim	1.0.0
>pmtelemetry	1
>!A!ISKLGraphics	14.0.0
@Dont_Steal_Mac_OS_X	7.0.0
>AGDCBacklightControl	4.1.46
>!AHDA	283.13
@kext.AMD9500!C	3.0.0
>!AHIDALSService	1
>!AThunderboltIP	3.1.3
>eficheck	1
>!AMuxControl	4.1.46
>SMCMotionSensor	3.0.4d1
>!AGFXHDA	100.1.421
>!A!IPCHPMC	2.0.1
>!AEmbeddedOSSupportHost	1
>AirPort.BrcmNIC	1400.1.1
>!A!ISKLGraphicsFramebuffer	14.0.0
>!A!ISlowAdaptiveClocking	4.0.0
>!AMCCSControl	1.12
>!AVirtIO	1.0
@filesystems.hfs.kext	522.0.9
@!AFSCompression.!AFSCompressionTypeDataless	1.0.0d1
@BootCache	40
@!AFSCompression.!AFSCompressionTypeZlib	1.0.0
>!ATopCaseHIDEventDriver	153
@filesystems.apfs	1412.11.4
@private.KextAudit	1.0
>!ASmartBatteryManager	161.0.0
>!AACPIButtons	6.1
>!ARTC	2.0
>!ASMBIOS	2.1
>!AACPIEC	6.1
>!AAPIC	1.7
$!AImage4	1
@nke.applicationfirewall	302
$TMSafetyNet	8
@!ASystemPolicy	2.0.0
|EndpointSecurity	1
@kext.AMDRadeonX4100HWLibs	1.0
@kext.AMDRadeonX4000HWServices	3.0.0
@kext.triggers	1.0
|IOAVB!F	800.17
>!ASSE	1.0
>DspFuncLib	283.13
@kext.OSvKernDSPLib	529
@!AGPUWrangler	4.1.46
>!ABacklightExpert	1.1.0
>!AHDA!C	283.13
|IOHDA!F	283.13
>X86PlatformPlugin	1.0.0
>!AGraphicsControl	4.1.46
|IOAudio!F	300.2
@vecLib.kext	1.2.0
|IONDRVSupport	558.3
>IOPlatformPlugin!F	6.0.0d8
|IO!BHost!CUARTTransport	7.0.0f4
|IO!BHost!CTransport	7.0.0f4
>!A!ILpssUARTv1	3.0.60
>!A!ILpssUARTCommon	3.0.60
>!AOnboardSerial	1.0
|IO80211!F	1200.12.2b1
>mDNSOffloadUserClient	1.0.1b8
>corecapture	1.0.4
@kext.AMDSupport	3.0.0
@!AGraphicsDeviceControl	4.1.46
|IOAccelerator!F2	438.1.25
|IOSlowAdaptiveClocking!F	1.0.0
>!ASMBus!C	1.0.18d1
|IOGraphics!F	558.3
@plugin.IOgPTPPlugin	800.14
|IOEthernetAVB!C	1.1.0
|IOSkywalk!F	1
>usb.cdc.ncm	5.0.0
>usb.!UiBridge	1.0
>usb.cdc	5.0.0
>usb.networking	5.0.0
>usb.!UHostCompositeDevice	1.2
|IOSerial!F	11
|IOSurface	269.6
@filesystems.hfs.encodings.kext	1
>!AActuatorDriver	3400.34
>!AHIDKeyboard	209
>!AHS!BDriver	153
>IO!BHIDDriver	7.0.0f4
|IO!B!F	7.0.0f4
|IO!BPacketLogger	7.0.0f4
>!AMultitouchDriver	3400.34
>!AInputDeviceSupport	3400.27
>!AHSSPIHIDDriver	58
>!AThunderboltDPInAdapter	6.2.2
>!AThunderboltDPAdapter!F	6.2.2
>!AThunderboltPCIDownAdapter	2.5.2
>!AHSSPISupport	58
>!A!ILpssSpi!C	3.0.60
|IONVMe!F	2.1.0
>!AThunderboltNHI	5.5.8
>!AHPM	3.4.4
|IOThunderbolt!F	7.4.5
>!A!ILpssI2C!C	3.0.60
>!A!ILpssDmac	3.0.60
>!A!ILpssI2C	3.0.60
>!A!ILpssGspi	3.0.60
>usb.!UXHCIPCI	1.2
>usb.!UXHCI	1.2
>usb.!UHostPacketFilter	1.0
|IOUSB!F	900.4.2
>!AEFINVRAM	2.1
>!AEFIRuntime	2.1
|IOSMBus!F	1.1
|IOHID!F	2.0.0
$quarantine	4
$sandbox	300.0
@kext.!AMatch	1.0.0d1
>DiskImages	493.0.0
>!AFDEKeyStore	28.30
>!AEffaceable!S	1.0
>!AKeyStore	2
>!UTDM	489.0.2
|IOSCSIBlockCommandsDevice	422.0.2
>!ACredentialManager	1.0
>KernelRelayHost	1
>!ASEPManager	1.0.1
>IOSlaveProcessor	1
|IOTimeSync!F	800.14
|IONetworking!F	3.4
|IOUSBMass!SDriver	157.11.1
|IOSCSIArchitectureModel!F	422.0.2
|IO!S!F	2.1
|IOUSBHost!F	1.2
>!UHostMergeProperties	1.2
>usb.!UCommon	1.0
>!ABusPower!C	1.0
|CoreAnalytics!F	1
>!AMobileFileIntegrity	1.0.5
@kext.CoreTrust	1
|IOReport!F	47
>!AACPIPlatform	6.1
>!ASMC	3.1.9
>watchdog	1
|IOPCI!F	2.9
|IOACPI!F	1.4
@kec.pthread	1
@kec.Libm	1
@kec.corecrypto	1.0

LATBauerdick avatar Sep 13 '19 18:09 LATBauerdick

Also, as far as anything Apple has said so far, there are specific categories of kernel extensions that Apple is transitioning to DriverKit (USB HID devices, serial devices, NICs), NetworkingDriverKit, and Endpoint Security extensions... and filesystems are not one of those categories. It seems unlikely to me that Apple will completely eliminate the ability to install kernel extensions on macOS.

I'd love to be as optimistic. But what if Apple® simply doesn't care about other filesystems than those they support directly? They're tying more and more functionality (see the /Users APFS "Volume(s)") directly to their own filesystem. Even more, they actually want us to interact with the filesystems at a more abstract, "guided" level. Having "uncontrolled" filesystems just doesn't seem to fit into that logic. Moreover, "we"'re just too few to make a difference. And if you read the articles about the new "Security" measures taken in Catalina lately (and stop ignoring the trends started way before Mojave, first and foremost all the stuff around SIP and which influence even advanced users have on it - not), it cannot go unnoticed that actually the whole Open Source community on the Mac is heavilly affected. It's a political direction that's even superseeding Microsoft® (!) on this matter. I grew up with the Mac, and with OSX as one of my main tools I made my living until now, and as probably many of us, I heavilly contributed to the distribution of macOs among family, friends, collegues, partners.

The Mac used to be the platform for software development lately, be it for mac apps or for anything else (except maybe for .NET). The day they close down on all this - with a loud scream of pain - I'll have to have a new "home" up and running...

Best to All. And Yes, until then, I'll be keeping my reality distortion field clean and colorful, and install, test, and most of all: enjoy each and every new release of openzfsonosx...! :-)

lopezio avatar Sep 16 '19 10:09 lopezio

0xffffff81f692bce0 : 0xffffff7f8a105380 net.lundman.spl : _kmem_findslab + 0x44
0xffffff81f692be00 : 0xffffff7f8a10119b net.lundman.spl : _kmem_error + 0x3b
0xffffff81f692be70 : 0xffffff7f8a106521 net.lundman.spl : _kmem_magazine_destroy + 0xce
0xffffff81f692beb0 : 0xffffff7f8a1018b6 net.lundman.spl : _kmem_depot_ws_reap + 0x6c
0xffffff81f692bee0 : 0xffffff7f8a105a2e net.lundman.spl : _kmem_cache_reap + 0x66
0xffffff81f692bf10 : 0xffffff7f8a10af6b net.lundman.spl : _taskq_thread + 0x1b9

Well, that's .. something. So it triggered a reap, and discovered a corrupt memory segment (kmem_error) - at this point it would be very interesting to read the output from kmem_error - but that would require connecting with lldb to the panicked machine from another machine.

lundman avatar Sep 16 '19 23:09 lundman

@lopezio you sound like my clone. I don't mean to keep hijacking this thread (yeah, I think we need another place to talk about this), but I do want to simply say this is what I believe (and clearly see) and have also been talking about "around the cooler" with folks. I've also heard some Apple engineers who used to work there say the same things and hear the same things from others that still do work there. Mobile and app security for their own cash security is their baby now - not us devs and high end users.

ylluminate avatar Sep 16 '19 23:09 ylluminate

@lundman unfortunately the panic has become rather frequent with 15.1beta3, pretty consistently happening under load (e.g. I keep my mail library in a ZVOL, and having Apple Mail catch up on incoming emails seems to consistently cause the panic...).

It's also happening both on my MacBook Pro and my Mac mini, and the issue goes away when I boot back into MacOS 14, with the same 1.9.2 release.

I'm wondering if not more people are seeing this?

LATBauerdick avatar Sep 17 '19 00:09 LATBauerdick