Skip to content

[BUG] macOS Desktop 0.104.0: asar integrity hash mismatch causes immediate crash on launch #1231

@AssahBismarkabah

Description

@AssahBismarkabah

Summary

Factory Desktop v0.104.0 for macOS Apple Silicon immediately crashes on launch. The ship build has an app.asar SHA-256 hash that does not match the value recorded in Info.plist under ElectronAsarIntegrity, causing Electron to abort with EXC_BREAKPOINT.

Environment

  • macOS: 26.5.1 (Build 25F80)
  • Architecture: Apple Silicon (arm64)
  • Factory Desktop version: 0.104.0 (build 5830)
  • Previous working version: 0.101.2 (build 5748)
  • Installation method: In-app auto-update (Squirrel)

Steps to reproduce

  1. Have Factory Desktop v0.101.2 installed and working
  2. Accept the in-app update to v0.104.0
  3. App replaces the working install
  4. Launch Factory — it crashes immediately with no window appearing

Root cause

The Info.plist in v0.104.0 declares:

ElectronAsarIntegrity → Resources/app.asar → hash: ec1d663fc94ef420bc909e02704131967439367b9bdfcb1d43ecf948519d83

But the actual SHA-256 of the shipped app.asar is:

19f491b99027e9f0e4135dec117b4101732034bc7adcc9540f73ae00ca193b93

Electron validates this integrity check on launch and aborts when the hashes diverge.

Crash details

Exception:  EXC_BREAKPOINT (SIGTRAP)
Thread 0 (crashed):
  factory-desktop — main thread
  Crash reports saved to: ~/Library/Logs/DiagnosticReports/factory-desktop-2026-06-14-*.ips

The crash is in the Electron/Node runtime initialization, before any app code runs.

Impact

  • App is completely unusable after the update
  • Auto-update replaces the working install with the broken one, leaving no way to roll back through the UI
  • The 0.104.0 DMG from the official download page also has the same mismatch (confirmed on both Apple Silicon and Intel builds)

Workaround

Downgrade to v0.101.2 by downloading the update zip from the Squirrel feed:

https://downloads.factory.ai/factory-desktop/updates/darwin/arm64/Factory-darwin-arm64-0.101.2.zip

Extract and replace /Applications/Factory.app, then restart the app. The 0.101.2 build has a valid asar hash and launches correctly.

Additional notes

  • Manually patching Info.plist to match the actual asar hash and re-signing with ad-hoc codesign bypasses the integrity check, but the app then crashes at a different point in Node initialization — suggesting the build issue goes deeper than just a stale hash.
  • The Squirrel updater log at ~/Library/Caches/com.electron.factory.ShipIt/ShipIt_stderr.log confirms the update from 0.101.2 to 0.104.0.
  • Related: macOS Droid CLI binaries have invalid code signatures and are blocked by Gatekeeper #1205 (CLI code signature issues on macOS)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions