MacOS M2 abort on startup
Author: jpopellCreated Jun 20, 2026Updated Sep 16, 2026
Labelsbug
Describe the bug
macOS Sonoma 14.8.3 arm64, abort on startup (attempt, immediate quit and [1] 50738 abort btop). If I hit 4 while it's drawing, it stays open, and then I can hit 4 again to toggle PROC back on, and it works; but obviously would much rather it just... work. (I don't use it often; per atuin, seems last was in April, and it worked fine then. Yesterday and today no.)
To Reproduce
It happens every time I run btop on above platform.
Expected behavior
Btop to open.
Info (please complete the following information):
- btop++ version: 1.4.7
- Binary: installed via Homebrew, it says compiled with llvm_clang++ (22.1.6)
- Architecture: arm64
- Platform: MacOS
- MacOS version: Sonoma 14.8.3
- Terminal used: Wezterm, but got the same issue in Terminal.app and Ghostty
- Font used: not sure but fastfetch says
.AppleSystemUIFont [System], Helvetica [User]
Additional context
Contents of ~/.local/state/btop.log:
===> btop++ v1.4.7
2026-06-20 (03:02:28) | INFO: Logger set to DEBUG
2026-06-20 (03:02:28) | DEBUG: Using locale C
2026-06-20 (03:02:28) | INFO: Running on /dev/ttys004
2026-06-20 (03:02:28) | DEBUG: TTY mode enabled: false
2026-06-20 (03:02:28) | DEBUG: get_sensors(): show_coretemp=true check_temp=true
2026-06-20 (03:02:28) | DEBUG: M1 sensors foundGDB Backtrace
╭─┐¹cpu┌────────────────────────────────────────────────────────────────────────────────────────────┐19:46:03┌/opt/homebrew/Cellar/llvm/22.1.6/bin/../include/c++/v1/deque:1577: libc++ Hardening assertion !empty() failed: deque::back called on an empty deque │
Process 49447 stopped │
* thread #5, stop reason = signal SIGABRT │
frame #0: 0x0000000187da25d0 libsystem_kernel.dylib`__pthread_kill + 8 │
libsystem_kernel.dylib`__pthread_kill: ╭─┐M2┌──────────────────────────────────────────────────────────╮│
-> 0x187da25d0 <+8>: b.lo 0x187da25f0 ; <+40> │ ││
0x187da25d4 <+12>: pacibsp │ ││
0x187da25d8 <+16>: stp x29, x30, [sp, #-0x10]! │ ││
0x187da25dc <+20>: mov x29, sp │ ││
(lldb) bt
* thread #5, stop reason = signal SIGABRT │ ││
* frame #0: 0x0000000187da25d0 libsystem_kernel.dylib`__pthread_kill + 8 │ ││
frame #1: 0x0000000187ddabc8 libsystem_pthread.dylib`pthread_kill + 288 ╰───────────────────────────────────────────────────────────────╯│
frame #2: 0x0000000187ce7a40 libsystem_c.dylib`abort + 180 │
frame #3: 0x0000000187d134e8 libc++.1.dylib`std::__1::__libcpp_verbose_abort(char const*, ...) + 92 │
frame #4: 0x0000000100049da8 btop`Cpu::draw(Cpu::cpu_info const&, std::__1::vector<Gpu::gpu_info, std::__1::allocator<Gpu::gpu_info>> const&, bool, bool) + 26892 │
frame #5: 0x0000000100006604 btop`___lldb_unnamed_symbol_100005fac + 1624 │
frame #6: 0x0000000187ddaf3c libsystem_pthread.dylib`_pthread_start + 136──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
(lldb) quit
Quitting LLDB will kill one or more processes. Do you really want to proceed: [Y/n] ySource: aristocratos/btop