Description
Mesh crashes during application quit instead of shutting down cleanly. macOS shows the system crash reporter after the app is closed.
Environment
- OS: macOS 26.5.1 (25F80)
- Architecture: Apple Silicon / ARM64
- Hardware: Mac16,8
- App version: 0.1.0
- Process:
mesh-console
Steps to Reproduce
- Launch Mesh.
- Quit the application.
- Observe the macOS crash reporter.
Expected Result
Mesh exits cleanly without showing a crash report.
Actual Result
Mesh terminates with a crash on quit.
Crash Details
- Exception Type:
EXC_CRASH (SIGABRT)
- Termination Reason:
Namespace SIGNAL, Code 6, Abort trap: 6
- Application Specific Information:
abort() called
- Crashed Thread: Main thread
Impact
The app appears unstable and may fail to clean up resources correctly during shutdown.
Notes
This likely points to shutdown/teardown logic, background task cleanup, or an assertion/fatal error triggered while closing the app.
Screenshot
Crash Log
Process: mesh-console [29805]
Path: /Applications/Mesh.app/Contents/MacOS/mesh-console
Identifier: cloud.meshllm.mesh-desktop
Version: 0.1.0 (0.1.0)
Code Type: ARM-64 (Native)
Hardware Model: Mac16,8
OS Version: macOS 26.5.1 (25F80)
Launch Time: 2026-07-03 15:09:18.1870 -0400
Crash Time: 2026-07-03 15:14:56.6038 -0400
Triggered by Thread: 0 main, Dispatch Queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Termination Reason: Namespace SIGNAL, Code 6, Abort trap: 6
Application Specific Information:
abort() called
Thread 0 Crashed:: main Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib __pthread_kill + 8
1 libsystem_pthread.dylib pthread_kill + 296
2 libsystem_c.dylib abort + 148
3 libggml-base.0.dylib ggml_abort + 160
4 libggml-metal.0.dylib ggml_metal_rsets_free + 152
5 libggml-metal.0.dylib ggml_metal_device_free + 24
6 libggml-metal.0.dylib std::__1::vector<std::__1::unique_ptr<ggml_metal_device, ggml_metal_device_deleter>, std::__1::allocator<std::__1::unique_ptr<ggml_metal_device, ggml_metal_device_deleter>>>::~vector[abi:ne190102]() + 72
7 libsystem_c.dylib __cxa_finalize_ranges + 416
8 libsystem_c.dylib exit + 44
9 AppKit -[NSApplication terminate:] + 2004
10 AppKit -[NSApplication(NSResponder) sendAction:to:from:] + 560
11 AppKit -[NSMenuItem _corePerformAction:] + 540
12 AppKit _NSMenuPerformActionWithHighlighting + 160
13 AppKit -[NSMenu _performKeyEquivalentForItemAtIndex:] + 172
14 AppKit -[NSMenu performKeyEquivalent:] + 356
15 AppKit routeKeyEquivalent + 444
16 AppKit -[NSApplication(NSEventRouting) sendEvent:] + 1844
17 mesh-console tao::platform_impl::platform::app::send_event + 1036
42 mesh-console tao::platform_impl::platform::event_loop::EventLoop<T>::run + 512
43 mesh-console <tauri_runtime_wry::Wry<T> as tauri_runtime::Runtime<T>>::run + 216
44 mesh-console mesh_console::main + 7108
Relevant background thread:
Thread 20:: Dispatch queue: com.apple.root.default-qos
0 libsystem_kernel.dylib __semwait_signal + 8
1 libsystem_c.dylib nanosleep + 220
2 libsystem_c.dylib usleep + 68
3 libggml-metal.0.dylib __ggml_metal_rsets_init_block_invoke + 100
4 libdispatch.dylib _dispatch_call_block_and_release + 32
5 libdispatch.dylib _dispatch_client_callout + 16
6 libdispatch.dylib _dispatch_root_queue_drain + 708
7 libdispatch.dylib _dispatch_worker_thread2 + 184
Relevant embedded runtime thread:
Thread 50:: tokio-rt-worker
0 libsystem_kernel.dylib __ulock_wait + 8
1 libsystem_pthread.dylib _pthread_join + 616
2 mesh-console std::sys::thread::unix::Thread::join + 24
3 mesh-console std::thread::lifecycle::JoinInner<T>::join + 32
4 mesh-console mesh_llm_host_runtime::sdk::join_embedded_runtime_thread_blocking + 40
5 mesh-console tokio::runtime::task::core::Core<T,C,S>::poll + 84
Relevant embedded API/status thread:
Thread 26:: mesh-llm-embedded-worker
0 mesh-console DYLD-STUB$$free + 0
1 mesh-console core::ptr::drop_in_place<model_resolver::catalog::CuratedMeta> + 44
2 mesh-console core::ptr::drop_in_place<model_resolver::catalog::CatalogVariant> + 84
3 mesh-console <hashbrown::raw::RawTable<T,A> as core::ops::drop::Drop>::drop + 96
4 mesh-console mesh_llm_host_runtime::models::remote_catalog::loaded_models + 312
5 mesh-console mesh_llm_host_runtime::models::remote_catalog::find_loaded_model_exact + 44
6 mesh-console mesh_llm_host_runtime::api::model_targets::build_model_target_lookup + 256
7 mesh-console MeshApi::model_target_lookup::{closure} + 1556
8 mesh-console MeshApi::status::{closure} + 9132
9 mesh-console mesh_llm_host_runtime::api::routes::runtime::handle_get::{closure} + 29804
10 mesh-console mesh_llm_host_runtime::api::routes::runtime::handle::{closure} + 624
11 mesh-console mesh_llm_host_runtime::api::routes::DISPATCH_REQUEST::{closure} + 20628
Loaded relevant libraries:
libggml-base.0.dylib
libggml-metal.0.dylib
libggml-metal.0.15.3.dylib
libggml-metal.dylib
libllama.0.dylib
libllama.0.0.9853.dylib
libllama.dylib
Machine:
Mac16,8
Apple M4 Pro
48 GB RAM
Graphics: Apple M4 Pro
Display: LG TV SSCR2, 3840 x 2160
Description
Mesh crashes during application quit instead of shutting down cleanly. macOS shows the system crash reporter after the app is closed.
Environment
mesh-consoleSteps to Reproduce
Expected Result
Mesh exits cleanly without showing a crash report.
Actual Result
Mesh terminates with a crash on quit.
Crash Details
EXC_CRASH (SIGABRT)Namespace SIGNAL, Code 6, Abort trap: 6abort() calledImpact
The app appears unstable and may fail to clean up resources correctly during shutdown.
Notes
This likely points to shutdown/teardown logic, background task cleanup, or an assertion/fatal error triggered while closing the app.
Screenshot
Crash Log