Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] crashes before drawing starts with a certain configuration #854

Open
cmyster opened this issue May 15, 2024 · 1 comment
Open

[BUG] crashes before drawing starts with a certain configuration #854

cmyster opened this issue May 15, 2024 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@cmyster
Copy link

cmyster commented May 15, 2024

Read the README.md and search for similar issues before posting a bug report!

Any bug that can be solved by just reading the prerequisites section of the README will likely be ignored.

Describe the bug

[A clear and concise description of what the bug is.]

Program crashes as soon as it starts.
Use the specific configuration (below).
Reproduces for me every run, not in other people's setups, I added extra info...
I also tried to debug it a little and it looks like a threading issue, because when create a breakpoint on the exact line (below) and stepping into slowly it will pass that line and die in a different spot. Doing the same there will progress some a bit more but the first place of this crash is in src/linux/btop_collect.cpp:1924:41 I have all so added here the compilation log and extra data.

feel free to ask me for anything.

[Steps to reproduce the behavior:]

run btop with a specific configuration (default config does not trigger the crash).

[A clear and concise description of what you expected to happen.]

Screenshots

[If applicable, add screenshots to help explain your problem.]

This is the output with asan enabled. The program crashes before it started to draw anything:

==578540==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f22ffe09e00 at pc 0x56173acb2770 bp 0x7f22fb7ffb90 sp 0x7f22fb7ffb88
READ of size 1 at 0x7f22ffe09e00 thread T5
#0 0x56173acb276f in Mem::collect(bool)::$_0::operator()() const /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:1931:20
#1 0x56173acb276f in decltype(std::declvalMem::collect(bool)::$_0()()) std::__1::__invoke[abi:ne180100]Mem::collect(bool)::$_0(Mem::collect(bool)::$_0&&) /usr/include/c++/v1/__type_traits/invoke.h:344:25
#2 0x56173acb276f in std::__1::pair<Mem::disk_info, int> std::__1::__async_funcMem::collect(bool)::$_0::__execute[abi:ne180100]<>(std::__1::__tuple_indices<...>) /usr/include/c++/v1/future:1834:12
#3 0x56173acb276f in std::__1::__async_funcMem::collect(bool)::$_0::operator()abi:ne180100 /usr/include/c++/v1/future:1828:12
#4 0x56173acb1662 in std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::__execute() /usr/include/c++/v1/future:843:21
#5 0x56173acb2994 in decltype(std::declval<std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>>().std::declval<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)()>()()) std::__1::__invoke[abi:ne180100]<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>, void>(void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::&&)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>&&) /usr/include/c++/v1/__type_traits/invoke.h:312:25
#6 0x56173acb2994 in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>>&, std::__1::__tuple_indices<2ul>) /usr/include/c++/v1/__thread/thread.h:193:3
#7 0x56173acb2994 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>>>(void*) /usr/include/c++/v1/__thread/thread.h:202:3
#8 0x56173a98cd3c in asan_thread_start(void*) (/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/btop+0x176d3c)
#9 0x7f230189a903 (/usr/lib64/libc.so.6+0x7f903)
#10 0x7f230190f37b (/usr/lib64/libc.so.6+0xf437b)

Address 0x7f22ffe09e00 is located in stack of thread T0 at offset 3584 in frame
#0 0x56173ac4600f in Mem::collect(bool) /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:1654

This frame has 122 object(s):
[32, 40) 'ref.tmp.i.i6761'
[64, 96) 'ref.tmp.i6762'
[128, 160) 'ref.tmp1.i'
[192, 200) 'agg.tmp.i6177'
[224, 232) 'agg.tmp.i6167'
[256, 280) 'ref.tmp.i5696'
[320, 328) '__s.i5632'
[352, 376) 'ref.tmp.i5549'
[416, 424) '__s.i'
[448, 472) 'ref.tmp.i5383'
[512, 536) 'ref.tmp.i5102'
[576, 584) 'agg.tmp.i'
[608, 632) 'ref.tmp' (line 1655)
[672, 696) 'ref.tmp25' (line 1663)
[736, 744) 'arc_size' (line 1666)
[768, 776) 'arc_min_size' (line 1666)
[800, 1136) 'arcstats' (line 1668)
[1200, 1224) 'ref.tmp31' (line 1668)
[1264, 1288) 'ref.tmp32' (line 1668)
[1328, 1352) 'label' (line 1670)
[1392, 1728) 'meminfo' (line 1684)
[1792, 1816) 'ref.tmp74' (line 1684)
[1856, 1880) 'ref.tmp75' (line 1684)
[1920, 1944) 'label92' (line 1687)
[1984, 2008) 'ref.tmp111' (line 1689)
[2048, 2072) 'ref.tmp121' (line 1690)
[2112, 2136) 'ref.tmp132' (line 1693)
[2176, 2200) 'ref.tmp142' (line 1694)
[2240, 2264) 'ref.tmp154' (line 1698)
[2304, 2328) 'ref.tmp164' (line 1699)
[2368, 2392) 'ref.tmp180' (line 1703)
[2432, 2456) 'ref.tmp190' (line 1704)
[2496, 2520) 'ref.tmp202' (line 1707)
[2560, 2584) 'ref.tmp212' (line 1708)
[2624, 2648) 'ref.tmp235' (line 1713)
[2688, 2712) 'ref.tmp241' (line 1713)
[2752, 2776) 'ref.tmp247' (line 1713)
[2816, 2840) 'ref.tmp262' (line 1715)
[2880, 2904) 'ref.tmp273' (line 1718)
[2944, 2968) 'ref.tmp284' (line 1720)
[3008, 3032) 'ref.tmp291' (line 1720)
[3072, 3096) 'ref.tmp299' (line 1720)
[3136, 3160) 'ref.tmp308' (line 1720)
[3200, 3224) 'ref.tmp346' (line 1722)
[3264, 3288) 'ref.tmp356' (line 1722)
[3328, 3352) 'ref.tmp362' (line 1722)
[3392, 3416) 'ref.tmp369' (line 1722)
[3456, 3480) 'ref.tmp424' (line 1735)
[3520, 3544) 'ref.tmp465' (line 1737)
[3584, 3585) 'free_priv' (line 1749) <== Memory access at offset 3584 is inside this variable
[3600, 3936) 'diskread' (line 1758)
[4000, 4024) 'filter' (line 1760)
[4064, 4088) 'ref.tmp545' (line 1762)
[4128, 4129) 'ref.tmp546' (line 1762)
[4144, 4168) 'ref.tmp557' (line 1765)
[4208, 4232) 'fstypes' (line 1770)
[4272, 4344) 'ref.tmp575' (line 1772)
[4384, 4408) 'ref.tmp599' (line 1773)
[4448, 4472) 'ref.tmp600' (line 1773)
[4512, 4536) 'fstype' (line 1775)
[4576, 4600) 'ref.tmp655' (line 1787)
[4640, 4664) 'ref.tmp691' (line 1789)
[4704, 4728) 'instr' (line 1792)
[4768, 4792) 'ref.tmp747' (line 1811)
[4832, 4856) 'ref.tmp748' (line 1811)
[4896, 4920) 'ref.tmp757' (line 1811)
[4960, 4984) 'found' (line 1813)
[5024, 5048) 'dev' (line 1815)
[5088, 5112) 'mountpoint' (line 1815)
[5152, 5176) 'fstype795' (line 1815)
[5216, 5232) 'ec' (line 1817)
[5248, 5544) 'ref.tmp872' (line 1842)
[5616, 5640) 'ref.tmp874' (line 1842)
[5680, 5704) 'ref.tmp881' (line 1842)
[5744, 5768) 'ref.tmp925' (line 1847)
[5808, 5832) 'devname' (line 1848)
[5872, 5896) 'ref.tmp955' (line 1851)
[5936, 5960) 'ref.tmp957' (line 1851)
[6000, 6024) 'ref.tmp964' (line 1851)
[6064, 6088) 'ref.tmp966' (line 1851)
[6128, 6152) 'ref.tmp1011' (line 1852)
[6192, 6216) 'ref.tmp1015' (line 1852)
[6256, 6280) 'ref.tmp1017' (line 1852)
[6320, 6344) 'ref.tmp1019' (line 1852)
[6384, 6408) 'ref.tmp1027' (line 1852)
[6448, 6472) 'ref.tmp1141' (line 1853)
[6512, 6536) 'ref.tmp1142' (line 1853)
[6576, 6600) 'ref.tmp1143' (line 1853)
[6640, 6664) 'ref.tmp1148' (line 1853)
[6704, 6728) 'ref.tmp1180' (line 1855)
[6768, 6792) 'ref.tmp1198' (line 1859)
[6832, 6856) 'agg.tmp1215'
[6896, 6920) 'ref.tmp1249' (line 1873)
[6960, 6984) 'agg.tmp1265'
[7024, 7048) 'agg.tmp1444'
[7088, 7112) 'ref.tmp1445' (line 1913)
[7152, 7176) 'ref.tmp1446' (line 1913)
[7216, 7240) 'ref.tmp1447' (line 1913)
[7280, 7304) 'ref.tmp1452' (line 1913)
[7344, 7376) 'ref.tmp1507' (line 1924)
[7408, 7432) 'ref.tmp1533' (line 1945)
[7472, 7496) 'ref.tmp1561' (line 1949)
[7536, 7832) 'ref.tmp1571' (line 1949)
[7904, 7928) 'ref.tmp1595' (line 1949)
[7968, 7992) 'ref.tmp1607' (line 1950)
[8032, 8056) 'ref.tmp1613' (line 1950)
[8096, 8120) 'ref.tmp1624' (line 1951)
[8160, 8184) 'ref.tmp1630' (line 1951)
[8224, 8248) 'ref.tmp1641' (line 1952)
[8288, 8312) 'ref.tmp1647' (line 1952)
[8352, 8376) 'ref.tmp1658' (line 1953)
[8416, 8440) 'ref.tmp1666' (line 1953)
[8480, 8504) 'ref.tmp1677' (line 1954)
[8544, 8568) 'ref.tmp1685' (line 1954)
[8608, 8616) 'sectors_read' (line 1964)
[8640, 8648) 'sectors_write' (line 1964)
[8672, 8680) 'io_ticks' (line 1964)
[8704, 8712) 'io_ticks_temp' (line 1964)
[8736, 8760) 'agg.tmp2098'
[8800, 8824) 'ref.tmp2099' (line 2043)
[8864, 8888) 'agg.tmp2146'
[8928, 8952) 'ref.tmp2147' (line 2050)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions are supported)
SUMMARY: AddressSanitizer: stack-use-after-return /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:1931:20 in Mem::collect(bool)::$_0::operator()() const
Shadow bytes around the buggy address:
0x7f22ffe09b80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe09c00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe09c80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe09d00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe09d80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
=>0x7f22ffe09e00:[f5]f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe09e80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe09f00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe09f80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe0a000: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7f22ffe0a080: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Thread T5 created by T0 here:
#0 0x56173a9764f5 in pthread_create (/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/btop+0x1604f5)
#1 0x56173ac4f9cd in std::__1::__libcpp_thread_create[abi:ne180100](unsigned long*, void* ()(void), void*) /usr/include/c++/v1/__threading_support:317:10
#2 0x56173ac4f9cd in std::__1::thread::thread<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>, void>(void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::&&)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>&&) /usr/include/c++/v1/__thread/thread.h:212:14
#3 0x56173ac4f9cd in std::__1::future<std::__1::pair<Mem::disk_info, int>> std::__1::__make_async_assoc_state[abi:ne180100]<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>(std::__1::__async_funcMem::collect(bool)::$_0&&) /usr/include/c++/v1/future:1808:3
#4 0x56173ac4f9cd in std::__1::future<std::__1::__invoke_of<__decay(Mem::collect(bool)::$_0)>::type> std::__1::async[abi:ne180100]Mem::collect(bool)::$_0(std::__1::launch, Mem::collect(bool)::$_0&&) /usr/include/c++/v1/future:1853:14
#5 0x56173ac4f9cd in Mem::collect(bool) /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:1924:41
#6 0x56173ac2e1ba in Shared::init() /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:294:3
#7 0x56173a9ec638 in main /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop.cpp:1031:3
#8 0x7f230183f97a (/usr/lib64/libc.so.6+0x2497a)

==578540==ABORTING

Info (please complete the following information):

  • btop++ version: btop --version
    btop version: 1.3.2

    • If using snap: snap info btop
  • Binary: [self compiled or static binary from release]
    'self'

  • Architecture: [x86_64, aarch64, etc.] uname -m
    x86_64

  • Platform: [Linux, FreeBSD, OsX]
    Linux

  • (Linux) Kernel: uname -r
    6.8.9

  • (OSX/FreeBSD) Os release version:

  • Terminal used:
    kitty 0.34.1

  • Font used:
    font_family JetBrainsMono Nerd Font Mono
    font_size 16.0

Additional context

Contents of ~/.config/btop/btop.log
2024/05/15 (12:55:13) | ===> btop++ v.1.3.2
2024/05/15 (12:55:13) | INFO: Logger set to DEBUG
2024/05/15 (12:55:13) | DEBUG: Setting LC_ALL=en_US.UTF-8
2024/05/15 (12:55:13) | INFO: Running on /dev/pts/6
2024/05/15 (12:55:18) | INFO: Failed to load librocm_smi64.so, AMD GPUs will not be detected: librocm_smi64.so.6: cannot open shared object file: No such file or directory
2024/05/15 (12:55:18) | DEBUG: Shared::init() : Initialized.
2024/05/15 (12:55:18) | DEBUG: Loading theme file: /usr/share/btop/themes/ayu.theme <-- ends here

Note: The snap uses: ~/snap/btop/current/.config/btop

Compilation Log

cmake -C /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DBTOP_GPU=true -DBTOP_RSMI_STATIC=false -DBTOP_FORTIFY=false -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/gentoo_toolchain.cmake /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2
loading initial cache file /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/gentoo_common_config.cmake
-- The CXX compiler identification is Clang 18.1.5
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/llvm/18/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for C++ include ranges
-- Looking for C++ include ranges - found
-- Performing Test HAS_FSTACK_PROTECTOR
-- Performing Test HAS_FSTACK_PROTECTOR - Success
-- Performing Test HAS_FCF_PROTECTION
-- Performing Test HAS_FCF_PROTECTION - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- <<< Gentoo configuration >>>
Build type RelWithDebInfo
Install path /usr
Compiler flags:
C
C++ -O0 -g -pipe -ggdb3 -fsanitize=address
Linker flags:
Executable -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--as-needed -fsanitize=address
Module -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--as-needed -fsanitize=address
Shared -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--as-needed -fsanitize=address

-- Configuring done (1.5s)
-- Generating done (0.0s)
-- Build files have been written to: /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build

Source configured.
Compiling source in /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2 ...

  • Source directory (CMAKE_USE_DIR): "/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2"
  • Build directory (BUILD_DIR): "/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build"
    ninja -v -j22 -l22
    [1/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/btop_theme.cpp.o -MF CMakeFiles/btop.dir/src/btop_theme.cpp.o.d -o CMakeFiles/btop.dir/src/btop_theme.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_theme.cpp
    [2/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/btop_input.cpp.o -MF CMakeFiles/btop.dir/src/btop_input.cpp.o.d -o CMakeFiles/btop.dir/src/btop_input.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_input.cpp
    [3/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/btop_tools.cpp.o -MF CMakeFiles/btop.dir/src/btop_tools.cpp.o.d -o CMakeFiles/btop.dir/src/btop_tools.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_tools.cpp
    /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_tools.cpp:215:30: warning: 'codecvt_utf8<wchar_t>' is deprecated [-Wdeprecated-declarations]
    215 | std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
    | ^
    /usr/include/c++/v1/codecvt:194:28: note: 'codecvt_utf8<wchar_t>' has been explicitly marked deprecated here
    194 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 codecvt_utf8 : public __codecvt_utf8<_Elem> {
    | ^
    /usr/include/c++/v1/__config:1001:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
    1001 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
    | ^
    /usr/include/c++/v1/__config:974:49: note: expanded from macro '_LIBCPP_DEPRECATED'
    974 | # define _LIBCPP_DEPRECATED attribute((deprecated))
    | ^
    /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_tools.cpp:215:9: warning: 'wstring_convert<std::codecvt_utf8<wchar_t>>' is deprecated [-Wdeprecated-declarations]
    215 | std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
    | ^
    /usr/include/c++/v1/locale:3114:28: note: 'wstring_convert<std::codecvt_utf8<wchar_t>>' has been explicitly marked deprecated here
    3114 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert {
    | ^
    /usr/include/c++/v1/__config:1001:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
    1001 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
    | ^
    /usr/include/c++/v1/__config:974:49: note: expanded from macro '_LIBCPP_DEPRECATED'
    974 | # define _LIBCPP_DEPRECATED attribute((deprecated))
    | ^
    /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_tools.cpp:245:31: warning: 'codecvt_utf8<wchar_t>' is deprecated [-Wdeprecated-declarations]
    245 | std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
    | ^
    /usr/include/c++/v1/codecvt:194:28: note: 'codecvt_utf8<wchar_t>' has been explicitly marked deprecated here
    194 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 codecvt_utf8 : public __codecvt_utf8<_Elem> {
    | ^
    /usr/include/c++/v1/__config:1001:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
    1001 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
    | ^
    /usr/include/c++/v1/__config:974:49: note: expanded from macro '_LIBCPP_DEPRECATED'
    974 | # define _LIBCPP_DEPRECATED attribute((deprecated))
    | ^
    /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_tools.cpp:245:10: warning: 'wstring_convert<std::codecvt_utf8<wchar_t>>' is deprecated [-Wdeprecated-declarations]
    245 | std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
    | ^
    /usr/include/c++/v1/locale:3114:28: note: 'wstring_convert<std::codecvt_utf8<wchar_t>>' has been explicitly marked deprecated here
    3114 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert {
    | ^
    /usr/include/c++/v1/__config:1001:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
    1001 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
    | ^
    /usr/include/c++/v1/__config:974:49: note: expanded from macro '_LIBCPP_DEPRECATED'
    974 | # define _LIBCPP_DEPRECATED attribute((deprecated))
    | ^
    4 warnings generated.
    [4/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/btop_shared.cpp.o -MF CMakeFiles/btop.dir/src/btop_shared.cpp.o.d -o CMakeFiles/btop.dir/src/btop_shared.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_shared.cpp
    [5/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/btop_config.cpp.o -MF CMakeFiles/btop.dir/src/btop_config.cpp.o.d -o CMakeFiles/btop.dir/src/btop_config.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_config.cpp
    [6/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/btop_menu.cpp.o -MF CMakeFiles/btop.dir/src/btop_menu.cpp.o.d -o CMakeFiles/btop.dir/src/btop_menu.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_menu.cpp
    [7/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/btop.cpp.o -MF CMakeFiles/btop.dir/src/btop.cpp.o.d -o CMakeFiles/btop.dir/src/btop.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop.cpp
    [8/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/btop_draw.cpp.o -MF CMakeFiles/btop.dir/src/btop_draw.cpp.o.d -o CMakeFiles/btop.dir/src/btop_draw.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop_draw.cpp
    [9/10] /usr/lib/llvm/18/bin/clang++ -DFMT_HEADER_ONLY -DGPU_SUPPORT -D_FILE_OFFSET_BITS=64 -isystem /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/include -O0 -g -pipe -ggdb3 -fsanitize=address -std=c++20 -flto=thin -fcolor-diagnostics -Wall -Wextra -Wpedantic -ftree-vectorize -fstack-clash-protection -fstack-protector -fcf-protection -MD -MT CMakeFiles/btop.dir/src/linux/btop_collect.cpp.o -MF CMakeFiles/btop.dir/src/linux/btop_collect.cpp.o.d -o CMakeFiles/btop.dir/src/linux/btop_collect.cpp.o -c /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp
    [10/10] : && /usr/lib/llvm/18/bin/clang++ -O0 -g -pipe -ggdb3 -fsanitize=address -flto=thin -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--as-needed -fsanitize=address CMakeFiles/btop.dir/src/btop.cpp.o CMakeFiles/btop.dir/src/btop_config.cpp.o CMakeFiles/btop.dir/src/btop_draw.cpp.o CMakeFiles/btop.dir/src/btop_input.cpp.o CMakeFiles/btop.dir/src/btop_menu.cpp.o CMakeFiles/btop.dir/src/btop_shared.cpp.o CMakeFiles/btop.dir/src/btop_theme.cpp.o CMakeFiles/btop.dir/src/btop_tools.cpp.o CMakeFiles/btop.dir/src/linux/btop_collect.cpp.o -o btop && :

Source compiled.

Backtrace

(lldb) target create "btop"
Current executable set to '/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/btop' (x86_64).
(lldb) command source -s 0 'lldb.s'
Executing commands in '/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/lldb.s'.
(lldb) run

==608433==ERROR: AddressSanitizer: stack-use-after-return on address 0x7ffff6209c80 at pc 0x555555afc112 bp 0x7ffff2fffad0 sp 0x7ffff2fffac8
READ of size 1 at 0x7ffff6209c80 thread T4
#0 0x555555afc111 in Mem::collect(bool)::$_0::operator()() const /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:1931:20
#1 0x555555afbe5f in decltype(std::declvalMem::collect(bool)::$_0()()) std::__1::__invoke[abi:ne180100]Mem::collect(bool)::$_0(Mem::collect(bool)::$_0&&) /usr/include/c++/v1/__type_traits/invoke.h:344:25
#2 0x555555afbe27 in std::__1::pair<Mem::disk_info, int> std::__1::__async_funcMem::collect(bool)::$_0::__execute[abi:ne180100]<>(std::__1::__tuple_indices<...>) /usr/include/c++/v1/future:1834:12
#3 0x555555afba7f in std::__1::__async_funcMem::collect(bool)::$_0::operator()abi:ne180100 /usr/include/c++/v1/future:1828:12
#4 0x555555afb28f in std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::__execute() /usr/include/c++/v1/future:843:21
#5 0x555555afcc73 in decltype(std::declval<std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>>().std::declval<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)()>()()) std::__1::__invoke[abi:ne180100]<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>, void>(void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::&&)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>&&) /usr/include/c++/v1/__type_traits/invoke.h:312:25
#6 0x555555afcbdc in void std::__1::__thread_execute[abi:ne180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>>&, std::__1::__tuple_indices<2ul>) /usr/include/c++/v1/__thread/thread.h:193:3
#7 0x555555afc833 in void* std::__1::__thread_proxy[abi:ne180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>>>(void*) /usr/include/c++/v1/__thread/thread.h:202:3
#8 0x55555575b78c in asan_thread_start(void*) (/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/btop+0x20778c)
#9 0x7ffff7c25903 (/usr/lib64/libc.so.6+0x7f903)
#10 0x7ffff7c9a37b (/usr/lib64/libc.so.6+0xf437b)

Address 0x7ffff6209c80 is located in stack of thread T0 at offset 3200 in frame
#0 0x555555a7427f in Mem::collect(bool) /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:1654

This frame has 171 object(s):
[32, 56) 'ref.tmp' (line 1655)
[96, 112) 'agg.tmp'
[128, 144) 'agg.tmp15'
[160, 176) 'agg.tmp18'
[192, 208) 'agg.tmp21'
[224, 248) 'ref.tmp25' (line 1663)
[288, 296) 'arc_size' (line 1666)
[320, 328) 'arc_min_size' (line 1666)
[352, 688) 'arcstats' (line 1668)
[752, 776) 'ref.tmp31' (line 1668)
[816, 840) 'ref.tmp32' (line 1668)
[880, 904) 'label' (line 1670)
[944, 1280) 'meminfo' (line 1684)
[1344, 1368) 'ref.tmp74' (line 1684)
[1408, 1432) 'ref.tmp75' (line 1684)
[1472, 1496) 'label92' (line 1687)
[1536, 1560) 'ref.tmp111' (line 1689)
[1600, 1624) 'ref.tmp121' (line 1690)
[1664, 1688) 'ref.tmp132' (line 1693)
[1728, 1752) 'ref.tmp142' (line 1694)
[1792, 1816) 'ref.tmp154' (line 1698)
[1856, 1880) 'ref.tmp164' (line 1699)
[1920, 1944) 'ref.tmp180' (line 1703)
[1984, 2008) 'ref.tmp190' (line 1704)
[2048, 2072) 'ref.tmp202' (line 1707)
[2112, 2136) 'ref.tmp212' (line 1708)
[2176, 2200) 'ref.tmp235' (line 1713)
[2240, 2264) 'ref.tmp241' (line 1713)
[2304, 2328) 'ref.tmp247' (line 1713)
[2368, 2392) 'ref.tmp262' (line 1715)
[2432, 2456) 'ref.tmp273' (line 1718)
[2496, 2520) 'ref.tmp284' (line 1720)
[2560, 2584) 'ref.tmp291' (line 1720)
[2624, 2648) 'ref.tmp299' (line 1720)
[2688, 2712) 'ref.tmp308' (line 1720)
[2752, 2776) 'ref.tmp346' (line 1722)
[2816, 2840) 'ref.tmp356' (line 1722)
[2880, 2904) 'ref.tmp362' (line 1722)
[2944, 2968) 'ref.tmp369' (line 1722)
[3008, 3016) 'ref.tmp398' (line 1731)
[3040, 3064) 'ref.tmp424' (line 1735)
[3104, 3112) 'ref.tmp459' (line 1737)
[3136, 3160) 'ref.tmp465' (line 1737)
[3200, 3201) 'free_priv' (line 1749) <== Memory access at offset 3200 is inside this variable
[3216, 3232) 'agg.tmp507'
[3248, 3264) 'agg.tmp513'
[3280, 3296) 'agg.tmp518'
[3312, 3328) 'agg.tmp524'
[3344, 3360) 'agg.tmp530'
[3376, 3712) 'diskread' (line 1758)
[3776, 3800) 'filter' (line 1760)
[3840, 3864) 'ref.tmp545' (line 1762)
[3904, 3905) 'ref.tmp546' (line 1762)
[3920, 3944) 'ref.tmp557' (line 1765)
[3984, 4008) 'fstypes' (line 1770)
[4048, 4120) 'ref.tmp575' (line 1772)
[4160, 4184) 'ref.tmp599' (line 1773)
[4224, 4248) 'ref.tmp600' (line 1773)
[4288, 4312) 'fstype' (line 1775)
[4352, 4368) 'ref.tmp653' (line 1787)
[4384, 4408) 'ref.tmp655' (line 1787)
[4448, 4472) 'ref.tmp691' (line 1789)
[4512, 4536) 'instr' (line 1792)
[4576, 4600) 'ref.tmp747' (line 1811)
[4640, 4664) 'ref.tmp748' (line 1811)
[4704, 4728) 'ref.tmp757' (line 1811)
[4768, 4792) 'found' (line 1813)
[4832, 4856) 'dev' (line 1815)
[4896, 4920) 'mountpoint' (line 1815)
[4960, 4984) 'fstype795' (line 1815)
[5024, 5040) 'ec' (line 1817)
[5056, 5352) 'ref.tmp872' (line 1842)
[5424, 5448) 'ref.tmp874' (line 1842)
[5488, 5512) 'ref.tmp880' (line 1842)
[5552, 5576) 'ref.tmp881' (line 1842)
[5616, 5640) 'ref.tmp925' (line 1847)
[5680, 5704) 'devname' (line 1848)
[5744, 5768) 'ref.tmp941' (line 1848)
[5808, 5832) 'ref.tmp955' (line 1851)
[5872, 5896) 'ref.tmp956' (line 1851)
[5936, 5960) 'ref.tmp957' (line 1851)
[6000, 6024) 'ref.tmp964' (line 1851)
[6064, 6088) 'ref.tmp966' (line 1851)
[6128, 6152) 'ref.tmp1011' (line 1852)
[6192, 6216) 'ref.tmp1013' (line 1852)
[6256, 6280) 'ref.tmp1015' (line 1852)
[6320, 6344) 'ref.tmp1017' (line 1852)
[6384, 6408) 'ref.tmp1019' (line 1852)
[6448, 6472) 'ref.tmp1027' (line 1852)
[6512, 6536) 'ref.tmp1029' (line 1852)
[6576, 6600) 'ref.tmp1140' (line 1853)
[6640, 6664) 'ref.tmp1141' (line 1853)
[6704, 6728) 'ref.tmp1142' (line 1853)
[6768, 6792) 'ref.tmp1143' (line 1853)
[6832, 6856) 'ref.tmp1148' (line 1853)
[6896, 6920) 'ref.tmp1149' (line 1853)
[6960, 6984) 'ref.tmp1179' (line 1855)
[7024, 7048) 'ref.tmp1180' (line 1855)
[7088, 7112) 'ref.tmp1198' (line 1859)
[7152, 7176) 'agg.tmp1215'
[7216, 7240) 'ref.tmp1249' (line 1873)
[7280, 7304) 'agg.tmp1265'
[7344, 7368) 'ref.tmp1284' (line 1882)
[7408, 7416) 'it' (line 1883)
[7440, 7448) 'ref.tmp1296' (line 1883)
[7472, 7480) 'it1353' (line 1897)
[7504, 7512) 'ref.tmp1358' (line 1897)
[7536, 7544) 'promises_it' (line 1903)
[7568, 7576) 'ref.tmp1398' (line 1903)
[7600, 7608) 'ref.tmp1413' (line 1905)
[7632, 7936) 'promise_res' (line 1910)
[8000, 8024) 'agg.tmp1444'
[8064, 8088) 'ref.tmp1445' (line 1913)
[8128, 8152) 'ref.tmp1446' (line 1913)
[8192, 8216) 'ref.tmp1447' (line 1913)
[8256, 8280) 'ref.tmp1452' (line 1913)
[8320, 8328) 'ref.tmp1506' (line 1924)
[8352, 8384) 'ref.tmp1507' (line 1924)
[8416, 8440) 'ref.tmp1533' (line 1945)
[8480, 8504) 'ref.tmp1542' (line 1945)
[8544, 8568) 'ref.tmp1554' (line 1948)
[8608, 8632) 'ref.tmp1561' (line 1949)
[8672, 8968) 'ref.tmp1571' (line 1949)
[9040, 9064) 'ref.tmp1595' (line 1949)
[9104, 9128) 'ref.tmp1607' (line 1950)
[9168, 9192) 'ref.tmp1613' (line 1950)
[9232, 9256) 'ref.tmp1624' (line 1951)
[9296, 9320) 'ref.tmp1630' (line 1951)
[9360, 9384) 'ref.tmp1641' (line 1952)
[9424, 9448) 'ref.tmp1647' (line 1952)
[9488, 9512) 'ref.tmp1658' (line 1953)
[9552, 9576) 'ref.tmp1666' (line 1953)
[9616, 9640) 'ref.tmp1677' (line 1954)
[9680, 9704) 'ref.tmp1685' (line 1954)
[9744, 9752) '__begin3' (line 1956)
[9776, 9784) '__end3' (line 1956)
[9808, 9816) 'sectors_read' (line 1964)
[9840, 9848) 'sectors_write' (line 1964)
[9872, 9880) 'io_ticks' (line 1964)
[9904, 9912) 'io_ticks_temp' (line 1964)
[9936, 9944) '__begin31724' (line 1966)
[9968, 9976) '__end31728' (line 1966)
[10000, 10008) 'ref.tmp1805' (line 1987)
[10032, 10040) 'ref.tmp1811' (line 1989)
[10064, 10072) 'ref.tmp1812' (line 1989)
[10096, 10104) 'ref.tmp1813' (line 1989)
[10128, 10136) 'ref.tmp1853' (line 2002)
[10160, 10168) 'ref.tmp1859' (line 2004)
[10192, 10200) 'ref.tmp1860' (line 2004)
[10224, 10232) 'ref.tmp1861' (line 2004)
[10256, 10264) 'ref.tmp1890' (line 2009)
[10288, 10296) 'ref.tmp1896' (line 2011)
[10320, 10328) 'ref.tmp1897' (line 2011)
[10352, 10360) 'ref.tmp1898' (line 2011)
[10384, 10392) 'ref.tmp1945' (line 2018)
[10416, 10424) 'ref.tmp1951' (line 2020)
[10448, 10456) 'ref.tmp1952' (line 2020)
[10480, 10488) 'ref.tmp1953' (line 2020)
[10512, 10520) 'ref.tmp2000' (line 2027)
[10544, 10552) 'ref.tmp2006' (line 2029)
[10576, 10584) 'ref.tmp2007' (line 2029)
[10608, 10616) 'ref.tmp2008' (line 2029)
[10640, 10648) 'ref.tmp2055' (line 2036)
[10672, 10680) 'ref.tmp2061' (line 2038)
[10704, 10712) 'ref.tmp2062' (line 2038)
[10736, 10744) 'ref.tmp2073' (line 2038)
[10768, 10776) 'ref.tmp2074' (line 2038)
[10800, 10824) 'agg.tmp2098'
[10864, 10888) 'ref.tmp2099' (line 2043)
[10928, 10952) 'agg.tmp2146'
[10992, 11016) 'ref.tmp2147' (line 2050)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions are supported)
SUMMARY: AddressSanitizer: stack-use-after-return /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:1931:20 in Mem::collect(bool)::$_0::operator()() const
Shadow bytes around the buggy address:
0x7ffff6209a00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209a80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209b00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209b80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209c00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
=>0x7ffff6209c80:[f5]f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209d00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209d80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209e00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209e80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
0x7ffff6209f00: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Thread T4 created by T0 here:
#0 0x555555744f45 in pthread_create (/var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2_build/btop+0x1f0f45)
#1 0x555555aed566 in std::__1::__libcpp_thread_create[abi:ne180100](unsigned long*, void* ()(void), void*) /usr/include/c++/v1/__threading_support:317:10
#2 0x555555afadc7 in std::__1::thread::thread<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>, void>(void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>::&&)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>&&) /usr/include/c++/v1/__thread/thread.h:212:14
#3 0x555555afa589 in std::__1::future<std::__1::pair<Mem::disk_info, int>> std::__1::__make_async_assoc_state[abi:ne180100]<std::__1::pair<Mem::disk_info, int>, std::__1::__async_funcMem::collect(bool)::$_0>(std::__1::__async_funcMem::collect(bool)::$_0&&) /usr/include/c++/v1/future:1808:3
#4 0x555555a96d9a in std::__1::future<std::__1::__invoke_of<__decay(Mem::collect(bool)::$_0)>::type> std::__1::async[abi:ne180100]Mem::collect(bool)::$_0(std::__1::launch, Mem::collect(bool)::$_0&&) /usr/include/c++/v1/future:1853:14
#5 0x555555a7afc8 in Mem::collect(bool) /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:1924:41
#6 0x555555a65a4c in Shared::init() /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/linux/btop_collect.cpp:294:3
#7 0x5555557b875a in main /var/tmp/portage/sys-process/btop-1.3.2/work/btop-1.3.2/src/btop.cpp:1031:3
#8 0x7ffff7bca97a (/usr/lib64/libc.so.6+0x2497a)

==608433==ABORTING

some more outputs

#####################

clang++ --version

#####################
clang version 18.1.5+libcxx
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/18/bin
Configuration file: /etc/clang/x86_64-pc-linux-gnu-clang++.cfg

#############

mount

#############

/dev/nvme0n1p2 on / type ext4 (rw,noatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=16374320k,nr_inodes=4093580,mode=755)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=6550368k,nr_inodes=819200,mode=755)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=8130)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,nosuid,nodev,relatime,pagesize=2M)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,nr_inodes=1048576)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,relatime,size=16384k,mode=755)
/dev/sdb1 on /home type ext4 (rw,relatime)
/dev/sda1 on /home/storage type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=3275184k,nr_inodes=818796,mode=700,uid=1000,gid=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)

##########

free

##########

           total        used        free      shared  buff/cache   available

Mem: 32751840 6215112 18359084 631292 9273424 26536728
Swap: 0 0 0

#############

lscpu

#############

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Vendor ID: AuthenticAMD
BIOS Vendor ID: Advanced Micro Devices, Inc.
Model name: AMD Ryzen 9 5900X 12-Core Processor
BIOS Model name: AMD Ryzen 9 5900X 12-Core Processor Unknown CPU @ 4.2GHz
BIOS CPU family: 107
CPU family: 25
Model: 33
Thread(s) per core: 2
Core(s) per socket: 12
Socket(s): 1
Stepping: 2
Frequency boost: disabled
CPU(s) scaling MHz: 75%
CPU max MHz: 5619.1401
CPU min MHz: 2200.0000
BogoMIPS: 8399.75
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm debug_swap
Virtualization: AMD-V
L1d cache: 384 KiB (12 instances)
L1i cache: 384 KiB (12 instances)
L2 cache: 6 MiB (12 instances)
L3 cache: 64 MiB (2 instances)
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Vulnerable
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
Vulnerability Spectre v2: Vulnerable; IBPB: disabled; STIBP: disabled; PBRSB-eIBRS: Not affected; BHI: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected

###########

lscpi

###########

00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:05.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 61)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 7
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961/SM963
02:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] X370 Series Chipset USB 3.1 xHCI Controller (rev 02)
02:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] X370 Series Chipset SATA Controller (rev 02)
02:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] X370 Series Chipset PCIe Upstream Port (rev 02)
03:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
03:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
03:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
03:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
03:06.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
03:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)
06:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
07:00.0 USB controller: ASMedia Technology Inc. ASM1143 USB 3.1 Host Controller
08:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
0a:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
0a:00.1 Audio device: NVIDIA Corporation GP106 High Definition Audio Controller (rev a1)
0b:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function
0c:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
0c:00.1 Encryption controller: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP
0c:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
0c:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller

###############

btop.conf

###############

#? Config file for btop v. 1.3.2

color_theme = "/usr/share/btop/themes/ayu.theme"
theme_background = False
truecolor = True
force_tty = False
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
vim_keys = False
rounded_corners = True
graph_symbol = "braille"
graph_symbol_cpu = "braille"
graph_symbol_gpu = "braille"
graph_symbol_mem = "braille"
graph_symbol_net = "braille"
graph_symbol_proc = "braille"
shown_boxes = "cpu mem net proc gpu0"
update_ms = 500
proc_sorting = "pid"
proc_reversed = True
proc_tree = True
proc_colors = True
proc_gradient = True
proc_per_core = True
proc_mem_bytes = True
proc_cpu_graphs = True
proc_info_smaps = False
proc_left = True
proc_filter_kernel = True
proc_aggregate = True
cpu_graph_upper = "total"
cpu_graph_lower = "total"
show_gpu_info = "On"
cpu_invert_lower = True
cpu_single_graph = False
cpu_bottom = True
show_uptime = True
check_temp = True
cpu_sensor = "Auto"
show_coretemp = True
cpu_core_map = ""
temp_scale = "celsius"
base_10_sizes = False
show_cpu_freq = True
clock_format = "%X"
background_update = True
custom_cpu_name = ""
disks_filter = ""
mem_graphs = True
mem_below_net = True
zfs_arc_cached = True
show_swap = False
swap_disk = True
show_disks = True
only_physical = True
use_fstab = True
zfs_hide_datasets = False
disk_free_priv = True
show_io_stat = True
io_mode = True
io_graph_combined = True
io_graph_speeds = ""
net_download = 100
net_upload = 100
net_auto = True
net_sync = True
net_iface = ""
show_battery = True
selected_battery = "Auto"
show_battery_watts = True
log_level = "DEBUG"
nvml_measure_pcie_speeds = True
gpu_mirror_graph = True
custom_gpu_name0 = ""
custom_gpu_name1 = ""
custom_gpu_name2 = ""
custom_gpu_name3 = ""
custom_gpu_name4 = ""
custom_gpu_name5 = ""

@cmyster cmyster added the bug Something isn't working label May 15, 2024
@cmyster
Copy link
Author

cmyster commented Jun 13, 2024

so, with nvidia I was able to press 5 to get a gpu view as well. I since switched to AMD and not sure if limitation on btop's side or something else, but I don't have that view. now the bug will not reproduce so I assume we can focus on an issue when btop draws gpu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants