Notarize crashes m1 macbook pro
I used to deploy/notarize my electron app on an intel macbook pro (intel 2015). It's run into the recalled battery issues for that model, so I've replaced it with a MacBook Pro (13-inch, M1, 2020) while I wait for it to be repaired.
Issue is however that electron-notarize appears to completely crash the M1 (full shutdown and restart) if it is interrupted.
The computer going to sleep interrupts it, causing the crash. Disabling sleep seems to indicate that notarize simply hangs forever sometimes, and never resolves (had it sitting for over an hour, which I'd never seen on the intel macbook). Trying to ctrl-C out of the process also interrupts notarize, causing the crash. Of note, notarize doesn't seem to hang every time, as I've had one build that did eventually resolve, but all previous and subsequent ones seem to get stuck indefinitely.
electron-notarize 1.2.1 node v14.16.1 electron-builder 23.0.2
notarize script as follows:
require('dotenv').config();
const { notarize } = require('electron-notarize');
exports.default = async function notarizing(context) {
console.log(`starting notarizing`, context)
const { electronPlatformName, appOutDir } = context;
if (electronPlatformName !== 'darwin') {
return;
}
const appName = context.packager.appInfo.productFilename;
console.log(`doing notarize`)
const notarizeResult = await notarize({
appBundleId: context.packager.info._configuration.appId,
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLEID,
appleIdPassword: process.env.APPLEIDPASS,
});
console.log(`notarize complete`)
return notarizeResult
};
upon restart, all I see in terminal is the following from the restored terminal window:
[...assorted building/packaging logs]
starting notarizing {
[...snip]
}
doing notarize
[Restored Mar 29, 2022 at 4:06:17 PM]
Mac crash report as follows:
panic(cpu 1 caller 0xfffffe002c5febf8): Sleep transition timed out after 35 seconds while calling power state change callbacks. Suspected bundle: com.apple.iokit.IO80211Family. Thread 0x40afe.
Debugger message: panic
Memory ID: 0x6
OS release type: User
OS version: 21D62
Kernel version: Darwin Kernel Version 21.3.0: Wed Jan 5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_ARM64_T8101
Fileset Kernelcache UUID: 7C53FB49FDE6F710235278E472070819
Kernel UUID: F5893147-A9D2-3D60-B5A4-E4AE9BA0A628
iBoot version: iBoot-7429.81.3
secure boot?: YES
Paniclog version: 13
KernelCache slide: 0x00000000244c4000
KernelCache base: 0xfffffe002b4c8000
Kernel slide: 0x0000000024cf4000
Kernel text base: 0xfffffe002bcf8000
Kernel text exec slide: 0x0000000024ddc000
Kernel text exec base: 0xfffffe002bde0000
mach_absolute_time: 0x18a277486ea
Epoch Time: sec usec
Boot : 0x6242530f 0x00042514
Sleep : 0x00000000 0x00000000
Wake : 0x00000000 0x00000000
Calendar: 0x62436691 0x00076ffe
Zone info:
Foreign : 0xfffffe0033510000 - 0xfffffe0033524000
Native : 0xfffffe100061c000 - 0xfffffe300061c000
Readonly : 0xfffffe14cd2e8000 - 0xfffffe1666c7c000
Metadata : 0xfffffe8305c1c000 - 0xfffffe8311b54000
Bitmaps : 0xfffffe8305c20000 - 0xfffffe8308828000
CORE 0 recently retired instr at 0xfffffe002bf6b90c
CORE 1 recently retired instr at 0xfffffe002bf6a320
CORE 2 recently retired instr at 0xfffffe002bf6b90c
CORE 3 recently retired instr at 0xfffffe002bf6b90c
CORE 4 recently retired instr at 0xfffffe002bf6b910
CORE 5 recently retired instr at 0xfffffe002bf6b910
CORE 6 recently retired instr at 0xfffffe002bf6b910
CORE 7 recently retired instr at 0xfffffe002bf6b910
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=0xfffffe002be66e30, LR=0xfffffe002be66e30, FP=0xfffffe6f762cbef0
CORE 1 is the one that panicked. Check the full backtrace for details.
CORE 2: PC=0xfffffe002be66e30, LR=0xfffffe002be66e30, FP=0xfffffe6f7f4bbef0
CORE 3: PC=0xfffffe002be66e30, LR=0xfffffe002be66e30, FP=0xfffffe6f7622bef0
CORE 4: PC=0xfffffe002be66e30, LR=0xfffffe002be66e30, FP=0xfffffe6f7f6bbef0
CORE 5: PC=0xfffffe002be66e30, LR=0xfffffe002be66e30, FP=0xfffffe6f7f27bef0
CORE 6: PC=0xfffffe002be66e30, LR=0xfffffe002be66e30, FP=0xfffffe6f756fbef0
CORE 7: PC=0xfffffe002be66e30, LR=0xfffffe002be66e30, FP=0xfffffe6f7f49bef0
Panicked task 0xfffffe1b339f8678: 0 pages, 545 threads: pid 0: kernel_task
Panicked thread: 0xfffffe16686a5860, backtrace: 0xfffffe6f760eb3e0, tid: 277525
lr: 0xfffffe002be324c4 fp: 0xfffffe6f760eb450
lr: 0xfffffe002be32194 fp: 0xfffffe6f760eb4c0
lr: 0xfffffe002bf71984 fp: 0xfffffe6f760eb4e0
lr: 0xfffffe002bf6426c fp: 0xfffffe6f760eb560
lr: 0xfffffe002bf61cbc fp: 0xfffffe6f760eb620
lr: 0xfffffe002bde77f8 fp: 0xfffffe6f760eb630
lr: 0xfffffe002be31e0c fp: 0xfffffe6f760eb9d0
lr: 0xfffffe002be31e0c fp: 0xfffffe6f760eba40
lr: 0xfffffe002c644ca8 fp: 0xfffffe6f760eba60
lr: 0xfffffe002c5febf8 fp: 0xfffffe6f760ebd80
lr: 0xfffffe002c545a50 fp: 0xfffffe6f760ebdb0
lr: 0xfffffe002be83998 fp: 0xfffffe6f760ebe30
lr: 0xfffffe002be849ec fp: 0xfffffe6f760ebf20
lr: 0xfffffe002bdf0e78 fp: 0x0000000000000000
last started kext at 977044390: com.apple.driver.driverkit.serial 6.0.0 (addr 0xfffffe002bbd5cd0, size 3432)
loaded kexts:
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.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.filesystems.apfs 1933.80.3
com.apple.driver.AppleSmartBatteryManager 161.0.0
com.apple.driver.AppleUSBDeviceNCM 5.0.0
com.apple.driver.AppleThunderboltIP 4.0.3
com.apple.driver.AppleALSColorSensor 1.0.0d1
com.apple.driver.AppleFileSystemDriver 3.0.1
com.apple.driver.ApplePMP 1
com.apple.driver.AppleAOPVoiceTrigger 100.1
com.apple.nke.l2tp 1.9
com.apple.filesystems.tmpfs 1
com.apple.driver.AppleSmartIO2 1
com.apple.driver.ApplePMPFirmware 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.AppleDPDisplayTCON 1
com.apple.AppleEmbeddedSimpleSPINORFlasher 1
com.apple.driver.AppleSPMIPMU 1.0.1
com.apple.driver.AppleCS42L83Audio 530.2
com.apple.driver.AppleTAS5770LAmp 530.2
com.apple.driver.AppleSummitLCD 1.0.0
com.apple.driver.AppleAVE2 530.3.0
com.apple.driver.AppleMobileDispH13G-DCP 140.0
com.apple.driver.AppleT8020SOCTuner 1
com.apple.driver.AppleT8103CLPCv3 1
com.apple.driver.AppleAVD 555
com.apple.driver.AppleJPEGDriver 4.7.9
com.apple.AGXG13G 188.10
com.apple.driver.AudioDMAController-T8103 100.51
com.apple.driver.usb.AppleSynopsysUSB40XHCI 1
com.apple.driver.AppleSerialShim 1
com.apple.driver.AppleEventLogHandler 1
com.apple.driver.AppleS5L8960XNCO 1
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.AppleBluetoothModule 1
com.apple.driver.AppleSamsungSerial 1.0.0d1
com.apple.driver.AppleBCMWLANBusInterfacePCIe 1
com.apple.driver.AppleT8020DART 1
com.apple.driver.AppleSynopsysMIPIDSI 1.0.0
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.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.AppleActuatorDriver 5430.21
com.apple.driver.AppleMultitouchDriver 5430.21
com.apple.driver.AppleHSBluetoothDriver 5020.1
com.apple.driver.IOBluetoothHIDDriver 9.0.0
com.apple.driver.AppleHIDKeyboard 228
com.apple.driver.AppleTrustedAccessory 1
com.apple.iokit.AppleSEPGenericTransfer 1
com.apple.driver.AppleSEPHDCPManager 1.0.1
com.apple.driver.DiskImages.KernelBacked 493.0.0
com.apple.driver.AppleBTM 1.0.1
com.apple.driver.AppleXsanScheme 3
com.apple.driver.AppleConvergedIPCOLYBTControl 1
com.apple.driver.AppleConvergedPCI 1
com.apple.driver.AppleBluetoothDebug 1
com.apple.driver.usb.networking 5.0.0
com.apple.driver.AppleThunderboltUSBDownAdapter 1.0.4
com.apple.driver.AppleThunderboltDPInAdapter 8.5.1
com.apple.driver.AppleThunderboltDPAdapterFamily 8.5.1
com.apple.driver.AppleThunderboltPCIDownAdapter 4.1.1
com.apple.driver.AppleDCPDPTXProxy 1.0.0
com.apple.driver.AppleAOPAudio 102.2
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.AGXFirmwareKextG13GRTBuddy 188.10
com.apple.AGXFirmwareKextRTBuddy64 188.10
com.apple.iokit.IONVMeFamily 2.1.0
com.apple.driver.AppleStockholmControl 1.0.0
com.apple.driver.AppleSPU 1
com.apple.driver.AppleHIDTransportSPI 5400.30
com.apple.driver.AppleHIDTransport 5400.30
com.apple.driver.AppleInputDeviceSupport 5400.30
com.apple.driver.AppleDiagnosticDataAccessReadOnly 1.0.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.AppleCSEmbeddedAudio 530.2
com.apple.driver.AppleEmbeddedAudio 530.2
com.apple.iokit.AppleARMIISAudio 100.1
com.apple.driver.DCPAVFamilyProxy 1
com.apple.driver.AppleSPMI 1.0.1
com.apple.iokit.IOMobileGraphicsFamily-DCP 343.0.0
com.apple.driver.AppleDCP 1
com.apple.driver.AppleFirmwareKit 1
com.apple.driver.ApplePassthroughPPM 3.0
com.apple.driver.AppleSART 1
com.apple.driver.AppleH13CameraInterface 4.87.0
com.apple.driver.AppleH10PearlCameraInterface 17.0.3
com.apple.driver.AppleH11ANEInterface 5.35.0
com.apple.iokit.IOGPUFamily 35.11
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.AppleT8103TypeCPhy 1
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.AppleMobileDispH13G-DFR 140.0
com.apple.iokit.IOMobileGraphicsFamily 343.0.0
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.11.1
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 422998 (Uncompressed 1075440) **
As a follow up, I've extended the display turning off to 3hr and disabled the mac going to sleep when display is off. I'm also keeping an eye to keeping the macbook process active during building/notarizing, and it seems to be helping with not crashing, though it's not 100%.
Of note, on my machine, interrupting the process from command line(ctrl-c) while notarize was awaiting completion would immediately and reliably cause the crash/restart. (the few times I tested it)
I have the same problem too.
I've been having this issue for months now too, it seems to work every now and then and sometimes just hang all the time. Also sometimes when it hangs, it causes a kernel panic and a purple screen restart.
Edit: I'm on a Mac Mini M1
This is affecting me as well; same symptoms as the others. I’ve only ever successfully notarized once, on my first attempt - all subsequent attempts cause very, very bad things to happen to the machine. On one instance, I saw the Wi-Fi connection fail entirely. On another, the keyboard stopped responding in other apps…?
I believe this issue is specific to the altool legacy notarization workflow. I was able to work around it and get notarization consistent by:
- getting my team ID by manually running altool
xcrun altool —list-providers -u “[email protected]” -p “appp-assw-ordh-ere”
Look for the WWDRTeamID.
- edit your JS configuration for electron-notarize to add two new properties: { appBundleId: … … appleIDPassword: … teamId: “ID_FROM_PREVIOUS_STEP”, tool: “notarytool” }
This change needs to be made by 2023 by everyone anyway, and notarytool is faster, so there’s very little downside to this workaround.
Would still love to get to the bottom of why shelling out to altool has such dire consequences on the M1, but this at least gets things up and running again.
I believe this issue is specific to the altool legacy notarization workflow. I was able to work around it and get notarization consistent by:
- getting my team ID by manually running altool
xcrun altool —list-providers -u “[email protected]” -p “appp-assw-ordh-ere”
Look for the WWDRTeamID.
- edit your JS configuration for electron-notarize to add two new properties: { appBundleId: … … appleIDPassword: … teamId: “ID_FROM_PREVIOUS_STEP”, tool: “notarytool” }
This change needs to be made by 2023 by everyone anyway, and notarytool is faster, so there’s very little downside to this workaround.
Would still love to get to the bottom of why shelling out to altool has such dire consequences on the M1, but this at least gets things up and running again.
Thanks, I've tried this method only once and it worked first go, hopefully this fixes it. It's more like an upgrade than a workaround. I've done a bit of digging recently and found that it could be related to [different] methods used to upload to Apple's notarization servers. And your solution using notarytool to fix this makes me think that might have been the case.
Source: https://stackoverflow.com/a/55868047/16608863
Fixed by using notarytool instead. Closing per #141