vladimiry / ElectronMail

Unofficial ProtonMail Desktop App
GNU General Public License v3.0
1.51k stars 99 forks source link

Version 4.2.0 keeps crashing #241

Closed BobWs closed 4 years ago

BobWs commented 4 years ago

Hi, So I start testing your great developed desktop app for ProtonMail and it is looking greast so far. But unfortunately updating to version 4.2.0 is not working, it keeps crashing on startup.

First time I installed the latest version (4.2.0) but it was crashing immediately. Then I downloaded version (4.0.0) installed it and this version is working. Then I tried to update to version (4.2.0) and it keeps crashing.

I'm on OSX 10.13.6 (High Sierra)

Any thoughts how to solve this problem?

vladimiry commented 4 years ago

@BobWs can you run the app from console with added ELECTRON_ENABLE_LOGGING=true environment variable and then see if there is something useful posted to console?

Then I downloaded version (4.0.0) installed it and this version is working.

There are few possibly major macOS differences come with 4.2.0 in comparison with 4.0.0:

So these would be a points need to digged into first of all.

According to https://api.github.com/repositories/115260146/releases at the moment v4.2.0 macOS packaged got downloaded 107 times. So I wonder is there someone who runs macOS and gets v4.2.0 working well.

vladimiry commented 4 years ago

e2e tests got passed on CI so I guess the problem happens only with packed version. On CI by design e2e tests get executed before the app got packed.

vladimiry commented 4 years ago

4.2.0 macOS package prepared on https://www.appveyor.com

According to https://www.appveyor.com/docs/macos-images-software/ the macos image is based on macOS 10.15 "Catalina" and XCode 11.2.1 (the app goes with macos image).

npx envinfo output Link: https://ci.appveyor.com/project/vladimiry/electronmail/builds/30351201/job/bww04e860tjdd397#L67 ``` npx: installed 1 in 0.922s System: OS: macOS 10.15.1 CPU: (2) x64 Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz Memory: 93.79 MB / 2.00 GB Shell: 3.2.57 - /bin/bash Binaries: Node: 12.14.1 - ~/.nvm/versions/node/v12.14.1/bin/node Yarn: 1.21.1 - ~/.yarn/bin/yarn npm: 6.13.4 - ~/.nvm/versions/node/v12.14.1/bin/npm Managers: Homebrew: 2.1.16 - /usr/local/bin/brew pip3: 19.3.1 - /usr/local/bin/pip3 RubyGems: 3.0.6 - /Users/appveyor/.rvm/rubies/ruby-2.6.3/bin/gem Utilities: CMake: 3.16.0 - /usr/local/bin/cmake Make: 3.81 - /usr/bin/make GCC: 11.2.1. - /usr/bin/gcc Git: 2.24.0 - /usr/local/bin/git Clang: 1100.0.33.12 - /usr/bin/clang Mercurial: 5.2 - /usr/local/bin/hg Subversion: 1.13.0 - /usr/local/bin/svn Servers: Apache: 2.4.41 - /usr/sbin/apachectl SDKs: iOS SDK: Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1 IDEs: Nano: 2.0.6 - /usr/bin/nano Vim: 8.1 - /usr/bin/vim Xcode: 11.2.1/11B500 - /usr/bin/xcodebuild Languages: Bash: 3.2.57 - /bin/bash Go: 1.13.4 - /Users/appveyor/.gvm/gos/go1.13.4/bin/go Java: 13.0.1 - /usr/bin/javac Perl: 5.30.0 - /usr/local/bin/perl PHP: 7.3.9 - /usr/bin/php Python: 2.7.16 - /usr/bin/python Python3: 3.7.5 - /usr/local/bin/python3 Ruby: 2.6.3 - /Users/appveyor/.rvm/rubies/ruby-2.6.3/bin/ruby Databases: SQLite: 3.28.0 - /usr/bin/sqlite3 Browsers: Safari: 13.0.3 ```

but previously was used https://travis-ci.org.

Here/v4.0.0 macOS High Sierra 10.13.6 and XCode 9.4.1 was used.

npx envinfo output Link: https://travis-ci.org/vladimiry/ElectronMail/jobs/627583668#L168 ``` $ npx envinfo npx: installed 1 in 1.321s System: OS: macOS High Sierra 10.13.6 CPU: (2) x64 Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz Memory: 1.51 GB / 4.00 GB Shell: 3.2.57 - /bin/bash Binaries: Node: 12.4.0 - ~/.nvm/versions/node/v12.4.0/bin/node Yarn: 1.21.1 - ~/.yarn/bin/yarn npm: 6.9.0 - ~/.nvm/versions/node/v12.4.0/bin/npm Managers: CocoaPods: 1.8.4 - /Users/travis/.rvm/gems/ruby-2.6.3/bin/pod Homebrew: 2.2.1 - /usr/local/bin/brew Maven: 3.6.3 - /usr/local/bin/mvn pip2: 19.3.1 - /usr/local/bin/pip2 pip3: 19.3.1 - /usr/local/bin/pip3 RubyGems: 3.0.3 - /Users/travis/.rvm/rubies/ruby-2.6.3/bin/gem Utilities: CMake: 3.15.5 - /usr/local/bin/cmake Make: 3.81 - /usr/bin/make GCC: 9.4.1. - /usr/bin/gcc Git: 2.24.1 - /usr/local/bin/git Clang: 902.0.39.2 - /usr/bin/clang Mercurial: 5.2 - /usr/local/bin/hg Subversion: 1.9.7 - /usr/bin/svn Servers: Apache: 2.4.33 - /usr/sbin/apachectl SDKs: iOS SDK: Platforms: iOS 11.4, macOS 10.13, tvOS 11.4, watchOS 4.3 IDEs: Emacs: 22.1.1 - /usr/bin/emacs Nano: 2.0.6 - /usr/bin/nano Vim: 8.0 - /usr/bin/vim Xcode: 9.4.1/9F2000 - /usr/bin/xcodebuild Languages: Bash: 3.2.57 - /bin/bash Go: 1.13.4 - /usr/local/bin/go Java: 13.0.1 - /usr/bin/javac Perl: 5.18.2 - /usr/bin/perl PHP: 7.1.16 - /usr/bin/php Python: 2.7.17 - /usr/local/bin/python Python3: 3.7.5 - /usr/local/bin/python3 Ruby: 2.6.3 - /Users/travis/.rvm/rubies/ruby-2.6.3/bin/ruby Databases: PostgreSQL: 12.1 - /usr/local/bin/postgres SQLite: 3.19.3 - /usr/bin/sqlite3 ```

This looks like a huge difference in general which though I'm not sure is supposed to affect the package preparing process.

vladimiry commented 4 years ago

@BobWs

This looks like a huge difference in general which though I'm not sure is supposed to affect the package preparing process.

What I could do for now is preparing the 4.2.0 package on Travis CI like it was happening before and then we see if it helps.

vladimiry commented 4 years ago

By the way, can someone, like @joshirio / @Imparium / @andrewkdinh / @BBaoVanC / @bit-for-byte / @ylluminate respond with v4.2.0 running status on macOS if you tried this release already (please include the used macOS version in response)? Does it crash?

BobWs commented 4 years ago

@BobWs can you run the app from console with added ELECTRON_ENABLE_LOGGING=true environment variable and then see if there is something useful posted to console?

Sorry, but I'm not quite sure what you mean and how I'm suppose to do that?

BobWs commented 4 years ago

I have found this in the console logs from yesterday when I tried to install version 4.2.0:

Process: ElectronMail [877] Path: /Applications/ElectronMail.app/Contents/MacOS/ElectronMail Identifier: github.comvladimiryElectronMail Version: 4.2.0 (4.2.0.298) Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: ElectronMail [877] User ID: 501 Date/Time: 2020-01-27 10:36:54.436 +0100 OS Version: Mac OS X 10.13.6 (17G65) Report Version: 12 Anonymous UUID: AA502188-D46F-8C6D-5AA3-908CA9F96746 Time Awake Since Boot: 4600 seconds

System Integrity Protection: enabled

Crashed Thread: 22

Exception Type: EXC_CRASH (SIGKILL) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY

Termination Reason: DYLD, [0x4] Symbol missing

Dyld Error Message: Symbol not found: ____chkstk_darwin Referenced from: /Applications/ElectronMail.app/Contents/Resources/app.asar.unpacked/node_modules/sodium-native/build/Release/libsodium.dylib (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib

vladimiry commented 4 years ago

@BobWs, thanks, this is helpful.

Dyld Error Message: Symbol not found: ____chkstk_darwin Referenced from: /Applications/ElectronMail.app/Contents/Resources/app.asar.unpacked/node_modules/sodium-native/build/Release/libsodium.dylib (which was built for Mac OS X 10.15) Expected in: /usr/lib/libSystem.B.dylib

libsodium is a native library the app uses for encryption needs. For v4.2.0 release it was compiled from the sources on macOS 10.15 Catalina and XCode 11.2.1 environment but apparently should be compiled on the macOS version you run the app. So I'm going to prepare DMG packages assembled on different macOS versions and then will ask you to try all of them.

joshirio commented 4 years ago

By the way, can someone, like @joshirio respond with v4.2.0 running status on macOS if you tried this release already (please include the used macOS version in response)? Does it crash?

yes I can confirm same crash on macOS high sierra

vladimiry commented 4 years ago

Ok, then v4.2.0 presumably starts without crash only on Catalina and possibly on Mojave (not confirmed yet).

andrewkdinh commented 4 years ago

ElectronMail 4.2.0 works fine for me

macOS Catalina 10.15.2

vladimiry commented 4 years ago

@BobWs, can you try running the electron-mail-4.2.1-mac-high-sierra.dmg package uploaded here? Anyone else is also welcomed to try the updated macOS packages. If it works well I then will be preparing the v4.2.1 release.

See v4.2.1 changelog draft if interested - Fix app crash on macOS `High Sierra` systems (#241). The issue was caused by moving the macOS package assembling process from `High Sierra` system to `Catalina` while the E2E test was verifying the app start only on `Catalina`. More specifically, some native dependencies compiled on `Catalina` during the package assembling process were not compatible with the `High Sierra` runtime. The fix includes assembling the individual packages on the following macOS systems: `Catalina`, `Mojave`, `High Sierra`. So when you will be picking the macOS package file to download, select the one name of which is closer to the system you run. - Start polishing the [local store](https://github.com/vladimiry/ElectronMail/wiki/FAQ) view mode styling (#238, [commits](https://github.com/vladimiry/ElectronMail/search?q=238&type=Commits)). See the made change on [this](https://user-images.githubusercontent.com/1560781/73334113-d11df200-427c-11ea-83cc-f2eb9d7aa132.jpg) screenshot. - Update built-in proton web clients (bad394f317acf8ed3b29ddb1cb988b15c57c44f2). - Reduce buttons size (52ed4f2a94171943a1790fe6238108ee52734c76, fdd28ef672af85da2e6c8ab6f21a66f8e876c2e3).
BobWs commented 4 years ago

@BobWs, can you try running the electron-mail-4.2.1-mac-high-sierra.dmg package uploaded here? Anyone else is also welcomed to try the updated macOS packages. If it works well I then will be preparing the v4.2.1 release.

Thanks for the quick response and update I will give it a try and get back to you.

Just another question, did you drop the Tutanota support in the app? Because I couldn’t find the ability to add an Tutanota account. I only have the ability to add ProtonMail.

vladimiry commented 4 years ago

Just another question, did you drop the Tutanota support in the app?

Tutanota support was deprecated since July 2019. The visual/in-the-app deprecation message added in Sep 2019 with v3.8.0. Support for it got completely dropped in v4.0.0.

BobWs commented 4 years ago

I can confirm that the update (electron-mail-4.2.1-mac-high-sierra) is working properly no crashes. Thanks!

vladimiry commented 4 years ago

Great, new release is on the way then.

BobWs commented 4 years ago

Just another question, did you drop the Tutanota support in the app?

Tutanota support was deprecated since July 2019. The visual/in-the-app deprecation message added in Sep 2019 with v3.8.0. Support for it got completely dropped in v4.0.0.

Okay, Sorry I overlooked the changelog ;-)

vladimiry commented 4 years ago

v4.2.1 has been released with the fix included. Since this release the assets list includes not just one but 3 macOS packages: