osx-sign icon indicating copy to clipboard operation
osx-sign copied to clipboard

`codesign` randomly hangs forever when building the app

Open jagthedrummer opened this issue 1 year ago • 2 comments
trafficstars

I have an electron app that I build in GitHub Actions and every now and then, seemingly randomly, builds will stall and never complete the very first codesign operation.

When things work correctly the first codesign call happens in a fraction of a second, and then it continues walking the tree and calling codesign for hundreds of other files.

When the problem occurs the first codesign call stalls for up to 20 or 30 minutes (depending on the timeout set for the GitHub Action) and never finishes.

Here are the last few lines from a stalled build:

Fri, 15 Mar 2024 17:39:00 GMT 2024-03-15T17:39:00.334Z electron-osx-sign Signing application... 
Fri, 15 Mar 2024 17:39:00 GMT  > Application: /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-53D8OG/Seshy_development.app 
Fri, 15 Mar 2024 17:39:00 GMT  > Platform: darwin 
Fri, 15 Mar 2024 17:39:00 GMT  > Additional binaries: undefined 
Fri, 15 Mar 2024 17:39:00 GMT  > Identity: Developer ID Application: Jeremy Green (***)
Fri, 15 Mar 2024 17:39:00 GMT 2024-03-15T17:39:00.334Z electron-osx-sign Walking... /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-53D8OG/Seshy_development.app/Contents
Fri, 15 Mar 2024 17:39:00 GMT 2024-03-15T17:39:00.381Z electron-osx-sign Signing... /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-53D8OG/Seshy_development.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/af.lproj/locale.pak
Fri, 15 Mar 2024 17:39:00 GMT 2024-03-15T17:39:00.382Z electron-osx-sign Executing... codesign --sign XXXX --force --timestamp --options runtime --entitlements /Users/runner/work/seshy/seshy/electron-app/node_modules/@electron/osx-sign/entitlements/default.darwin.plist /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-53D8OG/Seshy_development.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/af.lproj/locale.pak
Fri, 15 Mar 2024 18:02:37 GMT Error: The operation was canceled.

And here's what a successful build looks like in that same bit of the log:

Mon, 19 Feb 2024 15:46:59 GMT 2024-02-19T15:46:59.552Z electron-osx-sign Signing application... 
Mon, 19 Feb 2024 15:46:59 GMT  > Application: /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-ig7Gl5/Seshy_development.app 
Mon, 19 Feb 2024 15:46:59 GMT  > Platform: darwin 
Mon, 19 Feb 2024 15:46:59 GMT  > Additional binaries: undefined 
Mon, 19 Feb 2024 15:46:59 GMT  > Identity: Developer ID Application: Jeremy Green (***)
Mon, 19 Feb 2024 15:46:59 GMT 2024-02-19T15:46:59.553Z electron-osx-sign Walking... /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-ig7Gl5/Seshy_development.app/Contents
Mon, 19 Feb 2024 15:46:59 GMT 2024-02-19T15:46:59.621Z electron-osx-sign Signing... /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-ig7Gl5/Seshy_development.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/af.lproj/locale.pak
Mon, 19 Feb 2024 15:46:59 GMT 2024-02-19T15:46:59.621Z electron-osx-sign Executing... codesign --sign XXXXX --force --timestamp --options runtime --entitlements /Users/runner/work/seshy/seshy/electron-app/node_modules/@electron/osx-sign/entitlements/default.darwin.plist /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-ig7Gl5/Seshy_development.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/af.lproj/locale.pak
Mon, 19 Feb 2024 15:46:59 GMT 2024-02-19T15:46:59.864Z electron-osx-sign Signing... /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-ig7Gl5/Seshy_development.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/am.lproj/locale.pak
Mon, 19 Feb 2024 15:46:59 GMT 2024-02-19T15:46:59.864Z electron-osx-sign Executing... codesign --sign XXXXX --force --timestamp --options runtime --entitlements /Users/runner/work/seshy/seshy/electron-app/node_modules/@electron/osx-sign/entitlements/default.darwin.plist /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-ig7Gl5/Seshy_development.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/am.lproj/locale.pak
Mon, 19 Feb 2024 15:46:59 GMT 2024-02-19T15:46:59.974Z electron-osx-sign Signing... /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-ig7Gl5/Seshy_development.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ar.lproj/locale.pak
Mon, 19 Feb 2024 15:46:59 GMT 2024-02-19T15:46:59.974Z electron-osx-sign Executing... codesign --sign XXXXX --force --timestamp --options runtime --entitlements /Users/runner/work/seshy/seshy/electron-app/node_modules/@electron/osx-sign/entitlements/default.darwin.plist /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/electron-packager/darwin-arm64/Seshy_development-darwin-arm64-ig7Gl5/Seshy_development.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/ar.lproj/locale.pak
# snip hundreds more Signing => Executing steps

This seems similar to an issue reported a while back on the electron/packager project: https://github.com/electron/packager/issues/701

But I already have the suggested solution as part of my keychain setup script.

And the problem I'm running into isn't persistent. Most of the time my builds work as expected. When the problem occurs usually it will fail a time or two (or more 😞) and then eventually work after some retries.

I've also set DEBUG=electron-osx-sign in my environment, but I'm not sure if I'm getting debug output from electron/osx-sign. (Maybe some of what I posted above is the debug output?)

jagthedrummer avatar Mar 15 '24 19:03 jagthedrummer