Summary
The official macOS companion app (com.liamcottle.meshcore.macos, the zip build from files.liamcottle.net, not the App Store build) exits abruptly with EXC_BAD_ACCESS (SIGSEGV). From the user's side it is a silent crash: the window disappears, there is no dialog, no Dart exception and no chance to save state.
The crash report (1.50.0, build 78) shows the fault on the main thread while AppKit routes a mouse-moved event into the Flutter view — i.e. while the pointer is over the window and AppKit updates its tracking areas. Users describe it as "the app crashes when opening menus / clicking on UI elements", but the stack says the trigger is pointer movement over the window, not the click itself.
It reproduces on 1.50.0 (78); the reporter's own experience is that older builds are stable and the problem started around 1.47–1.48. The engine table below shows the bundled Flutter engine changed exactly at 1.48.0, which matches that boundary.
Environment
|
|
| App |
MeshCore 1.50.0 (78), bundle id com.liamcottle.meshcore.macos |
| Build source |
https://files.liamcottle.net/MeshCore/v1.50.0/MeshCore-v1.50.0+78-b7528a7-macos.zip |
| Crash binary |
/Applications/MeshCore.app/Contents/MacOS/MeshCore (ARM-64 native, universal build) |
| Bundled engine |
FlutterMacOS.framework uuid 4c4c4491-5555-3144-a13d-98496080a6b4, Dart SDK 3.12.2 (built 2026-06-09) |
| macOS |
27.0 (26A428), Release Type: User, SIP enabled |
| Hardware |
Mac17,7 — Apple M5 Max, 36 GB |
| Displays |
Color LCD, 3024 x 1964 Retina, Main, MirrorOff, Online / M28U, 4096 x 2304, MirrorOff, Online |
| App uptime before this crash |
launched 20:31:52, crashed 23:27:21 (~2 h 56 min) |
| Incident |
96B5CED2-4430-49DB-8244-43301C49CDF4 |
Steps to reproduce
- Install 1.50.0 (or 1.48.0/1.49.0) from the zip above and connect a companion node as usual.
- Keep the app running and work with it normally: move the pointer across the window, hover UI elements, open and close menus/screens, click contacts and channels.
- Within minutes to a few hours the process exits to the desktop with no message.
So far the reporter has not isolated a hover-only repro (whether it can crash without any click), so if that is useful I can try to narrow it down.
Crash signature
Report header:
Process: MeshCore [37863]
Path: /Applications/MeshCore.app/Contents/MacOS/MeshCore
Identifier: com.liamcottle.meshcore.macos
Version: 1.50.0 (78)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.liamcottle.meshcore.macos
User ID: 501
Date/Time: 2026-09-25 23:27:21.2885 +0300
Launch Time: 2026-09-25 20:31:52.2732 +0300
Hardware Model: Mac17,7
OS Version: macOS 27.0 (26A428)
Release Type: User
Crash Reporter Key: REDACTED
Incident Identifier: 96B5CED2-4430-49DB-8244-43301C49CDF4
Time Awake Since Boot: 870000 seconds
System Integrity Protection: enabled
Triggered by Thread: 0, Dispatch Queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0xffffffffffffffff
Exception Codes: 0x0000000000000001, 0xffffffffffffffff
Termination Reason: Namespace SIGNAL, Code 11, Segmentation fault: 11
Terminating Process: exc handler [37863]
VM Region Info: 0xffffffffffffffff is not in any region.
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
UNUSED SPACE AT END
Faulting thread — main thread, inside the mouse-moved routing path:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 FlutterMacOS 0x103ac0490 0x102fa0000 + 11666576
1 FlutterMacOS 0x103ac0474 0x102fa0000 + 11666548
2 FlutterMacOS 0x102fd490c 0x102fa0000 + 215308
3 FlutterMacOS 0x102fd4804 0x102fa0000 + 215044
4 AppKit 0x19415061c ___collectTrackingAreasForTargetAndWinLoc_block_invoke + 172
5 CoreFoundation 0x18f505dec __NSARRAY_IS_CALLING_OUT_TO_A_BLOCK__ + 24
6 CoreFoundation 0x18f505c98 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 388
7 AppKit 0x19414928c -[_NSTrackingAreaAKManager _updateActiveTrackingAreasForWindowLocation:modifierFlags:] + 1196
8 AppKit 0x19414c8a8 -[_NSTrackingAreaAKManager _mouseMoved:] + 344
9 AppKit 0x19459d458 _routeMouseMovedEvent + 228
10 AppKit 0x193beef38 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 560
11 AppKit 0x193beeb70 -[NSWindow(NSEventRouting) sendEvent:] + 304
12 AppKit 0x19433f654 routeMouseMovedEvent + 148
13 AppKit 0x19433ec74 -[NSApplication(NSEventRouting) sendEvent:] + 984
14 AppKit 0x193e64d48 -[NSApplication _handleEvent:] + 60
15 AppKit 0x193abb95c -[NSApplication run] + 476
16 AppKit 0x193a93c4c NSApplicationMain + 880
17 MeshCore 0x100ece9d0 main + 36
18 dyld 0x18f07be80 start + 6688
Registers at the fault (far is the address being read, esr the fault type):
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000007573843c00 x2: 0x000000016ef325c7 x3: 0x0000000000000001
x4: 0x0000000000000001 x5: 0x0000000000000400 x6: 0x0000007572ef0000 x7: 0xffffffffb00007ff
x8: 0xffffffffffffffff x9: 0xffffff8a8c7bc3ff x10: 0x0000000000000001 x11: 0x0000007573be8148
x12: 0x0000000000000018 x13: 0x0000007573a49170 x14: 0x0300000103d17d6f x15: 0x00000001f4fd48d0
x16: 0x00000001f4fd48d0 x17: 0x000000018efd5e48 x18: 0x0000000000000000 x19: 0x000000016ef325c7
x20: 0x0000007573843c00 x21: 0x0000000000000001 x22: 0x000000757372fc00 x23: 0x0000000000000001
x24: 0x0000000000000000 x25: 0x0000000000000000 x26: 0x0000000000000001 x27: 0x0000000000000001
x28: 0x00000075733c0820 fp: 0x000000016ef32590 lr: 0x0000000103ac0474
sp: 0x000000016ef324c0 pc: 0x0000000103ac0490 cpsr: 0x80000000
far: 0xffffffffffffffff esr: 0x92000004 (Data Abort) byte read Translation fault
Evidence: the regression tracks the Flutter engine, not app features
The crash address falls inside FlutterMacOS.framework (frames 0–3); AppKit only calls into it. Frames in the engine are unsymbolicated because the shipped app has no dSYM, which is why the report is framed around the engine binary identity.
I compared the engine binary of every macOS release still on the download server by reading the LC_UUID out of FlutterMacOS.framework/Versions/A/FlutterMacOS:
| App version |
FlutterMacOS uuid |
Dart SDK / engine build |
| 1.44.0 |
4c4c44d3-5555-3144-a1aa-3b916e463643 |
3.7.0 (2025-02-05) |
| 1.45.0 |
4c4c44d3-5555-3144-a1aa-3b916e463643 |
3.7.0 |
| 1.46.0 |
4c4c44d3-5555-3144-a1aa-3b916e463643 |
3.7.0 |
| 1.47.0 |
4c4c44d3-5555-3144-a1aa-3b916e463643 |
3.7.0 |
| 1.48.0 |
4c4c4491-5555-3144-a13d-98496080a6b4 |
3.12.2 (2026-06-09) |
| 1.49.0 |
4c4c4491-5555-3144-a13d-98496080a6b4 |
3.12.2 |
| 1.50.0 |
4c4c4491-5555-3144-a13d-98496080a6b4 |
3.12.2 |
The uuid recorded in this crash report is 4c4c4491-5555-3144-a13d-98496080a6b4 — i.e. the engine that first shipped in 1.48.0, unchanged through 1.50.0. The reporter (who has been rolling back to older builds to keep using the app) recalls the last known-good version as around 1.47.0, which lines up with the engine change point above. Note that rolling back to 1.48.0 or 1.49.0 does not change the engine, so it should not help; only < 1.48 does.
Reproduce the measurement with:
curl -sLO https://files.liamcottle.net/MeshCore/v1.50.0/MeshCore-v1.50.0+78-b7528a7-macos.zip
unzip -q MeshCore-v1.50.0+78-b7528a7-macos.zip
dwarfdump --uuid MeshCore.app/Contents/Frameworks/FlutterMacOS.framework/Versions/A/FlutterMacOS
Workaround
Roll back to 1.47.0 (https://files.liamcottle.net/MeshCore/v1.47.0/MeshCore-v1.47.0+74-b68551d-macos.zip, sha256 ca73d3c1abd99dfe357010cd1fa753f64297e89a1b14d089fe345352e7735cd9) — that build carries the previous engine and does not crash for the reporter. Everything added in 1.48–1.50 is lost, of course.
Suggested fix / ask
- Bump the bundled Flutter engine of the macOS/desktop builds. The faulting code is the engine's macOS embedder view, reached from
-[_NSTrackingAreaAKManager _updateActiveTrackingAreasForWindowLocation:modifierFlags:] → ___collectTrackingAreasForTargetAndWinLoc_block_invoke; the app cannot fix this in Dart.
- If the current engine is still affected, this is worth an upstream
flutter/flutter bug. I grepped open macOS issues for the tracking-area symbols and the engineCallbackOnPlatformMessage nil-handler crash (#193097) is not the same path, so I did not find this reported yet. Happy to file/attach the full .ips upstream if you prefer to forward it instead.
- I can retest any preview build and report the engine uuid + whether the crash is gone.
Appendix — full crash report
Redacted only for machine identifiers (deviceIdentifierForVendor, crashReporterKey, bootSessionUUID); everything technically relevant is untouched. Full .ips attached.
MeshCore 1.50.0 (78) — macOS 27.0 (26A428) — translated crash report
------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: MeshCore [37863]
Path: /Applications/MeshCore.app/Contents/MacOS/MeshCore
Identifier: com.liamcottle.meshcore.macos
Version: 1.50.0 (78)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.liamcottle.meshcore.macos
User ID: 501
Date/Time: 2026-09-25 23:27:21.2885 +0300
Launch Time: 2026-09-25 20:31:52.2732 +0300
Hardware Model: Mac17,7
OS Version: macOS 27.0 (26A428)
Release Type: User
Crash Reporter Key: REDACTED
Incident Identifier: 96B5CED2-4430-49DB-8244-43301C49CDF4
Time Awake Since Boot: 870000 seconds
System Integrity Protection: enabled
Triggered by Thread: 0, Dispatch Queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0xffffffffffffffff
Exception Codes: 0x0000000000000001, 0xffffffffffffffff
Termination Reason: Namespace SIGNAL, Code 11, Segmentation fault: 11
Terminating Process: exc handler [37863]
VM Region Info: 0xffffffffffffffff is not in any region.
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
UNUSED SPACE AT END
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 FlutterMacOS 0x103ac0490 0x102fa0000 + 11666576
1 FlutterMacOS 0x103ac0474 0x102fa0000 + 11666548
2 FlutterMacOS 0x102fd490c 0x102fa0000 + 215308
3 FlutterMacOS 0x102fd4804 0x102fa0000 + 215044
4 AppKit 0x19415061c ___collectTrackingAreasForTargetAndWinLoc_block_invoke + 172
5 CoreFoundation 0x18f505dec __NSARRAY_IS_CALLING_OUT_TO_A_BLOCK__ + 24
6 CoreFoundation 0x18f505c98 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 388
7 AppKit 0x19414928c -[_NSTrackingAreaAKManager _updateActiveTrackingAreasForWindowLocation:modifierFlags:] + 1196
8 AppKit 0x19414c8a8 -[_NSTrackingAreaAKManager _mouseMoved:] + 344
9 AppKit 0x19459d458 _routeMouseMovedEvent + 228
10 AppKit 0x193beef38 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 560
11 AppKit 0x193beeb70 -[NSWindow(NSEventRouting) sendEvent:] + 304
12 AppKit 0x19433f654 routeMouseMovedEvent + 148
13 AppKit 0x19433ec74 -[NSApplication(NSEventRouting) sendEvent:] + 984
14 AppKit 0x193e64d48 -[NSApplication _handleEvent:] + 60
15 AppKit 0x193abb95c -[NSApplication run] + 476
16 AppKit 0x193a93c4c NSApplicationMain + 880
17 MeshCore 0x100ece9d0 main + 36
18 dyld 0x18f07be80 start + 6688
Thread 1:: com.apple.NSEventThread
0 libsystem_kernel.dylib 0x18f40cc20 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x18f41f8e0 mach_msg2_internal + 76
2 libsystem_kernel.dylib 0x18f415a28 mach_msg_overwrite + 480
3 libsystem_kernel.dylib 0x18f40cfac mach_msg + 24
4 CoreFoundation 0x18f512aec __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x18f511334 __CFRunLoopRun + 1172
6 CoreFoundation 0x18f5eb82c _CFRunLoopRunSpecificWithOptions + 536
7 AppKit 0x193bec844 _NSEventThread + 184
8 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
9 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 2:: io.flutter.raster
0 FlutterMacOS 0x103203970 0x102fa0000 + 2505072
1 FlutterMacOS 0x103203864 0x102fa0000 + 2504804
2 FlutterMacOS 0x1033636d4 0x102fa0000 + 3946196
3 FlutterMacOS 0x103443d24 0x102fa0000 + 4865316
4 FlutterMacOS 0x1033b6500 0x102fa0000 + 4285696
5 FlutterMacOS 0x1033b4590 0x102fa0000 + 4277648
6 FlutterMacOS 0x103438c9c 0x102fa0000 + 4820124
7 FlutterMacOS 0x103438124 0x102fa0000 + 4817188
8 FlutterMacOS 0x10343eac4 0x102fa0000 + 4844228
9 FlutterMacOS 0x10343d91c 0x102fa0000 + 4839708
10 FlutterMacOS 0x103435168 0x102fa0000 + 4804968
11 FlutterMacOS 0x10334dd58 0x102fa0000 + 3857752
12 FlutterMacOS 0x1033e6ab4 0x102fa0000 + 4483764
13 FlutterMacOS 0x1033e851c 0x102fa0000 + 4490524
14 FlutterMacOS 0x1033f8a28 0x102fa0000 + 4557352
15 FlutterMacOS 0x103335130 0x102fa0000 + 3756336
16 FlutterMacOS 0x103334bb0 0x102fa0000 + 3754928
17 FlutterMacOS 0x10333550c 0x102fa0000 + 3757324
18 FlutterMacOS 0x103111254 0x102fa0000 + 1512020
19 FlutterMacOS 0x103938efc 0x102fa0000 + 10063612
20 FlutterMacOS 0x10393abb0 0x102fa0000 + 10070960
21 FlutterMacOS 0x10381f2a8 0x102fa0000 + 8909480
22 FlutterMacOS 0x10381eb84 0x102fa0000 + 8907652
23 FlutterMacOS 0x10381cf10 0x102fa0000 + 8900368
24 FlutterMacOS 0x10381e0dc 0x102fa0000 + 8904924
25 FlutterMacOS 0x103821768 0x102fa0000 + 8918888
26 FlutterMacOS 0x10381d5b8 0x102fa0000 + 8902072
27 FlutterMacOS 0x10381d1e4 0x102fa0000 + 8901092
28 FlutterMacOS 0x1038416cc 0x102fa0000 + 9049804
29 FlutterMacOS 0x103034428 0x102fa0000 + 607272
30 FlutterMacOS 0x10303dcb4 0x102fa0000 + 646324
31 CoreFoundation 0x18f52c8cc __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
32 CoreFoundation 0x18f52c5c8 __CFRunLoopDoTimer + 1084
33 CoreFoundation 0x18f52c0d8 __CFRunLoopDoTimers + 280
34 CoreFoundation 0x18f5115dc __CFRunLoopRun + 1852
35 CoreFoundation 0x18f5eb82c _CFRunLoopRunSpecificWithOptions + 536
36 FlutterMacOS 0x10303df18 0x102fa0000 + 646936
37 FlutterMacOS 0x10303425c 0x102fa0000 + 606812
38 FlutterMacOS 0x10303c564 0x102fa0000 + 640356
39 FlutterMacOS 0x10303bfac 0x102fa0000 + 638892
40 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
41 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 3:: io.flutter.io
0 libsystem_kernel.dylib 0x18f40cc20 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x18f41f8e0 mach_msg2_internal + 76
2 libsystem_kernel.dylib 0x18f415a28 mach_msg_overwrite + 480
3 libsystem_kernel.dylib 0x18f40cfac mach_msg + 24
4 CoreFoundation 0x18f512aec __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x18f511334 __CFRunLoopRun + 1172
6 CoreFoundation 0x18f5eb82c _CFRunLoopRunSpecificWithOptions + 536
7 FlutterMacOS 0x10303df18 0x102fa0000 + 646936
8 FlutterMacOS 0x10303425c 0x102fa0000 + 606812
9 FlutterMacOS 0x10303c564 0x102fa0000 + 640356
10 FlutterMacOS 0x10303bfac 0x102fa0000 + 638892
11 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
12 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 4:: io.worker.1
0 libsystem_kernel.dylib 0x18f41050c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x18f4521d0 _pthread_cond_wait + 980
2 FlutterMacOS 0x102fea9b4 0x102fa0000 + 305588
3 FlutterMacOS 0x10302ecfc 0x102fa0000 + 584956
4 FlutterMacOS 0x10302f6b8 0x102fa0000 + 587448
5 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
6 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 5:: io.worker.2
0 libsystem_kernel.dylib 0x18f41050c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x18f4521d0 _pthread_cond_wait + 980
2 FlutterMacOS 0x102fea9b4 0x102fa0000 + 305588
3 FlutterMacOS 0x10302ecfc 0x102fa0000 + 584956
4 FlutterMacOS 0x10302f6b8 0x102fa0000 + 587448
5 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
6 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 6:: io.worker.3
0 libsystem_kernel.dylib 0x18f41050c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x18f4521d0 _pthread_cond_wait + 980
2 FlutterMacOS 0x102fea9b4 0x102fa0000 + 305588
3 FlutterMacOS 0x10302ecfc 0x102fa0000 + 584956
4 FlutterMacOS 0x10302f6b8 0x102fa0000 + 587448
5 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
6 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 7:: io.worker.4
0 libsystem_kernel.dylib 0x18f41050c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x18f4521d0 _pthread_cond_wait + 980
2 FlutterMacOS 0x102fea9b4 0x102fa0000 + 305588
3 FlutterMacOS 0x10302ecfc 0x102fa0000 + 584956
4 FlutterMacOS 0x10302f6b8 0x102fa0000 + 587448
5 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
6 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 8:: dart:io EventHandler
0 libsystem_kernel.dylib 0x18f412fcc kevent + 8
1 FlutterMacOS 0x1038bf10c 0x102fa0000 + 9564428
2 FlutterMacOS 0x1038e6a00 0x102fa0000 + 9726464
3 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
4 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 9:
Thread 10:: DartWorker
0 libsystem_kernel.dylib 0x18f41050c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x18f4521fc _pthread_cond_wait + 1024
2 FlutterMacOS 0x10394c87c 0x102fa0000 + 10143868
3 FlutterMacOS 0x10398f524 0x102fa0000 + 10417444
4 FlutterMacOS 0x103a39a4c 0x102fa0000 + 11115084
5 FlutterMacOS 0x103a39d4c 0x102fa0000 + 11115852
6 FlutterMacOS 0x103a14a70 0x102fa0000 + 10963568
7 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
8 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 11:
Thread 12:
Thread 13:: DartWorker
0 libsystem_kernel.dylib 0x18f41050c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x18f4521fc _pthread_cond_wait + 1024
2 FlutterMacOS 0x10394c87c 0x102fa0000 + 10143868
3 FlutterMacOS 0x103a39bcc 0x102fa0000 + 11115468
4 FlutterMacOS 0x103a39d4c 0x102fa0000 + 11115852
5 FlutterMacOS 0x103a14a70 0x102fa0000 + 10963568
6 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
7 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 14:: DartWorker
0 FlutterMacOS 0x103a16bc0 0x102fa0000 + 10972096
1 FlutterMacOS 0x103a4f9dc 0x102fa0000 + 11205084
2 FlutterMacOS 0x103a4f698 0x102fa0000 + 11204248
3 FlutterMacOS 0x103a39ad8 0x102fa0000 + 11115224
4 FlutterMacOS 0x103a39d4c 0x102fa0000 + 11115852
5 FlutterMacOS 0x103a14a70 0x102fa0000 + 10963568
6 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
7 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 15:: CVDisplayLink
0 libsystem_kernel.dylib 0x18f41050c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x18f4521fc _pthread_cond_wait + 1024
2 CoreVideo 0x19a49eba4 CVDisplayLink::waitUntil(unsigned long long) + 332
3 CoreVideo 0x19a49dc88 CVDisplayLink::runIOThread() + 452
4 libsystem_pthread.dylib 0x18f451d00 _pthread_start + 136
5 libsystem_pthread.dylib 0x18f44ccec thread_start + 8
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000007573843c00 x2: 0x000000016ef325c7 x3: 0x0000000000000001
x4: 0x0000000000000001 x5: 0x0000000000000400 x6: 0x0000007572ef0000 x7: 0xffffffffb00007ff
x8: 0xffffffffffffffff x9: 0xffffff8a8c7bc3ff x10: 0x0000000000000001 x11: 0x0000007573be8148
x12: 0x0000000000000018 x13: 0x0000007573a49170 x14: 0x0300000103d17d6f x15: 0x00000001f4fd48d0
x16: 0x00000001f4fd48d0 x17: 0x000000018efd5e48 x18: 0x0000000000000000 x19: 0x000000016ef325c7
x20: 0x0000007573843c00 x21: 0x0000000000000001 x22: 0x000000757372fc00 x23: 0x0000000000000001
x24: 0x0000000000000000 x25: 0x0000000000000000 x26: 0x0000000000000001 x27: 0x0000000000000001
x28: 0x00000075733c0820 fp: 0x000000016ef32590 lr: 0x0000000103ac0474
sp: 0x000000016ef324c0 pc: 0x0000000103ac0490 cpsr: 0x80000000
far: 0xffffffffffffffff esr: 0x92000004 (Data Abort) byte read Translation fault
Binary Images:
0x100ecc000 - 0x100f6bfff com.liamcottle.meshcore.macos (1.50.0) <a1a65e84-b233-3bef-b7c3-c842117a0b56> /Applications/MeshCore.app/Contents/MacOS/MeshCore
0x101098000 - 0x1010a3fff org.cocoapods.geolocator-apple (1.2.0) <2384ef1d-d6dc-3860-835d-1837b2f06ab5> /Applications/MeshCore.app/Contents/Frameworks/geolocator_apple.framework/Versions/A/geolocator_apple
0x1010bc000 - 0x1010c7fff org.cocoapods.libserialport-plus (0.0.1) <c7b430d8-405d-3e41-8096-c2e77e2bf97c> /Applications/MeshCore.app/Contents/Frameworks/libserialport_plus.framework/Versions/A/libserialport_plus
0x102fa0000 - 0x103cabfff io.flutter.flutter-macos (1.0) <4c4c4491-5555-3144-a13d-98496080a6b4> /Applications/MeshCore.app/Contents/Frameworks/FlutterMacOS.framework/Versions/A/FlutterMacOS
0x102c30000 - 0x102c3bfff libobjc-trampolines.dylib (*) <9ef9e491-f3d3-322c-918a-559d3b858d9a> /usr/lib/libobjc-trampolines.dylib
0x112054000 - 0x1131e3fff io.flutter.flutter.app (1.0) <b4485c2e-90e4-8cfc-38e6-cc8d0059d7c2> /Applications/MeshCore.app/Contents/Frameworks/App.framework/Versions/A/App
0x193a8f000 - 0x1950d150b com.apple.AppKit (6.9) <2688afbc-5c39-3132-bcf5-8d00d32d7615> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x18f491000 - 0x18f921e9f com.apple.CoreFoundation (6.9) <727e905e-f344-3823-8e13-e7a096388321> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x18f04a000 - 0x18f1096e3 dyld (*) <d341ddcb-7969-3a9c-8e03-0cf4751398a9> /usr/lib/dyld
0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
0x18efc8000 - 0x18f0175f7 libobjc.A.dylib (*) <c0680df6-9900-3c29-a071-95a031686ef8> /usr/lib/libobjc.A.dylib
0x18f40c000 - 0x18f44a9ab libsystem_kernel.dylib (*) <f63bf418-8f75-34a4-aaf1-8caf2b9b6a05> /usr/lib/system/libsystem_kernel.dylib
0x18f44b000 - 0x18f45791b libsystem_pthread.dylib (*) <5a1828c3-cbc2-3b85-bd07-c8ed10021a41> /usr/lib/system/libsystem_pthread.dylib
0x18f239000 - 0x18f28ec5f libsystem_malloc.dylib (*) <2339cb57-fe5a-3154-a206-a76059c749eb> /usr/lib/system/libsystem_malloc.dylib
0x19a49b000 - 0x19a53fbc3 com.apple.CoreVideo (1.8) <2dd9bdac-2339-34e3-b1d4-3c6680f85485> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=3.0G resident=0K(0%) swapped_out_or_unallocated=3.0G(100%)
Writable regions: Total=196.2M written=769K(0%) resident=769K(0%) swapped_out=0K(0%) unallocated=195.4M(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Accelerate Framework 128K 1
Activity Tracing 256K 1
AttributeGraph Data 1024K 1
ColorSync 16K 1
CoreAnimation 896K 54
CoreGraphics 48K 3
CoreUI Image Data 928K 7
Foundation 48K 2
Guard 385.0G 1
Image IO 992K 62
Malloc 78.6M 31
Malloc Guard Page 3760K 4
OS Alloc Once 48K 2
SQLite Page Cache 512K 4
Stack 21.1M 20
Stack Guard 56.2M 16
Untagged 92.9M 213
__AUTH 6631K 713
__AUTH_CONST 100.0M 1066
__CTF 824 1
__DATA 41.1M 1077
__DATA_CONST 37.3M 1076
__DATA_DIRTY 14.7M 951
__FONT_DATA 2352 1
__LINKEDIT 1.6G 7
__OBJC_RO 118.0M 1
__OBJC_RW 2735K 1
__TEXT 1.4G 1166
__TPRO_CONST 132K 4
mapped file 460.4M 36
page table in kernel 769K 1
shared memory 1440K 18
=========== ======= =======
TOTAL 389.0G 6542
Related, in case it is the same class of problem: #2921 (Mac client), #3177 (Android cursor). Engine detail of #1756 may be relevant as precedent.
Summary
The official macOS companion app (
com.liamcottle.meshcore.macos, the zip build from files.liamcottle.net, not the App Store build) exits abruptly withEXC_BAD_ACCESS (SIGSEGV). From the user's side it is a silent crash: the window disappears, there is no dialog, no Dart exception and no chance to save state.The crash report (1.50.0, build 78) shows the fault on the main thread while AppKit routes a mouse-moved event into the Flutter view — i.e. while the pointer is over the window and AppKit updates its tracking areas. Users describe it as "the app crashes when opening menus / clicking on UI elements", but the stack says the trigger is pointer movement over the window, not the click itself.
It reproduces on 1.50.0 (78); the reporter's own experience is that older builds are stable and the problem started around 1.47–1.48. The engine table below shows the bundled Flutter engine changed exactly at 1.48.0, which matches that boundary.
Environment
com.liamcottle.meshcore.macoshttps://files.liamcottle.net/MeshCore/v1.50.0/MeshCore-v1.50.0+78-b7528a7-macos.zip/Applications/MeshCore.app/Contents/MacOS/MeshCore(ARM-64 native, universal build)FlutterMacOS.frameworkuuid4c4c4491-5555-3144-a13d-98496080a6b4, Dart SDK 3.12.2 (built 2026-06-09)96B5CED2-4430-49DB-8244-43301C49CDF4Steps to reproduce
So far the reporter has not isolated a hover-only repro (whether it can crash without any click), so if that is useful I can try to narrow it down.
Crash signature
Report header:
Faulting thread — main thread, inside the mouse-moved routing path:
Registers at the fault (
faris the address being read,esrthe fault type):Evidence: the regression tracks the Flutter engine, not app features
The crash address falls inside
FlutterMacOS.framework(frames 0–3); AppKit only calls into it. Frames in the engine are unsymbolicated because the shipped app has no dSYM, which is why the report is framed around the engine binary identity.I compared the engine binary of every macOS release still on the download server by reading the
LC_UUIDout ofFlutterMacOS.framework/Versions/A/FlutterMacOS:FlutterMacOSuuid4c4c44d3-5555-3144-a1aa-3b916e4636434c4c44d3-5555-3144-a1aa-3b916e4636434c4c44d3-5555-3144-a1aa-3b916e4636434c4c44d3-5555-3144-a1aa-3b916e4636434c4c4491-5555-3144-a13d-98496080a6b44c4c4491-5555-3144-a13d-98496080a6b44c4c4491-5555-3144-a13d-98496080a6b4The uuid recorded in this crash report is
4c4c4491-5555-3144-a13d-98496080a6b4— i.e. the engine that first shipped in 1.48.0, unchanged through 1.50.0. The reporter (who has been rolling back to older builds to keep using the app) recalls the last known-good version as around 1.47.0, which lines up with the engine change point above. Note that rolling back to 1.48.0 or 1.49.0 does not change the engine, so it should not help; only< 1.48does.Reproduce the measurement with:
Workaround
Roll back to 1.47.0 (
https://files.liamcottle.net/MeshCore/v1.47.0/MeshCore-v1.47.0+74-b68551d-macos.zip, sha256ca73d3c1abd99dfe357010cd1fa753f64297e89a1b14d089fe345352e7735cd9) — that build carries the previous engine and does not crash for the reporter. Everything added in 1.48–1.50 is lost, of course.Suggested fix / ask
-[_NSTrackingAreaAKManager _updateActiveTrackingAreasForWindowLocation:modifierFlags:]→___collectTrackingAreasForTargetAndWinLoc_block_invoke; the app cannot fix this in Dart.flutter/flutterbug. I grepped open macOS issues for the tracking-area symbols and theengineCallbackOnPlatformMessagenil-handler crash (#193097) is not the same path, so I did not find this reported yet. Happy to file/attach the full.ipsupstream if you prefer to forward it instead.Appendix — full crash report
Redacted only for machine identifiers (
deviceIdentifierForVendor,crashReporterKey,bootSessionUUID); everything technically relevant is untouched. Full.ipsattached.MeshCore 1.50.0 (78) — macOS 27.0 (26A428) — translated crash report
Related, in case it is the same class of problem: #2921 (Mac client), #3177 (Android cursor). Engine detail of #1756 may be relevant as precedent.