Mysterium-vpn-desktop: Built app cannot be opened (crashes)

Created on 25 Mar 2020  ·  8Comments  ·  Source: mysteriumnetwork/mysterium-vpn-desktop

Reproduce:

  • Build app with yarn packer
  • Copy app from .dmg to /Applications
  • Run app: it opens and closes instantly. The only error I found in logs:
    com.apple.xpc.launchd[1] (io.github.nodegui.myapp.174752[22546]): Service exited with abnormal code: 1

Most helpful comment

All 8 comments

I have just successfully built it on my machine

$ git pull 
Already up to date.
Current branch master is up to date.

$ yarn install
yarn install v1.21.1
[1/4] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.49s.

$yarn build
yarn run v1.21.1
$ webpack -p
(node:21396) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
...
[558] ./src/index.tsx + 62 modules 779 KiB {0} [built]
      | ./src/index.tsx 1.23 KiB [built]
      | ./assets/fonts/Roboto-Light.ttf 59 bytes [built]
      | ./assets/fonts/Roboto-Medium.ttf 59 bytes [built]
      | ./src/utils/paths.ts 555 bytes [built]
      | ./src/supervisor/supervisor.ts 2.18 KiB [built]
      | ./src/main-window.tsx 1.9 KiB [built]
      | ./src/utils/on-process-exit.ts 686 bytes [built]
      | ./src/tray/tray.ts 769 bytes [built]
      | ./assets/logo.svg 59 bytes [built]
      | ./src/config.ts 226 bytes [built]
      | ./src/ui-kit/typography.ts 413 bytes [built]
      | ./src/app.tsx 3.27 KiB [built]
      | ./src/tray/quit.ts 700 bytes [built]
      | ./src/tray/repair.ts 722 bytes [built]
      | ./src/daemon/store.ts 5.63 KiB [built]
      |     + 48 hidden modules
    + 544 hidden modules
✨  Done in 4.84s.

$yarn packer
...
stderr: Log:
Log: Creating disk image (.dmg) for "MysteriumVPN.app"
Log: Image will use "HFS+"

Build successful. Find the dmg/app at /Users/jaro/Dev/Projects/MysteriumNetwork/mysterium-vpn-desktop/deploy/darwin/build
✨  Done in 14.89s.

Then I limply moved MysteriumVPN.app into the Applications folder and run it. I had to go into System Preferences > Security & Privacy to accept app from not identified App Store developer, though.

@tadaskay
Do you also get the following error when signing?

stderr: Log: codesign "/Users/contra/dev/appone/desktop-vpn2/deploy/darwin/build/Portals.app/Contents/MacOS/qode"

stderr: Log: Finished codesigning "Portals.app" with identity "xxx"

stderr: ERROR: codesign verification error:
ERROR: "Portals.app: code has no resources but signature indicates they must be presentn"

Also, could you update the skeleton /deploy/darwin/MysteriumVPN.app as it likely differs from the one in release (at least the Info.plist is different than one in repo, so I assume there must be something else which doesn't let me make correct build).

Also see https://stackoverflow.com/questions/27952111/unable-to-sign-app-bundle-using-qt-frameworks-on-os-x-10-10/28097138#28097138
They're referring to bad project structure.

Please update the skeleton that you're using, I believe this is the culprit.

@chompomonim you're opening app you build yourself, that works of course, instead try:
After you build it, try to upload/download it from some website, then unpack and open, see if that works for you.

If that works for you for the code straight out of master (i.e. using skeleton in master, not some proprietary skeleton), then it might be something with my signing key I guess.
Worked perfectly for the previous desktop app, but it used notarization additionally.

E.g. my build which doesn't work for me: https://wetransfer.com/downloads/c36c495afdb3b6729dbf0aa523c04a5920200407172843/e4a9a24a28cec76ab6a011915446666620200407172843/ce526b?utm_campaign=WT_email_tracking&utm_content=general&utm_medium=download_button&utm_source=notify_recipient_email

I guess I found the main bug in package.json:

It contains --sign xxxx which tries to sign app.
But it doesn't work with valid keys.

In Mysterium builds I assume you use some kind of fake ids or omit the --sign whatsoever.
codesign -dv --verbose=4 MysteriumVPN.app
MysteriumVPN.app: code object is not signed at all

That's why it doesn't work for me at all, as I'm actually signing it, you're not signing it at all. Wasted 2 days on this :(

Asked nodegui author on how to sign this project, will report if he provides any useful suggestions: https://github.com/nodegui/packer/issues/61

Was this page helpful?
0 / 5 - 0 ratings

Related issues

wuniversales picture wuniversales  ·  13Comments

mikemfleming picture mikemfleming  ·  4Comments

Ammar7347 picture Ammar7347  ·  4Comments

jbondc picture jbondc  ·  3Comments

jarben picture jarben  ·  3Comments