trustcrypto / OnlyKey-App

The OnlyKey App is used for the initial setup and configuration of OnlyKey. Supported on Windows, macOS, Linux, and Chromebook (with Chrome App).
https://docs.crp.to/app.html
Other
106 stars 24 forks source link

M1 Mac Big Sur OnlyKey App Crashing Mac #172

Closed kenjikato closed 2 years ago

kenjikato commented 3 years ago

I've been having a LOT of crashes on my newer M1 Mac Mini running Big Sur, and found that it's because of apps and websites that use node.js prior to v16. The issue is the default node.js dev install (v14 and prior) does not work properly with M1 Macs in all cases, and can become a major memory eater.

I found that the latest OnlyKey app (5.3.3) is to blame for my system crashing. See below for a crash dump from one of my 6 crashes today.

The issue is that it's using the X86-64 node.js code base. While this has better backwards compatibility, and was recommended initially to get node.js running on M1 Macs. Many have found Rosetta 2 and some node.js apps just don't play nicely.

If possible moving to node.js v16 can solve issues on M1 Macs with Big Sur as it is fully M1 ARM compatible. https://doesitarm.com/app/nodejs/

The big gotcha is that library compatibility can be an issue. As a result some users have gone to v15 as a stop gap to solver this problem. https://stackoverflow.com/questions/65342769/install-node-on-m1-mac

Process:               nwjs Helper [1095]
Path:                  /Applications/OnlyKey App.app/Contents/Versions/72.0.3626.121/nwjs Helper.app/Contents/MacOS/nwjs Helper
Identifier:            io.nwjs.nwjs.helper
Version:               72.0.3626.121 (3626.121)
Code Type:             X86-64 (Translated)
Parent Process:        ??? [1]
Responsible:           nwjs Helper [1095]
User ID:               501

Date/Time:             2021-08-13 15:35:06.793 -0700
OS Version:            macOS 11.5.2 (20G95)
Report Version:        12
Anonymous UUID:        ######-####-####-####-#########

Time Awake Since Boot: 150 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Trace/BPT trap: 5
Termination Reason:    Namespace SIGNAL, Code 0x5
Terminating Process:   exc handler [1095]

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   io.nwjs.nwjs.framework          0x000000010b7e2410 0x108f62000 + 42468368
1   io.nwjs.nwjs.framework          0x000000010b73b8e9 0x108f62000 + 41785577
2   io.nwjs.nwjs.framework          0x0000000108f672ad 0x108f62000 + 21165
3   io.nwjs.nwjs.framework          0x0000000108f67635 0x108f62000 + 22069
4   io.nwjs.nwjs.framework          0x000000010b30d25c 0x108f62000 + 37401180
5   io.nwjs.nwjs.framework          0x000000010d6b7970 0x108f62000 + 74799472
6   io.nwjs.nwjs.framework          0x000000010b30ca44 0x108f62000 + 37399108
7   io.nwjs.nwjs.framework          0x0000000108f65bef ChromeMain + 175
8   io.nwjs.nwjs.helper             0x00000001009c74ee main + 494
9   libdyld.dylib                   0x00007fff20485f3d start + 1

Thread 1:: com.apple.rosetta.exceptionserver
0   runtime                         0x00007ffdffedda28 0x7ffdffed9000 + 18984
1   runtime                         0x00007ffdffef4f90 0x7ffdffed9000 + 114576
2   runtime                         0x00007ffdffee1fc4 0x7ffdffed9000 + 36804
3   runtime                         0x00007ffdffee364c 0x7ffdffed9000 + 42572
4   runtime                         0x00007ffdffee42c0 0x7ffdffed9000 + 45760

Thread 2:
0   runtime                         0x00007ffdffefb7c8 0x7ffdffed9000 + 141256

Thread 3:
0   runtime                         0x00007ffdffefb7c8 0x7ffdffed9000 + 141256

Thread 4:
0   runtime                         0x00007ffdffefb7c8 0x7ffdffed9000 + 141256

Thread 5:
0   ???                             0x00007ffe946a28f4 ???
1   libsystem_kernel.dylib          0x00007fff204352ba mach_msg_trap + 10
2   io.nwjs.nwjs.framework          0x000000010c703d3e 0x108f62000 + 58334526
3   io.nwjs.nwjs.framework          0x000000010c703fa9 0x108f62000 + 58335145
4   io.nwjs.nwjs.framework          0x000000010c6fe518 0x108f62000 + 58311960
5   libsystem_pthread.dylib         0x00007fff2046a8fc _pthread_start + 224
6   libsystem_pthread.dylib         0x00007fff20466443 thread_start + 15

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00007fff80796ae0  rcx: 0x0000000000000020  rdx: 0x00000000000003ff
  rdi: 0x0000000110d1ec74  rsi: 0x00007f885880f000  rbp: 0x0000000305772670  rsp: 0x0000000305772670
   r8: 0x00007fff807620e8   r9: 0x0000000000000000  r10: 0x00000000ffffff00  r11: 0x00007fff807620e0
  r12: 0x0000000305773038  r13: 0x00000003057726b9  r14: 0x0000000305773030  r15: 0x0000000305773028
  rip: 0x000000010b7e2410  rfl: 0x0000000000000242

Binary Images:
       0x1009c6000 -        0x1009d6fff +io.nwjs.nwjs.helper (72.0.3626.121 - 3626.121) <89632491-6DD2-3A54-B9B4-8D0753521F8D> /Applications/OnlyKey App.app/Contents/Versions/72.0.3626.121/nwjs Helper.app/Contents/MacOS/nwjs Helper
onlykey commented 3 years ago

@kenjikato Thanks for detailed report here. We are working on moving to nwjs 55 which has better support for M1 Mac but as you mentioned there are some compatibility issues to work through that requires redesigning some things. We are getting closer to a solution and plan to release one soon.

rodgolpe commented 2 years ago

@kenjikato Please try the latest app release 5.3.4 -- PR #184 which updates the Mac and Win apps to nwjs 0.55.0.