btop: [BUG] Ryzen 7000 Perplexing Error (FreeBSD 13/14 / Windows 11)

Describe the bug

Running btop++ either on FreeBSD 13 or 14, along with testing on Windows 11, results in immediate crash of btop++ A rather cryptic:

2023/09/22 (17:51:49) | ===> btop++ v.1.2.13
2023/09/22 (17:51:49) | ERROR: Exception in Shared::init() -> key not found

…is returned. Crucially, this occurs exactly the same on both FreeBSD & Windows, which would seem to suggest there is something up with how btop++ detects this hardware.

To Reproduce

Build from git repo source for FreeBSD, run ./btop Installed from available btop4win releases for Windows 11. With or without ~/.config/btop present.

Expected behavior

Sexy top stats, instead, no love.

Screenshots

N/A no useful graphical output

Info (please complete the following information):

  • btop++ version: As output indicates above ^^^
  • Binary: locally compiled from source (FreeBSD) / installed from releases (Windows 11)
  • Compiler and version: Tested both gmake/gcc12 & cmake (FreeBSD 13/14)
  • Architecture: AMD64 Ryzen 7700 (non-X) & 7950X3D, Gigabyte B650 (DDR5-5600) & Asus X670E (DDR5-6400) motherboards tested, crucially, any combination of CPU, RAM & mobo leads to exactly the same ERROR: Exception in Shared::init() -> key not found
  • Platform: FreeBSD 13/14 & Windows 11
  • Kernel: FreeBSD: GENERIC / Windows 11: whatever the hell they call it.
  • FreeBSD -STABLE (& formerly -CURRENT, 14 is -STABLE now)
  • Terminal used: Any – either on console or X11 terminal, Windows 11 PowerShell
  • Font used: Terminus/Terminess, Meslo, Noto, Hack, ShureTech, FiraCode (probably any font…)

Running btop++ with --debug or with gdb offers no additional information, other than the previously mentioned ERROR: Exception in Shared::init() -> key not found (which isn’t very helpful at all…)

Running btop++ on any of my other boxes, be that a retiring Intel X299 or Ryzen 5950X build-box, works as expected & have been running for ages now, without issue. Whatever this bug may be, it seems to be a Ryzen 7000 thing. For what it is worth, bpytop runs fine on all boxes, regardless of Ryzen generation.

About this issue

  • Original URL
  • State: open
  • Created 9 months ago
  • Comments: 42 (16 by maintainers)

Most upvoted comments

PR #696 merged which fixes the crashes. But leaving the issue open since the cause of the issue isn’t fixed yet.

@zenofile Pushed some changes to improve safety for map erase in Proc::draw. Test if it still crashes.