Squirrel / Squirrel.Mac

:shipit: Cocoa framework for updating OS X apps :shipit:
MIT License
1.57k stars 128 forks source link

Error when moving bundle during auto-update #260

Open indutny-signal opened 3 years ago

indutny-signal commented 3 years ago

These are two different errors that our users have encountered. At least the first one has produced error event on electron's autoUpdater object and so the update couldn't proceed. Sadly we don't have exact error message because the first argument of error handler is an empty object {} and we don't log the legacy string that comes as a second argument:

2021-06-23 15:37:53.415 ShipIt[48029:8592939] Detected this as an install request
2021-06-23 15:54:59.798 ShipIt[48029:8592943] Beginning installation
2021-06-23 15:55:03.743 ShipIt[48029:8627975] Moved bundle from file:///Applications/Signal%20Beta.app/ to file:///var/folders/h0/lbtf8x5s7yj4nypc2fg4v9lc0000gn/T/org.whispersystems.signal-desktop-beta.ShipIt.39PHQvR4/Signal%20Beta.app
2021-06-23 15:55:03.743 ShipIt[48029:8627975] Moved bundle from file:///var/folders/h0/lbtf8x5s7yj4nypc2fg4v9lc0000gn/T/org.whispersystems.signal-desktop-beta.ShipIt.iJDjoPEv/Signal%20Beta.app to file:///Applications/Signal%20Beta.app/
2021-06-23 15:55:04.741 ShipIt[48029:8627975] Couldn't remove owned bundle at location file:///var/folders/h0/lbtf8x5s7yj4nypc2fg4v9lc0000gn/T/org.whispersystems.signal-desktop-beta.ShipIt.iJDjoPEv/Signal%20Beta.app, error NSError { domain: NSCocoaErrorDomain, code: 4, description: ""Signal Beta.app" couldn't be removed.", failureReason: "The file doesn't exist.", underlying error: NSError { domain: NSPOSIXErrorDomain, code: 2, description: "The operation couldn't be completed. No such file or directory" }, userInfo: {
    NSFilePath = "/var/folders/h0/lbtf8x5s7yj4nypc2fg4v9lc0000gn/T/org.whispersystems.signal-desktop-beta.ShipIt.iJDjoPEv/Signal Beta.app";
    NSUserStringVariant =     (
        Remove
    );
} }

In the second case the update has been applied only partially (some bindings from unpacked asar were missing, and possibly some other files as well):

2021-06-30 16:34:46.313 ShipIt[83719:10046492] Detected this as an install request
2021-06-30 16:54:47.850 ShipIt[83719:10057955] Beginning installation
2021-06-30 16:55:09.788 ShipIt[83719:10046517] Moved bundle from file:///Applications/Signal.app/ to file:///var/folders/6p/9rk4hbtn0vqcwbygqlbdrwxw0000gp/T/org.whispersystems.signal-desktop.ShipIt.7cqUKM8C/Signal.app
2021-06-30 16:55:09.804 ShipIt[83719:10046517] Moved bundle from file:///var/folders/6p/9rk4hbtn0vqcwbygqlbdrwxw0000gp/T/org.whispersystems.signal-desktop.ShipIt.Ggs3Nhhk/Signal.app to file:///Applications/Signal.app/
2021-06-30 16:55:10.099 ShipIt[83719:10046517] Couldn't remove owned bundle at location file:///var/folders/6p/9rk4hbtn0vqcwbygqlbdrwxw0000gp/T/org.whispersystems.signal-desktop.ShipIt.Ggs3Nhhk/Signal.app, error NSError { domain: NSCocoaErrorDomain, code: 4, description: "“Signal.app” couldn’t be removed.", failureReason: "The file doesn’t exist.", underlying error: NSError { domain: NSPOSIXErrorDomain, code: 2, description: "The operation couldn’t be completed. No such file or directory" }, userInfo: {
    NSFilePath = "/var/folders/6p/9rk4hbtn0vqcwbygqlbdrwxw0000gp/T/org.whispersystems.signal-desktop.ShipIt.Ggs3Nhhk/Signal.app";
    NSUserStringVariant =     (
        Remove
    );
} }
2021-06-30 16:55:10.281 ShipIt[83719:10058033] On main thread and launching: file:///Applications/Signal.app/
2021-06-30 16:55:10.281 ShipIt[83719:10058033] Bundle URL is valid
2021-06-30 16:55:10.282 ShipIt[83719:10046517] Installation completed successfully
2021-06-30 16:55:10.385 ShipIt[83719:10058033] Attempting to launch app on lower than 11.0
2021-06-30 16:55:10.653 ShipIt[83719:10058033] Could not launch application at file:///Applications/Signal.app/: Error Domain=NSCocoaErrorDomain Code=259 "The application “Signal” could not be launched because it is corrupt." UserInfo={NSURL=file:///Applications/Signal.app/, NSLocalizedDescription=The application “Signal” could not be launched because it is corrupt., NSUnderlyingError=0x7f8174c25ed0 {Error Domain=NSOSStatusErrorDomain Code=-10827 "kLSNoExecutableErr: The executable is missing" UserInfo={NSURL=file:///Applications/Signal.app/}}}
2021-06-30 16:55:10.653 ShipIt[83719:10058033] ShipIt quitting