aristocratos / btop

A monitor of resources
Apache License 2.0
20.88k stars 645 forks source link

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

Open cmyster opened 5 months ago

cmyster commented 5 months ago

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::declval<Mem::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_func<Mem::collect(bool)::$_0>::__execute[abi:ne180100]<>(std::__1::__tuple_indices<...>) /usr/include/c++/v1/future:1834:12
#3 0x56173acb276f in std::__1::__async_func<Mem::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_func<Mem::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_func<Mem::collect(bool)::$_0>>*>().*std::declval<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)()>()()) std::__1::__invoke[abi:ne180100]<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>*, void>(void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*&&)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::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_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::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_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::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_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>*, void>(void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*&&)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::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_func<Mem::collect(bool)::$_0>>(std::__1::__async_func<Mem::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):

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' is deprecated [-Wdeprecated-declarations] 215 | std::wstring_convert<std::codecvt_utf8> conv; | ^ /usr/include/c++/v1/codecvt:194:28: note: 'codecvt_utf8' 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>' is deprecated [-Wdeprecated-declarations] 215 | std::wstring_convert<std::codecvt_utf8> conv; | ^ /usr/include/c++/v1/locale:3114:28: note: 'wstring_convert<std::codecvt_utf8>' 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' is deprecated [-Wdeprecated-declarations] 245 | std::wstring_convert<std::codecvt_utf8> conv; | ^ /usr/include/c++/v1/codecvt:194:28: note: 'codecvt_utf8' 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>' is deprecated [-Wdeprecated-declarations] 245 | std::wstring_convert<std::codecvt_utf8> conv; | ^ /usr/include/c++/v1/locale:3114:28: note: 'wstring_convert<std::codecvt_utf8>' 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::declval<Mem::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_func<Mem::collect(bool)::$_0>::__execute[abi:ne180100]<>(std::__1::__tuple_indices<...>) /usr/include/c++/v1/future:1834:12
#3 0x555555afba7f in std::__1::__async_func<Mem::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_func<Mem::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_func<Mem::collect(bool)::$_0>>*>().*std::declval<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)()>()()) std::__1::__invoke[abi:ne180100]<void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>*, void>(void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*&&)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::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_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::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_delete<std::__1::__thread_struct>>, void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::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_func<Mem::collect(bool)::$_0>>::*)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>*, void>(void (std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::collect(bool)::$_0>>::*&&)(), std::__1::__async_assoc_state<std::__1::pair<Mem::disk_info, int>, std::__1::__async_func<Mem::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_func<Mem::collect(bool)::$_0>>(std::__1::__async_func<Mem::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 commented 4 months ago

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