notarize icon indicating copy to clipboard operation
notarize copied to clipboard

Notarize crashes m1 macbook pro

Open ArmelChesnais opened this issue 3 years ago • 6 comments

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) **

ArmelChesnais avatar Mar 29 '22 20:03 ArmelChesnais

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)

ArmelChesnais avatar Mar 31 '22 23:03 ArmelChesnais

I have the same problem too.

weiluenju avatar May 18 '22 15:05 weiluenju

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

hussa0 avatar Jun 25 '22 19:06 hussa0

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…?

bandrews avatar Jul 06 '22 08:07 bandrews

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.

bandrews avatar Jul 06 '22 09:07 bandrews

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

hussa0 avatar Jul 12 '22 02:07 hussa0

Fixed by using notarytool instead. Closing per #141

MarshallOfSound avatar Jun 25 '23 05:06 MarshallOfSound