public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
@ 2024-01-18  9:21 vries at gcc dot gnu.org
  2024-01-18  9:52 ` [Bug gdb/31260] " vries at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-18  9:21 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

            Bug ID: 31260
           Summary: [gdb] ThreadSanitizer: data race
                    /usr/include/c++/13/optional:286 in
                    std::_Optional_payload_base<std::unique_ptr<dwz_file,
                    std::default_delete<dwz_file> > >::_M_destroy()
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

When building gdb with O0 fsanitize=thread, and running test-case
gdb.base/add-symbol-file-attach.exp, I get two threadsanitizer warnings:
...
(gdb) PASS: gdb.base/add-symbol-file-attach.exp: add-symbol-file before attach
attach 523063
Attaching to process 523063
Load new symbol table from
"/home/vries/gdb/build/gdb/testsuite/outputs/gdb.base/add-symbol-file-attach/add-symbol-file-attach"?
(y or n) y
Reading symbols from
/home/vries/gdb/build/gdb/testsuite/outputs/gdb.base/add-symbol-file-attach/add-symbol-file-attach...
==================
[1m[31mWARNING: ThreadSanitizer: data race (pid=523068)
[1m[0m[1m[34m  Write of size 1 at 0xfffff041edf8 by main thread:
[1m[0m    #0 std::_Optional_payload_base<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> > >::_M_destroy()
/usr/include/c++/13/optional:286 (gdb+0x81709c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #1 std::_Optional_payload_base<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> > >::_M_reset() /usr/include/c++/13/optional:318
(gdb+0x816c38) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #2 std::_Optional_base_impl<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >, std::_Optional_base<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >, false, false> >::_M_reset()
/usr/include/c++/13/optional:468 (gdb+0x8166ec) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #3 std::enable_if<is_constructible_v<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >, decltype(nullptr)>, std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >&>::type std::optional<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >
>::emplace<decltype(nullptr)>(decltype(nullptr)&&)
/usr/include/c++/13/optional:917 (gdb+0x816144) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #4 dwarf2_read_dwz_file(dwarf2_per_objfile*)
/home/vries/gdb/src/gdb/dwarf2/dwz.c:192 (gdb+0x81536c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #5 dwarf2_initialize_objfile(objfile*, dwarf2_debug_sections const*, bool)
/home/vries/gdb/src/gdb/dwarf2/read.c:3215 (gdb+0x898b6c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #6 elf_symfile_read_dwarf2 /home/vries/gdb/src/gdb/elfread.c:1201
(gdb+0x92f8c4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #7 elf_symfile_read /home/vries/gdb/src/gdb/elfread.c:1313 (gdb+0x92fc1c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #8 read_symbols /home/vries/gdb/src/gdb/symfile.c:772 (gdb+0xf474f4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #9 syms_from_objfile_1 /home/vries/gdb/src/gdb/symfile.c:964 (gdb+0xf47c84)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #10 syms_from_objfile /home/vries/gdb/src/gdb/symfile.c:981 (gdb+0xf47d58)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #11 symbol_file_add_with_addrs /home/vries/gdb/src/gdb/symfile.c:1084
(gdb+0xf4822c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #12 symbol_file_add_from_bfd(gdb::ref_ptr<bfd, gdb_bfd_ref_policy> const&,
char const*, enum_flags<symfile_add_flag>, std::vector<other_sections,
std::allocator<other_sections> >*, enum_flags<objfile_flag>, objfile*)
/home/vries/gdb/src/gdb/symfile.c:1158 (gdb+0xf485a8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #13 symbol_file_add(char const*, enum_flags<symfile_add_flag>,
std::vector<other_sections, std::allocator<other_sections> >*,
enum_flags<objfile_flag>) /home/vries/gdb/src/gdb/symfile.c:1171 (gdb+0xf48634)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #14 symbol_file_add_main_1 /home/vries/gdb/src/gdb/symfile.c:1195
(gdb+0xf48748) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #15 symbol_file_add_main(char const*, enum_flags<symfile_add_flag>)
/home/vries/gdb/src/gdb/symfile.c:1186 (gdb+0xf486c4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #16 try_open_exec_file(char const*, inferior*,
enum_flags<symfile_add_flag>) /home/vries/gdb/src/gdb/exec.c:200 (gdb+0x945ebc)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #17 exec_file_locate_attach(int, int, int)
/home/vries/gdb/src/gdb/exec.c:344 (gdb+0x9466f8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #18 setup_inferior(int) /home/vries/gdb/src/gdb/infcmd.c:2522
(gdb+0xa7d47c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #19 attach_post_wait /home/vries/gdb/src/gdb/infcmd.c:2561 (gdb+0xa7d534)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #20 operator() /home/vries/gdb/src/gdb/infcmd.c:2736 (gdb+0xa7d800)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #21 __invoke_impl<void, attach_command(char const*, int)::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0xa80ac0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #22 __invoke_r<void, attach_command(char const*, int)::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0xa80438) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #23 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0xa7fed8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #24 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #25 inferior::do_all_continuations() /home/vries/gdb/src/gdb/inferior.c:200
(gdb+0xa8395c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #26 inferior_event_handler(inferior_event_type)
/home/vries/gdb/src/gdb/inf-loop.c:58 (gdb+0xa6a7dc) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #27 fetch_inferior_event() /home/vries/gdb/src/gdb/infrun.c:4716
(gdb+0xa9b1d0) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #28 inferior_event_handler(inferior_event_type)
/home/vries/gdb/src/gdb/inf-loop.c:42 (gdb+0xa6a734) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #29 handle_target_event /home/vries/gdb/src/gdb/linux-nat.c:4357
(gdb+0xb0cb4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #30 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #31 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #32 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:217
(gdb+0x1cf3ee8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #33 start_event_loop /home/vries/gdb/src/gdb/main.c:408 (gdb+0xb79354)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #34 captured_command_loop /home/vries/gdb/src/gdb/main.c:472 (gdb+0xb79584)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #35 captured_main /home/vries/gdb/src/gdb/main.c:1342 (gdb+0xb7b99c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #36 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #37 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)

[1m[34m  Previous read of size 1 at 0xfffff041edf8 by thread T4:
[1m[0m    #0 std::_Optional_base_impl<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >, std::_Optional_base<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >, false, false> >::_M_is_engaged() const <null>
(gdb+0x816a08) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #1 std::optional<std::unique_ptr<dwz_file, std::default_delete<dwz_file> >
>::has_value() const /usr/include/c++/13/optional:988 (gdb+0x816514) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #2 dwarf2_get_dwz_file(dwarf2_per_bfd*, bool)
/home/vries/gdb/src/gdb/dwarf2/dwz.c:287 (gdb+0x815b98) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #3 create_all_units(dwarf2_per_objfile*)
/home/vries/gdb/src/gdb/dwarf2/read.c:5188 (gdb+0x89fda8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #4 cooked_index_worker::do_reading()
/home/vries/gdb/src/gdb/dwarf2/read.c:4925 (gdb+0x89ec44) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #5 cooked_index_worker::start_reading()
/home/vries/gdb/src/gdb/dwarf2/read.c:4911 (gdb+0x89ea8c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #6 operator() /home/vries/gdb/src/gdb/dwarf2/read.c:4849 (gdb+0x89e4f0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #7 __invoke_impl<void, cooked_index_worker::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x8deb58) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #8 __invoke_r<void, cooked_index_worker::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0x8ddb60) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #9 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x8dada0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #10 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #11 void std::__invoke_impl<void, std::function<void
()>&>(std::__invoke_other, std::function<void ()>&)
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x810db4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #12 std::enable_if<is_invocable_r_v<void, std::function<void ()>&>,
void>::type std::__invoke_r<void, std::function<void ()>&>(std::function<void
()>&) /usr/include/c++/13/bits/invoke.h:111 (gdb+0x810ad4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #13 std::__future_base::_Task_state<std::function<void ()>,
std::allocator<int>, void ()>::_M_run()::{lambda()#1}::operator()() const
/usr/include/c++/13/future:1491 (gdb+0x8107a0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #14
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>::operator()() const
/usr/include/c++/13/future:1432 (gdb+0x811998) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #15 std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>
std::__invoke_impl<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>&>(std::__invoke_other,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>&) /usr/include/c++/13/bits/invoke.h:61
(gdb+0x811734) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #16
std::enable_if<is_invocable_r_v<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>&>,
std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> >::type
std::__invoke_r<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1},
void>&>(std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>&) /usr/include/c++/13/bits/invoke.h:116
(gdb+0x811284) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #17
std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> (),
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void> >::_M_invoke(std::_Any_data const&)
/usr/include/c++/13/bits/std_function.h:291 (gdb+0x810eb8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #18 std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x7fd404) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #19
std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*)
/usr/include/c++/13/future:589 (gdb+0x7fb8c0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #20 void std::__invoke_impl<void, void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*,
bool*>(std::__invoke_memfun_deref, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)
/usr/include/c++/13/bits/invoke.h:74 (gdb+0x802ff8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #21 std::__invoke_result<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>::type
std::__invoke<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)
/usr/include/c++/13/bits/invoke.h:96 (gdb+0x7fff6c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #22 std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&,
bool*&&)::{lambda()#1}::operator()() const <null> (gdb+0x7fcf64) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #23
std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&,
bool*&&)::{lambda()#1}>(void
(std::__future_base::_State_baseV2::*&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*,
bool*))::{lambda()#1}::operator()() const /usr/include/c++/13/mutex:836
(gdb+0x7fffe8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #24
std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&,
bool*&&)::{lambda()#1}>(void
(std::__future_base::_State_baseV2::*&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*))::{lambda()#1}::_FUN()
/usr/include/c++/13/mutex:836 (gdb+0x800034) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #25 pthread_once <null> (libtsan.so.2+0x66d3c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
    #26 __gthread_once
/usr/include/c++/13/aarch64-redhat-linux/bits/gthr-default.h:700 (gdb+0x7faef0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #27 void std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) <null>
(gdb+0x7fd02c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #28
std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>, bool)
/usr/include/c++/13/future:428 (gdb+0x7fb4f8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #29 std::__future_base::_Task_state<std::function<void ()>,
std::allocator<int>, void ()>::_M_run() /usr/include/c++/13/future:1494
(gdb+0x810834) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #30 std::packaged_task<void ()>::operator()()
/usr/include/c++/13/future:1628 (gdb+0x1d0f4a0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #31 gdb::thread_pool::thread_function()
/home/vries/gdb/src/gdbsupport/thread-pool.cc:246 (gdb+0x1d0e820) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #32 void std::__invoke_impl<void, void (gdb::thread_pool::*)(),
gdb::thread_pool*>(std::__invoke_memfun_deref, void (gdb::thread_pool::*&&)(),
gdb::thread_pool*&&) /usr/include/c++/13/bits/invoke.h:74 (gdb+0x1d12968)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #33 std::__invoke_result<void (gdb::thread_pool::*)(),
gdb::thread_pool*>::type std::__invoke<void (gdb::thread_pool::*)(),
gdb::thread_pool*>(void (gdb::thread_pool::*&&)(), gdb::thread_pool*&&)
/usr/include/c++/13/bits/invoke.h:96 (gdb+0x1d12804) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #34 void std::thread::_Invoker<std::tuple<void (gdb::thread_pool::*)(),
gdb::thread_pool*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>)
/usr/include/c++/13/bits/std_thread.h:292 (gdb+0x1d126e4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #35 std::thread::_Invoker<std::tuple<void (gdb::thread_pool::*)(),
gdb::thread_pool*> >::operator()() /usr/include/c++/13/bits/std_thread.h:299
(gdb+0x1d1266c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #36 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void
(gdb::thread_pool::*)(), gdb::thread_pool*> > >::_M_run()
/usr/include/c++/13/bits/std_thread.h:244 (gdb+0x1d12618) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #37 execute_native_thread_routine <null> (libstdc++.so.6+0xdda9c) (BuildId:
93e3778007c3847dd08373eb42577dc85c8750e4)

[1m[32m  Location is heap block of size 1144 at 0xfffff041ea00 allocated by
main thread:
[1m[0m    #0 operator new(unsigned long) <null> (libtsan.so.2+0x901f8)
(BuildId: fe872cc4563474b7ad67d63a019aa94e1e0df888)
    #1 dwarf2_has_info /home/vries/gdb/src/gdb/dwarf2/read.c:1390
(gdb+0x891fac) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #2 dwarf2_initialize_objfile(objfile*, dwarf2_debug_sections const*, bool)
/home/vries/gdb/src/gdb/dwarf2/read.c:3203 (gdb+0x898ae4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #3 elf_symfile_read_dwarf2 /home/vries/gdb/src/gdb/elfread.c:1201
(gdb+0x92f8c4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #4 elf_symfile_read /home/vries/gdb/src/gdb/elfread.c:1313 (gdb+0x92fc1c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #5 read_symbols /home/vries/gdb/src/gdb/symfile.c:772 (gdb+0xf474f4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #6 syms_from_objfile_1 /home/vries/gdb/src/gdb/symfile.c:964 (gdb+0xf47c84)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #7 syms_from_objfile /home/vries/gdb/src/gdb/symfile.c:981 (gdb+0xf47d58)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #8 symbol_file_add_with_addrs /home/vries/gdb/src/gdb/symfile.c:1084
(gdb+0xf4822c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #9 symbol_file_add_from_bfd(gdb::ref_ptr<bfd, gdb_bfd_ref_policy> const&,
char const*, enum_flags<symfile_add_flag>, std::vector<other_sections,
std::allocator<other_sections> >*, enum_flags<objfile_flag>, objfile*)
/home/vries/gdb/src/gdb/symfile.c:1158 (gdb+0xf485a8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #10 symbol_file_add(char const*, enum_flags<symfile_add_flag>,
std::vector<other_sections, std::allocator<other_sections> >*,
enum_flags<objfile_flag>) /home/vries/gdb/src/gdb/symfile.c:1171 (gdb+0xf48634)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #11 add_symbol_file_command /home/vries/gdb/src/gdb/symfile.c:2372
(gdb+0xf4bde8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #12 do_simple_func /home/vries/gdb/src/gdb/cli/cli-decode.c:95
(gdb+0x6e444c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #13 cmd_func(cmd_list_element*, char const*, int)
/home/vries/gdb/src/gdb/cli/cli-decode.c:2735 (gdb+0x6ebb88) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #14 execute_command(char const*, int) /home/vries/gdb/src/gdb/top.c:575
(gdb+0xff748c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #15 command_handler(char const*) /home/vries/gdb/src/gdb/event-top.c:566
(gdb+0x942488) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #16 command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char>
>&&) /home/vries/gdb/src/gdb/event-top.c:802 (gdb+0x942bc0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #17 tui_command_line_handler /home/vries/gdb/src/gdb/tui/tui-interp.c:104
(gdb+0x10365f8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #18 gdb_rl_callback_handler /home/vries/gdb/src/gdb/event-top.c:259
(gdb+0x941884) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #19 rl_callback_read_char
/home/vries/gdb/src/readline/readline/callback.c:290 (gdb+0x11a2c7c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #20 gdb_rl_callback_read_char_wrapper_noexcept
/home/vries/gdb/src/gdb/event-top.c:195 (gdb+0x9415f8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #21 gdb_rl_callback_read_char_wrapper
/home/vries/gdb/src/gdb/event-top.c:234 (gdb+0x941720) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #22 stdin_event_handler /home/vries/gdb/src/gdb/ui.c:155 (gdb+0x1079320)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #23 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #24 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #25 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:264
(gdb+0x1cf4074) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #26 start_event_loop /home/vries/gdb/src/gdb/main.c:408 (gdb+0xb79354)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #27 captured_command_loop /home/vries/gdb/src/gdb/main.c:472 (gdb+0xb79584)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #28 captured_main /home/vries/gdb/src/gdb/main.c:1342 (gdb+0xb7b99c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #29 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #30 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)

[1m[36m  Thread T4 'gdb worker' (tid=523078, running) created by main thread
at:
[1m[0m    #0 pthread_create <null> (libtsan.so.2+0x4605c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State,
std::default_delete<std::thread::_State> >, void (*)()) <null>
(libstdc++.so.6+0xddbe4) (BuildId: 93e3778007c3847dd08373eb42577dc85c8750e4)
    #2 gdb::thread_pool::set_thread_count(unsigned long)
/home/vries/gdb/src/gdbsupport/thread-pool.cc:169 (gdb+0x1d0e4b4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #3 update_thread_pool_size() /home/vries/gdb/src/gdb/maint.c:866
(gdb+0xb87c70) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #4 captured_main_1 /home/vries/gdb/src/gdb/main.c:1062 (gdb+0xb7a8a4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #5 captured_main /home/vries/gdb/src/gdb/main.c:1332 (gdb+0xb7b998)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #6 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #7 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/13/optional:286 in
std::_Optional_payload_base<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> > >::_M_destroy()
==================
==================
[1m[31mWARNING: ThreadSanitizer: data race (pid=523068)
[1m[0m[1m[34m  Write of size 8 at 0xfffff041edf0 by main thread:
[1m[0m    #0 std::unique_ptr<dwz_file, std::default_delete<dwz_file>
>::~unique_ptr() /usr/include/c++/13/bits/unique_ptr.h:405 (gdb+0x816304)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #1 std::_Optional_payload_base<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> > >::_M_destroy()
/usr/include/c++/13/optional:287 (gdb+0x8170ac) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #2 std::_Optional_payload_base<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> > >::_M_reset() /usr/include/c++/13/optional:318
(gdb+0x816c38) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #3 std::_Optional_base_impl<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >, std::_Optional_base<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >, false, false> >::_M_reset()
/usr/include/c++/13/optional:468 (gdb+0x8166ec) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #4 std::enable_if<is_constructible_v<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >, decltype(nullptr)>, std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >&>::type std::optional<std::unique_ptr<dwz_file,
std::default_delete<dwz_file> >
>::emplace<decltype(nullptr)>(decltype(nullptr)&&)
/usr/include/c++/13/optional:917 (gdb+0x816144) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #5 dwarf2_read_dwz_file(dwarf2_per_objfile*)
/home/vries/gdb/src/gdb/dwarf2/dwz.c:192 (gdb+0x81536c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #6 dwarf2_initialize_objfile(objfile*, dwarf2_debug_sections const*, bool)
/home/vries/gdb/src/gdb/dwarf2/read.c:3215 (gdb+0x898b6c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #7 elf_symfile_read_dwarf2 /home/vries/gdb/src/gdb/elfread.c:1201
(gdb+0x92f8c4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #8 elf_symfile_read /home/vries/gdb/src/gdb/elfread.c:1313 (gdb+0x92fc1c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #9 read_symbols /home/vries/gdb/src/gdb/symfile.c:772 (gdb+0xf474f4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #10 syms_from_objfile_1 /home/vries/gdb/src/gdb/symfile.c:964
(gdb+0xf47c84) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #11 syms_from_objfile /home/vries/gdb/src/gdb/symfile.c:981 (gdb+0xf47d58)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #12 symbol_file_add_with_addrs /home/vries/gdb/src/gdb/symfile.c:1084
(gdb+0xf4822c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #13 symbol_file_add_from_bfd(gdb::ref_ptr<bfd, gdb_bfd_ref_policy> const&,
char const*, enum_flags<symfile_add_flag>, std::vector<other_sections,
std::allocator<other_sections> >*, enum_flags<objfile_flag>, objfile*)
/home/vries/gdb/src/gdb/symfile.c:1158 (gdb+0xf485a8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #14 symbol_file_add(char const*, enum_flags<symfile_add_flag>,
std::vector<other_sections, std::allocator<other_sections> >*,
enum_flags<objfile_flag>) /home/vries/gdb/src/gdb/symfile.c:1171 (gdb+0xf48634)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #15 symbol_file_add_main_1 /home/vries/gdb/src/gdb/symfile.c:1195
(gdb+0xf48748) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #16 symbol_file_add_main(char const*, enum_flags<symfile_add_flag>)
/home/vries/gdb/src/gdb/symfile.c:1186 (gdb+0xf486c4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #17 try_open_exec_file(char const*, inferior*,
enum_flags<symfile_add_flag>) /home/vries/gdb/src/gdb/exec.c:200 (gdb+0x945ebc)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #18 exec_file_locate_attach(int, int, int)
/home/vries/gdb/src/gdb/exec.c:344 (gdb+0x9466f8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #19 setup_inferior(int) /home/vries/gdb/src/gdb/infcmd.c:2522
(gdb+0xa7d47c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #20 attach_post_wait /home/vries/gdb/src/gdb/infcmd.c:2561 (gdb+0xa7d534)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #21 operator() /home/vries/gdb/src/gdb/infcmd.c:2736 (gdb+0xa7d800)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #22 __invoke_impl<void, attach_command(char const*, int)::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0xa80ac0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #23 __invoke_r<void, attach_command(char const*, int)::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0xa80438) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #24 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0xa7fed8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #25 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #26 inferior::do_all_continuations() /home/vries/gdb/src/gdb/inferior.c:200
(gdb+0xa8395c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #27 inferior_event_handler(inferior_event_type)
/home/vries/gdb/src/gdb/inf-loop.c:58 (gdb+0xa6a7dc) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #28 fetch_inferior_event() /home/vries/gdb/src/gdb/infrun.c:4716
(gdb+0xa9b1d0) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #29 inferior_event_handler(inferior_event_type)
/home/vries/gdb/src/gdb/inf-loop.c:42 (gdb+0xa6a734) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #30 handle_target_event /home/vries/gdb/src/gdb/linux-nat.c:4357
(gdb+0xb0cb4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #31 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #32 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #33 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:217
(gdb+0x1cf3ee8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #34 start_event_loop /home/vries/gdb/src/gdb/main.c:408 (gdb+0xb79354)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #35 captured_command_loop /home/vries/gdb/src/gdb/main.c:472 (gdb+0xb79584)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #36 captured_main /home/vries/gdb/src/gdb/main.c:1342 (gdb+0xb7b99c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #37 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #38 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)

[1m[34m  Previous read of size 8 at 0xfffff041edf0 by thread T4:
[1m[0m    #0 std::__uniq_ptr_impl<dwz_file, std::default_delete<dwz_file>
>::_M_ptr() const <null> (gdb+0x8169c0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #1 std::unique_ptr<dwz_file, std::default_delete<dwz_file> >::get() const
/usr/include/c++/13/bits/unique_ptr.h:470 (gdb+0x816394) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #2 dwarf2_get_dwz_file(dwarf2_per_bfd*, bool)
/home/vries/gdb/src/gdb/dwarf2/dwz.c:289 (gdb+0x815bb8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #3 create_all_units(dwarf2_per_objfile*)
/home/vries/gdb/src/gdb/dwarf2/read.c:5188 (gdb+0x89fda8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #4 cooked_index_worker::do_reading()
/home/vries/gdb/src/gdb/dwarf2/read.c:4925 (gdb+0x89ec44) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #5 cooked_index_worker::start_reading()
/home/vries/gdb/src/gdb/dwarf2/read.c:4911 (gdb+0x89ea8c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #6 operator() /home/vries/gdb/src/gdb/dwarf2/read.c:4849 (gdb+0x89e4f0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #7 __invoke_impl<void, cooked_index_worker::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x8deb58) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #8 __invoke_r<void, cooked_index_worker::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0x8ddb60) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #9 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x8dada0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #10 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #11 void std::__invoke_impl<void, std::function<void
()>&>(std::__invoke_other, std::function<void ()>&)
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x810db4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #12 std::enable_if<is_invocable_r_v<void, std::function<void ()>&>,
void>::type std::__invoke_r<void, std::function<void ()>&>(std::function<void
()>&) /usr/include/c++/13/bits/invoke.h:111 (gdb+0x810ad4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #13 std::__future_base::_Task_state<std::function<void ()>,
std::allocator<int>, void ()>::_M_run()::{lambda()#1}::operator()() const
/usr/include/c++/13/future:1491 (gdb+0x8107a0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #14
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>::operator()() const
/usr/include/c++/13/future:1432 (gdb+0x811998) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #15 std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>
std::__invoke_impl<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>&>(std::__invoke_other,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>&) /usr/include/c++/13/bits/invoke.h:61
(gdb+0x811734) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #16
std::enable_if<is_invocable_r_v<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>&>,
std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> >::type
std::__invoke_r<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1},
void>&>(std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void>&) /usr/include/c++/13/bits/invoke.h:116
(gdb+0x811284) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #17
std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> (),
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run()::{lambda()#1}, void> >::_M_invoke(std::_Any_data const&)
/usr/include/c++/13/bits/std_function.h:291 (gdb+0x810eb8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #18 std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x7fd404) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #19
std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*)
/usr/include/c++/13/future:589 (gdb+0x7fb8c0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #20 void std::__invoke_impl<void, void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*,
bool*>(std::__invoke_memfun_deref, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)
/usr/include/c++/13/bits/invoke.h:74 (gdb+0x802ff8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #21 std::__invoke_result<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>::type
std::__invoke<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)
/usr/include/c++/13/bits/invoke.h:96 (gdb+0x7fff6c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #22 std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&,
bool*&&)::{lambda()#1}::operator()() const <null> (gdb+0x7fcf64) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #23
std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&,
bool*&&)::{lambda()#1}>(void
(std::__future_base::_State_baseV2::*&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*,
bool*))::{lambda()#1}::operator()() const /usr/include/c++/13/mutex:836
(gdb+0x7fffe8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #24
std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&,
bool*&&)::{lambda()#1}>(void
(std::__future_base::_State_baseV2::*&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*))::{lambda()#1}::_FUN()
/usr/include/c++/13/mutex:836 (gdb+0x800034) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #25 pthread_once <null> (libtsan.so.2+0x66d3c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
    #26 __gthread_once
/usr/include/c++/13/aarch64-redhat-linux/bits/gthr-default.h:700 (gdb+0x7faef0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #27 void std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void
(std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*),
std::__future_base::_State_baseV2*&&,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&) <null>
(gdb+0x7fd02c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #28
std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>, bool)
/usr/include/c++/13/future:428 (gdb+0x7fb4f8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #29 std::__future_base::_Task_state<std::function<void ()>,
std::allocator<int>, void ()>::_M_run() /usr/include/c++/13/future:1494
(gdb+0x810834) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #30 std::packaged_task<void ()>::operator()()
/usr/include/c++/13/future:1628 (gdb+0x1d0f4a0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #31 gdb::thread_pool::thread_function()
/home/vries/gdb/src/gdbsupport/thread-pool.cc:246 (gdb+0x1d0e820) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #32 void std::__invoke_impl<void, void (gdb::thread_pool::*)(),
gdb::thread_pool*>(std::__invoke_memfun_deref, void (gdb::thread_pool::*&&)(),
gdb::thread_pool*&&) /usr/include/c++/13/bits/invoke.h:74 (gdb+0x1d12968)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #33 std::__invoke_result<void (gdb::thread_pool::*)(),
gdb::thread_pool*>::type std::__invoke<void (gdb::thread_pool::*)(),
gdb::thread_pool*>(void (gdb::thread_pool::*&&)(), gdb::thread_pool*&&)
/usr/include/c++/13/bits/invoke.h:96 (gdb+0x1d12804) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #34 void std::thread::_Invoker<std::tuple<void (gdb::thread_pool::*)(),
gdb::thread_pool*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>)
/usr/include/c++/13/bits/std_thread.h:292 (gdb+0x1d126e4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #35 std::thread::_Invoker<std::tuple<void (gdb::thread_pool::*)(),
gdb::thread_pool*> >::operator()() /usr/include/c++/13/bits/std_thread.h:299
(gdb+0x1d1266c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #36 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void
(gdb::thread_pool::*)(), gdb::thread_pool*> > >::_M_run()
/usr/include/c++/13/bits/std_thread.h:244 (gdb+0x1d12618) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #37 execute_native_thread_routine <null> (libstdc++.so.6+0xdda9c) (BuildId:
93e3778007c3847dd08373eb42577dc85c8750e4)

[1m[32m  Location is heap block of size 1144 at 0xfffff041ea00 allocated by
main thread:
[1m[0m    #0 operator new(unsigned long) <null> (libtsan.so.2+0x901f8)
(BuildId: fe872cc4563474b7ad67d63a019aa94e1e0df888)
    #1 dwarf2_has_info /home/vries/gdb/src/gdb/dwarf2/read.c:1390
(gdb+0x891fac) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #2 dwarf2_initialize_objfile(objfile*, dwarf2_debug_sections const*, bool)
/home/vries/gdb/src/gdb/dwarf2/read.c:3203 (gdb+0x898ae4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #3 elf_symfile_read_dwarf2 /home/vries/gdb/src/gdb/elfread.c:1201
(gdb+0x92f8c4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #4 elf_symfile_read /home/vries/gdb/src/gdb/elfread.c:1313 (gdb+0x92fc1c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #5 read_symbols /home/vries/gdb/src/gdb/symfile.c:772 (gdb+0xf474f4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #6 syms_from_objfile_1 /home/vries/gdb/src/gdb/symfile.c:964 (gdb+0xf47c84)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #7 syms_from_objfile /home/vries/gdb/src/gdb/symfile.c:981 (gdb+0xf47d58)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #8 symbol_file_add_with_addrs /home/vries/gdb/src/gdb/symfile.c:1084
(gdb+0xf4822c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #9 symbol_file_add_from_bfd(gdb::ref_ptr<bfd, gdb_bfd_ref_policy> const&,
char const*, enum_flags<symfile_add_flag>, std::vector<other_sections,
std::allocator<other_sections> >*, enum_flags<objfile_flag>, objfile*)
/home/vries/gdb/src/gdb/symfile.c:1158 (gdb+0xf485a8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #10 symbol_file_add(char const*, enum_flags<symfile_add_flag>,
std::vector<other_sections, std::allocator<other_sections> >*,
enum_flags<objfile_flag>) /home/vries/gdb/src/gdb/symfile.c:1171 (gdb+0xf48634)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #11 add_symbol_file_command /home/vries/gdb/src/gdb/symfile.c:2372
(gdb+0xf4bde8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #12 do_simple_func /home/vries/gdb/src/gdb/cli/cli-decode.c:95
(gdb+0x6e444c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #13 cmd_func(cmd_list_element*, char const*, int)
/home/vries/gdb/src/gdb/cli/cli-decode.c:2735 (gdb+0x6ebb88) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #14 execute_command(char const*, int) /home/vries/gdb/src/gdb/top.c:575
(gdb+0xff748c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #15 command_handler(char const*) /home/vries/gdb/src/gdb/event-top.c:566
(gdb+0x942488) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #16 command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char>
>&&) /home/vries/gdb/src/gdb/event-top.c:802 (gdb+0x942bc0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #17 tui_command_line_handler /home/vries/gdb/src/gdb/tui/tui-interp.c:104
(gdb+0x10365f8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #18 gdb_rl_callback_handler /home/vries/gdb/src/gdb/event-top.c:259
(gdb+0x941884) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #19 rl_callback_read_char
/home/vries/gdb/src/readline/readline/callback.c:290 (gdb+0x11a2c7c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #20 gdb_rl_callback_read_char_wrapper_noexcept
/home/vries/gdb/src/gdb/event-top.c:195 (gdb+0x9415f8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #21 gdb_rl_callback_read_char_wrapper
/home/vries/gdb/src/gdb/event-top.c:234 (gdb+0x941720) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #22 stdin_event_handler /home/vries/gdb/src/gdb/ui.c:155 (gdb+0x1079320)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #23 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #24 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #25 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:264
(gdb+0x1cf4074) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #26 start_event_loop /home/vries/gdb/src/gdb/main.c:408 (gdb+0xb79354)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #27 captured_command_loop /home/vries/gdb/src/gdb/main.c:472 (gdb+0xb79584)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #28 captured_main /home/vries/gdb/src/gdb/main.c:1342 (gdb+0xb7b99c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #29 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #30 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)

[1m[36m  Thread T4 'gdb worker' (tid=523078, running) created by main thread
at:
[1m[0m    #0 pthread_create <null> (libtsan.so.2+0x4605c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State,
std::default_delete<std::thread::_State> >, void (*)()) <null>
(libstdc++.so.6+0xddbe4) (BuildId: 93e3778007c3847dd08373eb42577dc85c8750e4)
    #2 gdb::thread_pool::set_thread_count(unsigned long)
/home/vries/gdb/src/gdbsupport/thread-pool.cc:169 (gdb+0x1d0e4b4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #3 update_thread_pool_size() /home/vries/gdb/src/gdb/maint.c:866
(gdb+0xb87c70) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #4 captured_main_1 /home/vries/gdb/src/gdb/main.c:1062 (gdb+0xb7a8a4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #5 captured_main /home/vries/gdb/src/gdb/main.c:1332 (gdb+0xb7b998)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #6 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
    #7 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)

SUMMARY: ThreadSanitizer: data race /usr/include/c++/13/bits/unique_ptr.h:405
in std::unique_ptr<dwz_file, std::default_delete<dwz_file> >::~unique_ptr()
==================
Reading symbols from /lib64/libm.so.6...
Reading symbols from .gnu_debugdata for /lib64/libm.so.6...
(No debugging symbols found in .gnu_debugdata for /lib64/libm.so.6)
Reading symbols from /lib64/libc.so.6...
(No debugging symbols found in /lib64/libc.so.6)
Reading symbols from /lib/ld-linux-aarch64.so.1...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x0000ffff46a7a404 in pause () from /lib64/libc.so.6
(gdb) PASS: gdb.base/add-symbol-file-attach.exp: attach
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
@ 2024-01-18  9:52 ` vries at gcc dot gnu.org
  2024-01-22 14:21 ` vries at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-18  9:52 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
Also triggers in gdb.mi/new-ui-bp-deleted.exp.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
  2024-01-18  9:52 ` [Bug gdb/31260] " vries at gcc dot gnu.org
@ 2024-01-22 14:21 ` vries at gcc dot gnu.org
  2024-01-22 20:33 ` tromey at sourceware dot org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-22 14:21 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

Tom de Vries <vries at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at sourceware dot org

--- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> ---
Bisects to:
...
commit 33c6eaaefcedd45e86d564d014f14cce2620f933 (HEAD)
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Mar 24 23:35:02 2023 -0600

    Do more DWARF reading in the background
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
  2024-01-18  9:52 ` [Bug gdb/31260] " vries at gcc dot gnu.org
  2024-01-22 14:21 ` vries at gcc dot gnu.org
@ 2024-01-22 20:33 ` tromey at sourceware dot org
  2024-01-23  2:16 ` tromey at sourceware dot org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2024-01-22 20:33 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at sourceware dot org   |tromey at sourceware dot org

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-01-22 20:33 ` tromey at sourceware dot org
@ 2024-01-23  2:16 ` tromey at sourceware dot org
  2024-01-25  3:54 ` tromey at sourceware dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2024-01-23  2:16 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

--- Comment #3 from Tom Tromey <tromey at sourceware dot org> ---
I guess a race could happen if we open the same ELF twice.
Then the second call to dwarf2_initialize_objfile could
race -- calling dwarf2_read_dwz_file while the reading of
the first one is being done.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-01-23  2:16 ` tromey at sourceware dot org
@ 2024-01-25  3:54 ` tromey at sourceware dot org
  2024-01-25 13:52 ` tromey at sourceware dot org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2024-01-25  3:54 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

--- Comment #4 from Tom Tromey <tromey at sourceware dot org> ---
I was able to reproduce this one and I have a fix that I'll send soon.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2024-01-25  3:54 ` tromey at sourceware dot org
@ 2024-01-25 13:52 ` tromey at sourceware dot org
  2024-02-12 19:07 ` tromey at sourceware dot org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2024-01-25 13:52 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

--- Comment #5 from Tom Tromey <tromey at sourceware dot org> ---
https://sourceware.org/pipermail/gdb-patches/2024-January/206216.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2024-01-25 13:52 ` tromey at sourceware dot org
@ 2024-02-12 19:07 ` tromey at sourceware dot org
  2024-03-08 14:32 ` cvs-commit at gcc dot gnu.org
  2024-03-08 14:36 ` tromey at sourceware dot org
  8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2024-02-12 19:07 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |15.1

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2024-02-12 19:07 ` tromey at sourceware dot org
@ 2024-03-08 14:32 ` cvs-commit at gcc dot gnu.org
  2024-03-08 14:36 ` tromey at sourceware dot org
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-03-08 14:32 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

--- Comment #6 from Sourceware Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom Tromey <tromey@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e9b738dfbdc504589e1a365ce32981f4b23c22c3

commit e9b738dfbdc504589e1a365ce32981f4b23c22c3
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jan 25 06:48:22 2024 -0700

    Avoid race when reading dwz file

    PR gdb/31260 points out a race introduced by the background reading
    changes.  If a given objfile is re-opened when it is already being
    read, dwarf2_initialize_objfile will call dwarf2_read_dwz_file again,
    causing the 'dwz_file' to be reset.

    This patch fixes the problem by arranging to open the dwz just once:
    when the dwarf2_per_bfd object is created.

    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31260

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gdb/31260] [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy()
  2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2024-03-08 14:32 ` cvs-commit at gcc dot gnu.org
@ 2024-03-08 14:36 ` tromey at sourceware dot org
  8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2024-03-08 14:36 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=31260

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #7 from Tom Tromey <tromey at sourceware dot org> ---
Fixed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-03-08 14:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-18  9:21 [Bug gdb/31260] New: [gdb] ThreadSanitizer: data race /usr/include/c++/13/optional:286 in std::_Optional_payload_base<std::unique_ptr<dwz_file, std::default_delete<dwz_file> > >::_M_destroy() vries at gcc dot gnu.org
2024-01-18  9:52 ` [Bug gdb/31260] " vries at gcc dot gnu.org
2024-01-22 14:21 ` vries at gcc dot gnu.org
2024-01-22 20:33 ` tromey at sourceware dot org
2024-01-23  2:16 ` tromey at sourceware dot org
2024-01-25  3:54 ` tromey at sourceware dot org
2024-01-25 13:52 ` tromey at sourceware dot org
2024-02-12 19:07 ` tromey at sourceware dot org
2024-03-08 14:32 ` cvs-commit at gcc dot gnu.org
2024-03-08 14:36 ` tromey at sourceware dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).