Skip to content

[BUG]: Client crashes on Macbook Neo #15

@pmjm

Description

@pmjm

Summary

Crashing on Llama 3.1 8B

Interface type

Graphical user interface (GUI)

Application version

1.5

Operating system

MacOS Tahoe 26.3.2

Hardware configuration

Macbook Neo 512GB

Steps to reproduce

Simply run the test. Seems to crash on GGML Metal backend, with SIGABRT / Abort trap: 6 and “abort() called.”

Here's the stack:
ggml_abort -> ggml_metal_synchronize -> ggml_backend_sched_synchronize -> llama_context::synchronize -> llama_get_logits_ith -> llama_sampler_sample
during LLMInference::Run

Expected behavior

Test should complete. Yes, this thing only has 8GB of unified memory but it should at least be able to load and swap ram/vram out to disk, even if it operates slowly.

Logs or screenshots

-------------------------------------
Translated Report (trimmed for developer submission)
-------------------------------------
Process:             MLPerf Client [14751]
Path:                /Volumes/VOLUME/*/MLPerf Client.app/Contents/MacOS/MLPerf Client
Identifier:          com.mlcommons.mlperf.client
Version:             1.5.0.8665cb1 (1.5.0.8665cb1)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.mlcommons.mlperf.client [2659]
User ID:             501

Date/Time:           2026-03-25 00:43:08.5170 -0700
Launch Time:         2026-03-24 23:34:30.6316 -0700
Hardware Model:      Mac17,5
OS Version:          macOS 26.3.2 (25D771400a)
Release Type:        User

Crash Reporter Key:  3E659861-9252-9478-CB13-0873E6454CA6
Incident Identifier: 4CAA8D07-7996-4481-966D-0E6888D474B2

System Integrity Protection: enabled

Triggered by Thread: 18

Exception Type:    EXC_CRASH (SIGABRT)
Exception Codes:   0x0000000000000000, 0x0000000000000000

Termination Reason:  Namespace SIGNAL, Code 6, Abort trap: 6
Terminating Process: MLPerf Client [14751]

Application Specific Information:
abort() called

Thread 0::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib               0x18ae18c34 mach_msg2_trap + 8
1   libsystem_kernel.dylib               0x18ae2b028 mach_msg2_internal + 76
2   libsystem_kernel.dylib               0x18ae2198c mach_msg_overwrite + 484
3   libsystem_kernel.dylib               0x18ae18fb4 mach_msg + 24
4   CoreFoundation                       0x18aefabb0 __CFRunLoopServiceMachPort + 160
5   CoreFoundation                       0x18aef9508 __CFRunLoopRun + 1188
6   CoreFoundation                       0x18afb3f3c _CFRunLoopRunSpecificWithOptions + 532
7   HIToolbox                            0x197a64790 RunCurrentEventLoopInMode + 316
8   HIToolbox                            0x197a67ab8 ReceiveNextEventCommon + 488
9   HIToolbox                            0x197bf1b64 _BlockUntilNextEventMatchingListInMode + 48
10  AppKit                               0x18f816014 _DPSBlockUntilNextEventMatchingListInMode + 236
11  AppKit                               0x18f313e48 _DPSNextEvent + 588
12  AppKit                               0x18fddaf08 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
13  AppKit                               0x18fddac14 -[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72
14  AppKit                               0x18f30c780 -[NSApplication run] + 368
15  libqcocoa.dylib                      0x1055d3adc 0x1055bc000 + 96988
16  QtCore                               0x1076dd884 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 596
17  QtCore                               0x1076d4078 QCoreApplication::exec() + 144
18  MLPerf Client                        0x1028cf744 main + 1348
19  dyld                                 0x18aa91d54 start + 7184

Thread 2:: QThread
0   libsystem_kernel.dylib               0x18ae1c2f4 __semwait_signal + 8
1   libsystem_c.dylib                    0x18acf4d6c nanosleep + 220
2   libc++.1.dylib                       0x18ad8e408 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>> const&) + 84
3   MLPerf Client                        0x10291a6c0 cil::BenchmarkRunner::ReportProgress(cil::ProgressTracker&, cil::TaskScheduler&) + 300
4   MLPerf Client                        0x102907d90 cil::BenchmargStage::Run(cil::ScenarioConfig const&, cil::ScenarioData&, std::__1::function<bool (cil::ProgressTracker&, cil::TaskScheduler&)> const&) + 9868
5   MLPerf Client                        0x10291ab7c cil::BenchmarkRunner::Run() + 448
6   MLPerf Client                        0x1028a616c gui::controllers::BenchmarkController::BenchmarkWorker(bool) + 1176
7   MLPerf Client                        0x1028aa330 0x102880000 + 172848
8   libc++.1.dylib                       0x18ad8cda8 std::__1::__assoc_sub_state::copy() + 56
9   libc++.1.dylib                       0x18ad8d148 std::__1::future<void>::get() + 32
10  QtCore                               0x10785a7b4 0x107640000 + 2205620
11  libsystem_pthread.dylib              0x18ae5bc08 _pthread_start + 136
12  libsystem_pthread.dylib              0x18ae56ba8 thread_start + 8

Thread 18 Crashed:
0   libsystem_kernel.dylib               0x18ae215b0 __pthread_kill + 8
1   libsystem_pthread.dylib              0x18ae5b888 pthread_kill + 296
2   libsystem_c.dylib                    0x18ad60850 abort + 124
3   libGGML_Metal.dylib                  0x119849c04 ggml_abort + 160
4   libGGML_Metal.dylib                  0x1197f6cc0 ggml_metal_synchronize + 208
5   libGGML_Metal.dylib                  0x11980d2d0 ggml_backend_sched_synchronize + 84
6   libGGML_Metal.dylib                  0x11969c510 llama_context::synchronize() + 24
7   libGGML_Metal.dylib                  0x1196a3464 llama_get_logits_ith + 24
8   libGGML_Metal.dylib                  0x119736e80 llama_sampler_sample + 56
9   libGGML_Metal.dylib                  0x11963f344 cil::IHV::infer::LLMInference::Run(std::__1::span<unsigned int const, 18446744073709551615ul>, std::__1::function<void (unsigned int)>) + 1192
10  libGGML_Metal.dylib                  0x11962be90 cil::IHV::LlamaCppHandler::Infer(API_IHV_Infer_t&) + 304
11  libGGML_Metal.dylib                  0x11962c67c API_IHV_Infer + 24
12  libIHV_GGML_EPs.dylib                0x11a3b6ab8 API_IHV_Infer + 48
13  MLPerf Client                        0x1028fe1e0 cil::API_Handler::Infer(API_IHV_IO_Data_t&) + 60
14  MLPerf Client                        0x102992354 cil::infer::LLMInference::Run(std::__1::span<unsigned int const, 18446744073709551615ul>) + 552
15  MLPerf Client                        0x10298c388 cil::infer::LLMExecutor::RunLLMTask(cil::EP, nlohmann::json_abi_v3_11_3::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_11_3::adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char>>, void> const&) + 4420
16  MLPerf Client                        0x10298ace4 cil::infer::LLMExecutor::Run() + 3280
17  MLPerf Client                        0x10290944c cil::BenchmargStage::BenchmarkTask(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, nlohmann::json_abi_v3_11_3::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_11_3::adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char>>, void> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, cil::ScenarioConfig const&, std::__1::shared_ptr<cil::infer::ExecutorBase>, bool&) + 592
18  MLPerf Client                        0x10290b04c 0x102880000 + 569420
19  MLPerf Client                        0x1029a2cf0 cil::TaskScheduler::ExecuteTasks() + 832
20  MLPerf Client                        0x1029a5480 0x102880000 + 1201280
21  libsystem_pthread.dylib              0x18ae5bc08 _pthread_start + 136
22  libsystem_pthread.dylib              0x18ae56ba8 thread_start + 8

Thread 18 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x00000001f87000d0   x5: 0x000072f300000003   x6: 0x000000000000002c   x7: 0x0000000000000000
    x8: 0x783e07501049f506   x9: 0x783e07517d20c506  x10: 0x0000000000000002  x11: 0x0000010000000000
   x12: 0x00000000fffffffd  x13: 0x0000000000000000  x14: 0x0000000000000000  x15: 0x0000000000000000
   x16: 0x0000000000000148  x17: 0x00000001f86e0fc0  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x000000000000b05b  x21: 0x000000016d6930e0  x22: 0x0000000000000000  x23: 0x0000000000000002
   x24: 0x000000079346bf40  x25: 0x000000016d691aa8  x26: 0x0000000000000165  x27: 0x0000000000000065
   x28: 0x0000000000000001   fp: 0x000000016d690f30   lr: 0x000000018ae5b888
    sp: 0x000000016d690f10   pc: 0x000000018ae215b0 cpsr: 0x40000000
   far: 0x0000000000000000  esr: 0x56000080 (Syscall)

Binary Images (trimmed to modules present on the crashed stack):
       0x102880000 -        0x104567fff com.mlcommons.mlperf.client (1.5.0.8665cb1) <c05769ab-b56b-30c4-8a73-79f7c5b72461> /Volumes/VOLUME/*/MLPerf Client.app/Contents/MacOS/MLPerf Client
       0x119624000 -        0x1198dffff libGGML_Metal.dylib (*) <a051cdac-4673-36af-b97d-b13c93cc0763> /private/var/folders/*/libGGML_Metal.dylib
       0x11a3b4000 -        0x11a3b7fff libIHV_GGML_EPs.dylib (*) <495411c8-e8e6-3b87-8e76-2c01418c99a1> /private/var/folders/*/libIHV_GGML_EPs.dylib
       0x18ace7000 -        0x18ad69047 libsystem_c.dylib (*) <eb569350-0696-3397-838e-0344948107c0> /usr/lib/system/libsystem_c.dylib
       0x18ae18000 -        0x18ae5449f libsystem_kernel.dylib (*) <78ec33a6-6330-3836-8900-eb90836936e8> /usr/lib/system/libsystem_kernel.dylib
       0x18ae55000 -        0x18ae61acb libsystem_pthread.dylib (*) <0596a7b6-bce2-3f06-a2e8-3eaab5371ed8> /usr/lib/system/libsystem_pthread.dylib

Contact information (optional)

No response

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions