aonez / Keka

The macOS & iOS file archiver
https://www.keka.io
4.88k stars 241 forks source link

[BUG] Apple Silicon SMB bug #1004

Open nceee opened 2 years ago

nceee commented 2 years ago

Configuration

Describe the bug

Extracting multiple files to a SMB share causes Mac OS to crash with Apple Silicon.

I have 3 MacBooks. 1 intel and 2 Apple Silicon (M1 8gb & M1 Pro 16gb). With the Apple silicon machines the CPU % will go over 100% and the second that happens the Mac becomes unresponsive and usually freezes or I will need to force turn it off to recover. The CPU can peak at 250% but will never recover. Even if all the files extract before the crash the CPU% may settle down but the second I open anything or try something slightly intensive the CPU will spike up again. Reboot is need to recover.

The Intel MacBook is a 12' with just a Core M5 CPU with 8gb and never has this behaviour regardless how many files are extracted.

To Reproduce

Steps to reproduce the behavior:

  1. Select multiple files to extract 10+
  2. CPU will hit over 100%
  3. Sound will distort and Mac will crash

Expected behavior

Files should be extracted to folder (network share) and archive deleted.

Additional context

It looks like the Efficiency cores get overworked and do not recover

aonez commented 2 years ago

This feels to me like a macOS issue. In fact, trying to reproduce the issue got a Kernel crash, just by connecting to a SMB shared drive and creating a folder in it.

I'll do some more investigation but I suggest you report the issue to Apple too: https://feedbackassistant.apple.com

aonez commented 2 years ago

For what is worth here is the crash report. I'm running macOS 12.1 (not the beta) in an M1 too. Note the panicked thread backtraces to the Kernel Extension com.apple.filesystems.smbfs(4.0).

Crash report 👇

``` panic(cpu 2 caller 0xfffffe0025b42184): Kernel data abort. at pc 0xfffffe0027f87ccc, lr 0x54e1fe0027f87cb8 (saved state: 0xfffffe607cfdb890) x0: 0x000000000000003a x1: 0xfffffe1b33b42700 x2: 0xfffffe1b33b4000d x3: 0xfffffe10002711b8 x4: 0xfffffe1b33b42780 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0xfffffe607cfdbaa0 x8: 0x000000000000000f x9: 0x0000000000000000 x10: 0x0000000000000008 x11: 0x0000000000000000 x12: 0x0000000000000018 x13: 0xfffffe0028d39528 x14: 0x0000000000000000 x15: 0x0000000008f579c4 x16: 0x68f9fe0025868bb4 x17: 0xfffffe00289c3130 x18: 0x0000000000000000 x19: 0xfffffe1b32fefa80 x20: 0xfffffe1667ef0a80 x21: 0x000000000000003a x22: 0xfffffe1b33b41e00 x23: 0xfffffe1ffff28500 x24: 0xfffffe607cfdbc80 x25: 0x0000000000000000 x26: 0x0000000000000001 x27: 0x00000000000001bd x28: 0xfffffe00251d9c95 fp: 0xfffffe607cfdbc30 lr: 0x54e1fe0027f87cb8 sp: 0xfffffe607cfdbbe0 pc: 0xfffffe0027f87ccc cpsr: 0x60401208 esr: 0x96000045 far: 0x00000000000002d0 Debugger message: panic Memory ID: 0x6 OS release type: User OS version: 21C52 Kernel version: Darwin Kernel Version 21.2.0: Sun Nov 28 20:29:10 PST 2021; root:xnu-8019.61.5~1/RELEASE_ARM64_T8101 Fileset Kernelcache UUID: 0BB1D99520DD8B6DD172990B62E25173 Kernel UUID: 45FC3A32-3BC5-3F88-9300-71FBEF05D092 iBoot version: iBoot-7429.61.2 secure boot?: YES Paniclog version: 13 KernelCache slide: 0x000000001d9bc000 KernelCache base: 0xfffffe00249c0000 Kernel slide: 0x000000001e1e8000 Kernel text base: 0xfffffe00251ec000 Kernel text exec slide: 0x000000001e2d0000 Kernel text exec base: 0xfffffe00252d4000 mach_absolute_time: 0x1207a3e3b08 Epoch Time: sec usec Boot : 0x61d43ed2 0x00094d53 Sleep : 0x61d56533 0x0008df77 Wake : 0x61d5666d 0x000c3414 Calendar: 0x61d56dab 0x000d9f8a Zone info: Foreign : 0xfffffe002d528000 - 0xfffffe002d53c000 Native : 0xfffffe1000268000 - 0xfffffe3000268000 Readonly : 0xfffffe14ccf34000 - 0xfffffe16668c8000 Metadata : 0xfffffe650d3f8000 - 0xfffffe6519344000 Bitmaps : 0xfffffe650d3fc000 - 0xfffffe650ffe8000 CORE 0 recently retired instr at 0xfffffe002545f6c4 CORE 1 recently retired instr at 0xfffffe002545f6c4 CORE 2 recently retired instr at 0xfffffe002545e0d8 CORE 3 recently retired instr at 0xfffffe002545f6c4 CORE 4 recently retired instr at 0xfffffe002545f6c8 CORE 5 recently retired instr at 0xfffffe002545f6c8 CORE 6 recently retired instr at 0xfffffe002545f6c8 CORE 7 recently retired instr at 0xfffffe002545f6c8 CORE 0 PVH locks held: None CORE 1 PVH locks held: None CORE 2 PVH locks held: None CORE 3 PVH locks held: None CORE 4 PVH locks held: None CORE 5 PVH locks held: None CORE 6 PVH locks held: None CORE 7 PVH locks held: None CORE 0: PC=0xfffffe002535ae00, LR=0xfffffe002535ae00, FP=0xfffffe608bb1bef0 CORE 1: PC=0xfffffe002535ae00, LR=0xfffffe002535ae00, FP=0xfffffe601e04bef0 CORE 2 is the one that panicked. Check the full backtrace for details. CORE 3: PC=0xfffffe002535ae00, LR=0xfffffe002535ae00, FP=0xfffffe600624bef0 CORE 4: PC=0xfffffe002535ae00, LR=0xfffffe002535ae00, FP=0xfffffe608b3dbef0 CORE 5: PC=0xfffffe002535ae00, LR=0xfffffe002535ae00, FP=0xfffffe608bc3bef0 CORE 6: PC=0xfffffe002535ae00, LR=0xfffffe002535ae00, FP=0xfffffe607ce3bef0 CORE 7: PC=0xfffffe002535ae00, LR=0xfffffe002535ae00, FP=0xfffffe601db1bef0 Panicked task 0xfffffe24cd04c678: 0 pages, 523 threads: pid 0: kernel_task Panicked thread: 0xfffffe2000d26180, backtrace: 0xfffffe607cfdaf40, tid: 376923 lr: 0xfffffe00253264c0 fp: 0xfffffe607cfdafb0 lr: 0xfffffe0025326190 fp: 0xfffffe607cfdb020 lr: 0xfffffe002546573c fp: 0xfffffe607cfdb040 lr: 0xfffffe0025458024 fp: 0xfffffe607cfdb0c0 lr: 0xfffffe0025455a74 fp: 0xfffffe607cfdb180 lr: 0xfffffe00252db7f8 fp: 0xfffffe607cfdb190 lr: 0xfffffe0025325e08 fp: 0xfffffe607cfdb530 lr: 0xfffffe0025325e08 fp: 0xfffffe607cfdb5a0 lr: 0xfffffe0025b3af9c fp: 0xfffffe607cfdb5c0 lr: 0xfffffe0025b42184 fp: 0xfffffe607cfdb740 lr: 0xfffffe0025457e1c fp: 0xfffffe607cfdb7b0 lr: 0xfffffe0025455d78 fp: 0xfffffe607cfdb870 lr: 0xfffffe00252db7f8 fp: 0xfffffe607cfdb880 lr: 0xfffffe0027f87cb8 fp: 0xfffffe607cfdbc30 lr: 0xfffffe0027f92968 fp: 0xfffffe607cfdbd40 lr: 0xfffffe0027f908d8 fp: 0xfffffe607cfdbf20 lr: 0xfffffe00252e4e78 fp: 0x0000000000000000 Kernel Extensions in backtrace: com.apple.filesystems.smbfs(4.0)[FFF87661-F2CE-3DB2-9B1D-D906756CD4AE]@0xfffffe0027f599d0->0xfffffe0027fbcd93 dependency: com.apple.kec.corecrypto(12.0)[D707A84E-14B7-3FC9-B566-F9F1D163B3DB]@0xfffffe0027e9d840->0xfffffe0027eea357 dependency: com.apple.kext.triggers(1.0)[7F072901-F55F-34AF-89F6-640E897657D4]@0xfffffe0027fc6e80->0xfffffe0027fc9b67 last started kext at 1229039605885: com.apple.filesystems.smbfs 4.0 (addr 0xfffffe00251d0760, size 64483) loaded kexts: com.apple.filesystems.smbfs 4.0 com.apple.UVCService 1 com.apple.filesystems.autofs 3.0 com.apple.fileutil 20.036.15 com.apple.driver.AppleBiometricServices 1 com.apple.driver.CoreKDL 1 com.apple.driver.AppleTopCaseHIDEventDriver 5020.1 com.apple.driver.AppleALSColorSensor 1.0.0d1 com.apple.driver.AppleAOPVoiceTrigger 100.1 com.apple.driver.BCMWLANFirmware4378.Hashstore 1 com.apple.driver.SEPHibernation 1 com.apple.driver.DiskImages.ReadWriteDiskImage 493.0.0 com.apple.driver.DiskImages.UDIFDiskImage 493.0.0 com.apple.driver.DiskImages.RAMBackingStore 493.0.0 com.apple.driver.DiskImages.FileBackingStore 493.0.0 com.apple.driver.AppleSmartBatteryManager 161.0.0 com.apple.driver.AppleUSBDeviceNCM 5.0.0 com.apple.filesystems.apfs 1933.61.1 com.apple.driver.AppleThunderboltIP 4.0.3 com.apple.driver.AppleFileSystemDriver 3.0.1 com.apple.nke.l2tp 1.9 com.apple.filesystems.tmpfs 1 com.apple.filesystems.lifs 1 com.apple.IOTextEncryptionFamily 1.0.0 com.apple.filesystems.hfs.kext 582.60.2 com.apple.security.BootPolicy 1 com.apple.BootCache 40 com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0 com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1 com.apple.driver.AppleSmartIO2 1 com.apple.driver.ApplePMP 1 com.apple.driver.AppleDPDisplayTCON 1 com.apple.driver.AppleCS42L83Audio 520.5 com.apple.AppleEmbeddedSimpleSPINORFlasher 1 com.apple.driver.ApplePMPFirmware 1 com.apple.driver.AppleSPMIPMU 1.0.1 com.apple.driver.AppleTAS5770LAmp 520.5 com.apple.driver.usb.AppleSynopsysUSB40XHCI 1 com.apple.driver.AppleSerialShim 1 com.apple.driver.AppleAVE2 520.21.1 com.apple.driver.AppleT8020SOCTuner 1 com.apple.driver.AppleT8103CLPCv3 1 com.apple.driver.AppleMobileDispH13G-DCP 140.0 com.apple.driver.AppleJPEGDriver 4.7.9 com.apple.driver.AppleAVD 416 com.apple.driver.AudioDMAController-T8103 100.51 com.apple.driver.AppleEventLogHandler 1 com.apple.driver.AppleS5L8960XNCO 1 com.apple.AGXG13G 187.59 com.apple.driver.AppleT8103PMGR 1 com.apple.driver.AppleS8000AES 1 com.apple.driver.AppleS8000DWI 1.0.0d1 com.apple.driver.AppleInterruptController 1.0.0d1 com.apple.driver.AppleT8020DART 1 com.apple.driver.AppleBluetoothModule 1 com.apple.driver.AppleSamsungSerial 1.0.0d1 com.apple.driver.AppleBCMWLANBusInterfacePCIe 1 com.apple.driver.AppleS5L8920XPWM 1.0.0d1 com.apple.driver.AppleS5L8940XI2C 1.0.0d2 com.apple.driver.AppleSPIMC 1 com.apple.driver.AppleT8101 1 com.apple.driver.AppleM68Buttons 1.0.0d1 com.apple.iokit.IOUserEthernet 1.0.1 com.apple.driver.usb.AppleUSBUserHCI 1 com.apple.iokit.IOKitRegistryCompatibility 1 com.apple.iokit.EndpointSecurity 1 com.apple.driver.AppleDiskImages2 126.60.3 com.apple.AppleSystemPolicy 2.0.0 com.apple.nke.applicationfirewall 402 com.apple.kec.InvalidateHmac 1 com.apple.kec.AppleEncryptedArchive 1 com.apple.driver.usb.cdc.ecm 5.0.0 com.apple.driver.usb.cdc.acm 5.0.0 com.apple.driver.usb.serial 6.0.0 com.apple.driver.usb.IOUSBHostHIDDevice 1.2 com.apple.driver.usb.cdc 5.0.0 com.apple.driver.AppleUSBAudio 413.5 com.apple.iokit.IOAudioFamily 300.10 com.apple.vecLib.kext 1.2.0 com.apple.driver.driverkit.serial 6.0.0 com.apple.kext.triggers 1.0 com.apple.iokit.IOAVBFamily 1010.2 com.apple.plugin.IOgPTPPlugin 1000.11 com.apple.iokit.IOEthernetAVBController 1.1.0 com.apple.driver.AppleMesaSEPDriver 100.99 com.apple.iokit.IOBiometricFamily 1 com.apple.driver.AppleHIDKeyboard 228 com.apple.driver.AppleActuatorDriver 5430.1 com.apple.driver.AppleMultitouchDriver 5430.1 com.apple.driver.AppleHSBluetoothDriver 5020.1 com.apple.driver.IOBluetoothHIDDriver 9.0.0 com.apple.driver.AppleAOPAudio 102.2 com.apple.driver.AppleSEPHDCPManager 1.0.1 com.apple.driver.AppleTrustedAccessory 1 com.apple.iokit.AppleSEPGenericTransfer 1 com.apple.driver.DiskImages.KernelBacked 493.0.0 com.apple.driver.AppleConvergedIPCOLYBTControl 1 com.apple.driver.AppleConvergedPCI 1 com.apple.driver.AppleBluetoothDebug 1 com.apple.driver.AppleBTM 1.0.1 com.apple.driver.usb.networking 5.0.0 com.apple.driver.AppleXsanScheme 3 com.apple.driver.AppleThunderboltUSBDownAdapter 1.0.4 com.apple.driver.AppleThunderboltPCIDownAdapter 4.1.1 com.apple.driver.AppleThunderboltDPInAdapter 8.5.1 com.apple.driver.AppleThunderboltDPAdapterFamily 8.5.1 com.apple.driver.AppleHIDTransportSPI 5400.30 com.apple.driver.AppleHIDTransport 5400.30 com.apple.driver.AppleInputDeviceSupport 5400.30 com.apple.driver.AppleDCPDPTXProxy 1.0.0 com.apple.nke.ppp 1.9 com.apple.driver.DCPDPFamilyProxy 1 com.apple.driver.AppleBSDKextStarter 3 com.apple.filesystems.hfs.encodings.kext 1 com.apple.driver.AppleDiagnosticDataAccessReadOnly 1.0.0 com.apple.driver.AppleSPU 1 com.apple.AGXFirmwareKextG13GRTBuddy 187.59 com.apple.AGXFirmwareKextRTBuddy64 187.59 com.apple.driver.AppleCSEmbeddedAudio 520.5 com.apple.driver.AppleStockholmControl 1.0.0 com.apple.iokit.IONVMeFamily 2.1.0 com.apple.driver.AppleNANDConfigAccess 1.0.0 com.apple.driver.AppleDialogPMU 1.0.1 com.apple.driver.AppleHPM 3.4.4 com.apple.driver.AppleEmbeddedAudio 520.5 com.apple.iokit.AppleARMIISAudio 100.1 com.apple.driver.AppleUSBXDCIARM 1.0 com.apple.driver.AppleUSBXDCI 1.0 com.apple.iokit.IOUSBDeviceFamily 2.0.0 com.apple.driver.usb.AppleSynopsysUSBXHCI 1 com.apple.driver.usb.AppleUSBXHCI 1.2 com.apple.driver.AppleEmbeddedUSBHost 1 com.apple.driver.usb.AppleUSBHub 1.2 com.apple.driver.usb.AppleUSBHostCompositeDevice 1.2 com.apple.driver.AppleSPMI 1.0.1 com.apple.driver.AppleSART 1 com.apple.driver.ApplePassthroughPPM 3.0 com.apple.iokit.IOMobileGraphicsFamily-DCP 343.0.0 com.apple.iokit.IOMobileGraphicsFamily 343.0.0 com.apple.driver.AppleDCP 1 com.apple.driver.DCPAVFamilyProxy 1 com.apple.driver.AppleFirmwareKit 1 com.apple.driver.AppleT8103TypeCPhy 1 com.apple.iokit.IOGPUFamily 35.11 com.apple.driver.AppleH11ANEInterface 5.34.0 com.apple.driver.AppleH13CameraInterface 4.87.0 com.apple.driver.AppleH10PearlCameraInterface 17.0.3 com.apple.driver.ApplePMGR 1 com.apple.driver.AppleARMWatchdogTimer 1 com.apple.driver.usb.AppleUSBHostPacketFilter 1.0 com.apple.driver.AppleDisplayCrossbar 1.0.0 com.apple.iokit.IODisplayPortFamily 1.0.0 com.apple.driver.AppleTypeCPhy 1 com.apple.driver.AppleThunderboltNHI 7.2.8 com.apple.driver.AppleT8103PCIeC 1 com.apple.iokit.IOThunderboltFamily 9.3.3 com.apple.driver.ApplePIODMA 1 com.apple.driver.AppleT8103PCIe 1 com.apple.driver.AppleMultiFunctionManager 1 com.apple.driver.AppleBluetoothDebugService 1 com.apple.driver.AppleBCMWLANCore 1.0.0 com.apple.iokit.IO80211Family 1200.12.2b1 com.apple.driver.IOImageLoader 1.0.0 com.apple.driver.AppleOLYHAL 1 com.apple.driver.corecapture 1.0.4 com.apple.driver.AppleEmbeddedPCIE 1 com.apple.driver.AppleMCA2-T8103 600.95 com.apple.driver.AppleEmbeddedAudioLibs 100.9.1 com.apple.driver.AppleFirmwareUpdateKext 1 com.apple.driver.AppleGPIOICController 1.0.2 com.apple.driver.AppleFireStormErrorHandler 1 com.apple.driver.AppleMobileApNonce 1 com.apple.iokit.IOTimeSyncFamily 1000.11 com.apple.driver.DiskImages 493.0.0 com.apple.iokit.IOGraphicsFamily 593 com.apple.iokit.IOBluetoothSerialManager 9.0.0 com.apple.iokit.IOBluetoothHostControllerUSBTransport 9.0.0 com.apple.iokit.IOBluetoothHostControllerUARTTransport 9.0.0 com.apple.iokit.IOBluetoothHostControllerTransport 9.0.0 com.apple.driver.IOBluetoothHostControllerPCIeTransport 9.0.0 com.apple.iokit.IOBluetoothFamily 9.0.0 com.apple.driver.FairPlayIOKit 68.13.1 com.apple.iokit.CSRBluetoothHostControllerUSBTransport 9.0.0 com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 9.0.0 com.apple.driver.AppleSSE 1.0 com.apple.driver.AppleSEPKeyStore 2 com.apple.driver.AppleUSBTDM 532.40.7 com.apple.iokit.IOUSBMassStorageDriver 209.40.6 com.apple.iokit.IOPCIFamily 2.9 com.apple.iokit.IOSCSIBlockCommandsDevice 452.60.2 com.apple.iokit.IOSCSIArchitectureModelFamily 452.60.2 com.apple.driver.AppleIPAppender 1.0 com.apple.driver.AppleFDEKeyStore 28.30 com.apple.driver.AppleEffaceableStorage 1.0 com.apple.driver.AppleCredentialManager 1.0 com.apple.driver.KernelRelayHost 1 com.apple.iokit.IOUSBHostFamily 1.2 com.apple.driver.AppleUSBHostMergeProperties 1.2 com.apple.driver.usb.AppleUSBCommon 1.0 com.apple.driver.AppleSMC 3.1.9 com.apple.driver.RTBuddy 1.0.0 com.apple.driver.AppleEmbeddedTempSensor 1.0.0 com.apple.driver.AppleARMPMU 1.0 com.apple.iokit.IOAccessoryManager 1.0.0 com.apple.driver.AppleOnboardSerial 1.0 com.apple.iokit.IOSkywalkFamily 1.0 com.apple.driver.mDNSOffloadUserClient 1.0.1b8 com.apple.iokit.IONetworkingFamily 3.4 com.apple.iokit.IOSerialFamily 11 com.apple.driver.AppleSEPManager 1.0.1 com.apple.driver.AppleA7IOP 1.0.2 com.apple.driver.IOSlaveProcessor 1 com.apple.driver.AppleBiometricSensor 2 com.apple.iokit.IOHIDFamily 2.0.0 com.apple.iokit.CoreAnalyticsFamily 1 com.apple.AUC 1.0 com.apple.iokit.IOAVFamily 1.0.0 com.apple.iokit.IOHDCPFamily 1.0.0 com.apple.iokit.IOCECFamily 1 com.apple.iokit.IOAudio2Family 1.0 com.apple.driver.AppleIISController 100.1 com.apple.driver.AppleAudioClockLibs 100.9.1 com.apple.driver.AppleM2ScalerCSCDriver 265.0.0 com.apple.iokit.IOSurface 302.9 com.apple.driver.IODARTFamily 1 com.apple.security.quarantine 4 com.apple.security.sandbox 300.0 com.apple.kext.AppleMatch 1.0.0d1 com.apple.driver.AppleMobileFileIntegrity 1.0.5 com.apple.security.AppleImage4 4.2.0 com.apple.kext.CoreTrust 1 com.apple.iokit.IOCryptoAcceleratorFamily 1.0.1 com.apple.driver.AppleARMPlatform 1.0.2 com.apple.iokit.IOStorageFamily 2.1 com.apple.iokit.IOSlowAdaptiveClockingFamily 1.0.0 com.apple.iokit.IOReportFamily 47 com.apple.kec.pthread 1 com.apple.kec.Libm 1 com.apple.kec.corecrypto 12.0 ** Stackshot Succeeded ** Bytes Traced 351354 (Uncompressed 861248) ** ```

aonez commented 2 years ago

Just reproduced the Kernel crash by just trying to connect to the SMB again. I've reported it to Apple: FB9833380

nceee commented 2 years ago

Thanks I had a feeling this was Mac OS related, the SMB implementation is half-baked at best. I'll try and setup some AFP and NFS shares and see what happens.

Its a shame as this has been an issue for over a year now and it was getting really frustrating having to switch back to my Windows laptop just to extract. The M1 Pro seems to handle more files before crashing but even with the added power it will eventually stall.

aonez commented 2 years ago

Luckily I don't work with SMB nowadays so I did not noticed this issue. Let's hope this is fixed sooner than later.

nceee commented 2 years ago

Just thought I'd leave an update switched over the AFP and extracted 100 files with 20 max simultaneous operations to try and stress and the system. So far so good kernal_task never went over 80%! All extracted and no crash!

aonez commented 2 years ago

It's clearly something with the SMBFS extension. Hopefully they'll fix this in a timely manner 😅

johnszewczyk commented 1 year ago

If I repeatedly copy and delete files to a samba share, the M2 mac will eventually kernel panic. It's been this way for years. AFP is deprecated, samba is broken. This is ridiculous.

nceee commented 1 year ago

If I repeatedly copy and delete files to a samba share, the M2 mac will eventually kernel panic. It's been this way for years. AFP is deprecated, samba is broken. This is ridiculous.

Yeah no light at the end of the tunnel. Still stuck having to use AFP! ....oh which has its own set of issues! Windows is just so much faster and reliable for network shares.