public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
@ 2024-01-18 9:49 vries at gcc dot gnu.org
2024-01-22 18:49 ` [Bug gdb/31264] " vries at gcc dot gnu.org
` (16 more replies)
0 siblings, 17 replies; 18+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-18 9:49 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
Bug ID: 31264
Summary: [gdb] ThreadSanitizer: data race format.c:132 in
bfd_preserve_save
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
fission-relative-dwo, I get:
...
(gdb) file
/home/vries/gdb/build/gdb/testsuite/outputs/gdb.dwarf2/fission-relative-dwo/fission-relative-dwo
Reading symbols from
/home/vries/gdb/build/gdb/testsuite/outputs/gdb.dwarf2/fission-relative-dwo/fission-relative-dwo...
(gdb) delete breakpoints
(gdb) ==================
[1m[31mWARNING: ThreadSanitizer: data race (pid=631374)
[1m[0m[1m[34m Read of size 4 at 0xffffededf104 by thread T6 (mutexes:
write M0):
[1m[0m #0 bfd_preserve_save /home/vries/gdb/src/bfd/format.c:132
(gdb+0x146e39c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#1 bfd_check_format_matches /home/vries/gdb/src/bfd/format.c:362
(gdb+0x146f040) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#2 bfd_check_format /home/vries/gdb/src/bfd/format.c:94 (gdb+0x146e2fc)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#3 try_open_dwop_file /home/vries/gdb/src/gdb/dwarf2/read.c:9120
(gdb+0x8ab8d8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#4 open_dwo_file /home/vries/gdb/src/gdb/dwarf2/read.c:9156 (gdb+0x8aba68)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#5 open_and_init_dwo_file /home/vries/gdb/src/gdb/dwarf2/read.c:9230
(gdb+0x8abf58) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#6 lookup_dwo_cutu /home/vries/gdb/src/gdb/dwarf2/read.c:9638
(gdb+0x8ada50) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#7 lookup_dwo_comp_unit /home/vries/gdb/src/gdb/dwarf2/read.c:9713
(gdb+0x8ade24) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#8 lookup_dwo_unit /home/vries/gdb/src/gdb/dwarf2/read.c:3935
(gdb+0x89b4c0) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#9 cutu_reader::cutu_reader(dwarf2_per_cu_data*, dwarf2_per_objfile*,
abbrev_table*, dwarf2_cu*, bool, abbrev_cache*)
/home/vries/gdb/src/gdb/dwarf2/read.c:4176 (gdb+0x89c2b8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#10 process_psymtab_comp_unit /home/vries/gdb/src/gdb/dwarf2/read.c:4574
(gdb+0x89d3e4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#11 cooked_index_worker::process_cus(unsigned long,
__gnu_cxx::__normal_iterator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>*, std::vector<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>, std::allocator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter> > > >,
__gnu_cxx::__normal_iterator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>*, std::vector<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>, std::allocator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter> > > >) /home/vries/gdb/src/gdb/dwarf2/read.c:4869
(gdb+0x89e6f4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#12 operator() /home/vries/gdb/src/gdb/dwarf2/read.c:4981 (gdb+0x89ebc8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#13 __invoke_impl<void, cooked_index_worker::do_reading()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x8dedfc) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#14 __invoke_r<void, cooked_index_worker::do_reading()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0x8de078) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#15 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x8db2c8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#16 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#17 operator() /home/vries/gdb/src/gdbsupport/task-group.cc:69
(gdb+0x1d02680) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#18 __invoke_impl<void, gdb::task_group::impl::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x1d0314c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#19 __invoke_r<void, gdb::task_group::impl::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0x1d02f4c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#20 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x1d02c94)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#21 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#22 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)
#23 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)
#24 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)
#25
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)
#26 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)
#27
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)
#28
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)
#29 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)
#30
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)
#31 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)
#32 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)
#33 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)
#34
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)
#35
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)
#36 pthread_once <null> (libtsan.so.2+0x66d3c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
#37 __gthread_once
/usr/include/c++/13/aarch64-redhat-linux/bits/gthr-default.h:700 (gdb+0x7faef0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#38 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)
#39
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)
#40 std::__future_base::_Task_state<std::function<void ()>,
std::allocator<int>, void ()>::_M_run() /usr/include/c++/13/future:1494
(gdb+0x810834) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#41 std::packaged_task<void ()>::operator()()
/usr/include/c++/13/future:1628 (gdb+0x1d0f4a0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#42 gdb::thread_pool::thread_function()
/home/vries/gdb/src/gdbsupport/thread-pool.cc:246 (gdb+0x1d0e820) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#43 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)
#44 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)
#45 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)
#46 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)
#47 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)
#48 execute_native_thread_routine <null> (libstdc++.so.6+0xdda9c) (BuildId:
93e3778007c3847dd08373eb42577dc85c8750e4)
[1m[34m Previous write of size 4 at 0xffffededf104 by main thread (mutexes:
write M1):
[1m[0m #0 bfd_cache_delete /home/vries/gdb/src/bfd/cache.c:183
(gdb+0x1467020) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#1 _bfd_cache_close_unlocked /home/vries/gdb/src/bfd/cache.c:594
(gdb+0x1468120) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#2 bfd_cache_close_all /home/vries/gdb/src/bfd/cache.c:651 (gdb+0x146824c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#3 notify_before_prompt /home/vries/gdb/src/gdb/event-top.c:478
(gdb+0x942058) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#4 top_level_prompt /home/vries/gdb/src/gdb/event-top.c:488 (gdb+0x9420ac)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#5 display_gdb_prompt(char const*) /home/vries/gdb/src/gdb/event-top.c:441
(gdb+0x941f30) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#6 command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&)
/home/vries/gdb/src/gdb/event-top.c:805 (gdb+0x942be4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#7 tui_command_line_handler /home/vries/gdb/src/gdb/tui/tui-interp.c:104
(gdb+0x10365f8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#8 gdb_rl_callback_handler /home/vries/gdb/src/gdb/event-top.c:259
(gdb+0x941884) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#9 rl_callback_read_char
/home/vries/gdb/src/readline/readline/callback.c:290 (gdb+0x11a2c7c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#10 gdb_rl_callback_read_char_wrapper_noexcept
/home/vries/gdb/src/gdb/event-top.c:195 (gdb+0x9415f8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#11 gdb_rl_callback_read_char_wrapper
/home/vries/gdb/src/gdb/event-top.c:234 (gdb+0x941720) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#12 stdin_event_handler /home/vries/gdb/src/gdb/ui.c:155 (gdb+0x1079320)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#13 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#14 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#15 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:264
(gdb+0x1cf4074) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#16 start_event_loop /home/vries/gdb/src/gdb/main.c:408 (gdb+0xb79354)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#17 captured_command_loop /home/vries/gdb/src/gdb/main.c:472 (gdb+0xb79584)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#18 captured_main /home/vries/gdb/src/gdb/main.c:1342 (gdb+0xb7b99c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#19 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#20 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
[1m[32m Location is heap block of size 304 at 0xffffededf0c0 allocated by
thread T6:
[1m[0m #0 malloc <null> (libtsan.so.2+0x4538c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
#1 bfd_malloc /home/vries/gdb/src/bfd/libbfd.c:290 (gdb+0x1472218)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#2 bfd_zmalloc /home/vries/gdb/src/bfd/libbfd.c:412 (gdb+0x14723c0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#3 _bfd_new_bfd /home/vries/gdb/src/bfd/opncls.c:80 (gdb+0x14746f0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#4 bfd_fopen /home/vries/gdb/src/bfd/opncls.c:272 (gdb+0x1474df4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#5 gdb_bfd_open(char const*, char const*, int, bool)
/home/vries/gdb/src/gdb/gdb_bfd.c:580 (gdb+0x9a7950) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#6 try_open_dwop_file /home/vries/gdb/src/gdb/dwarf2/read.c:9116
(gdb+0x8ab89c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#7 open_dwo_file /home/vries/gdb/src/gdb/dwarf2/read.c:9156 (gdb+0x8aba68)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#8 open_and_init_dwo_file /home/vries/gdb/src/gdb/dwarf2/read.c:9230
(gdb+0x8abf58) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#9 lookup_dwo_cutu /home/vries/gdb/src/gdb/dwarf2/read.c:9638
(gdb+0x8ada50) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#10 lookup_dwo_comp_unit /home/vries/gdb/src/gdb/dwarf2/read.c:9713
(gdb+0x8ade24) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#11 lookup_dwo_unit /home/vries/gdb/src/gdb/dwarf2/read.c:3935
(gdb+0x89b4c0) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#12 cutu_reader::cutu_reader(dwarf2_per_cu_data*, dwarf2_per_objfile*,
abbrev_table*, dwarf2_cu*, bool, abbrev_cache*)
/home/vries/gdb/src/gdb/dwarf2/read.c:4176 (gdb+0x89c2b8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#13 process_psymtab_comp_unit /home/vries/gdb/src/gdb/dwarf2/read.c:4574
(gdb+0x89d3e4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#14 cooked_index_worker::process_cus(unsigned long,
__gnu_cxx::__normal_iterator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>*, std::vector<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>, std::allocator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter> > > >,
__gnu_cxx::__normal_iterator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>*, std::vector<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>, std::allocator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter> > > >) /home/vries/gdb/src/gdb/dwarf2/read.c:4869
(gdb+0x89e6f4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#15 operator() /home/vries/gdb/src/gdb/dwarf2/read.c:4981 (gdb+0x89ebc8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#16 __invoke_impl<void, cooked_index_worker::do_reading()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x8dedfc) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#17 __invoke_r<void, cooked_index_worker::do_reading()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0x8de078) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#18 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x8db2c8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#19 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#20 operator() /home/vries/gdb/src/gdbsupport/task-group.cc:69
(gdb+0x1d02680) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#21 __invoke_impl<void, gdb::task_group::impl::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x1d0314c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#22 __invoke_r<void, gdb::task_group::impl::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0x1d02f4c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#23 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x1d02c94)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#24 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#25 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)
#26 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)
#27 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)
#28
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)
#29 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)
#30
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)
#31
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)
#32 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)
#33
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)
#34 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)
#35 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)
#36 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)
#37
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)
#38
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)
#39 pthread_once <null> (libtsan.so.2+0x66d3c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
#40 __gthread_once
/usr/include/c++/13/aarch64-redhat-linux/bits/gthr-default.h:700 (gdb+0x7faef0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#41 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)
#42
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)
#43 std::__future_base::_Task_state<std::function<void ()>,
std::allocator<int>, void ()>::_M_run() /usr/include/c++/13/future:1494
(gdb+0x810834) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#44 std::packaged_task<void ()>::operator()()
/usr/include/c++/13/future:1628 (gdb+0x1d0f4a0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#45 gdb::thread_pool::thread_function()
/home/vries/gdb/src/gdbsupport/thread-pool.cc:246 (gdb+0x1d0e820) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#46 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)
#47 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)
#48 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)
#49 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)
#50 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)
#51 execute_native_thread_routine <null> (libstdc++.so.6+0xdda9c) (BuildId:
93e3778007c3847dd08373eb42577dc85c8750e4)
[1m[35m Mutex M0 (0x000003280560) created at:
[1m[0m #0 pthread_mutex_lock <null> (libtsan.so.2+0x56b28) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
#1 __gthread_mutex_lock
/usr/include/c++/13/aarch64-redhat-linux/bits/gthr-default.h:749 (gdb+0x74cc34)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#2 std::mutex::lock() /usr/include/c++/13/bits/std_mutex.h:113
(gdb+0x74cce8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#3 std::lock_guard<std::mutex>::lock_guard(std::mutex&)
/usr/include/c++/13/bits/std_mutex.h:249 (gdb+0x74d428) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#4 lookup_dwo_unit /home/vries/gdb/src/gdb/dwarf2/read.c:3911
(gdb+0x89b368) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#5 cutu_reader::cutu_reader(dwarf2_per_cu_data*, dwarf2_per_objfile*,
abbrev_table*, dwarf2_cu*, bool, abbrev_cache*)
/home/vries/gdb/src/gdb/dwarf2/read.c:4176 (gdb+0x89c2b8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#6 process_psymtab_comp_unit /home/vries/gdb/src/gdb/dwarf2/read.c:4574
(gdb+0x89d3e4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#7 cooked_index_worker::process_cus(unsigned long,
__gnu_cxx::__normal_iterator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>*, std::vector<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>, std::allocator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter> > > >,
__gnu_cxx::__normal_iterator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>*, std::vector<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter>, std::allocator<std::unique_ptr<dwarf2_per_cu_data,
dwarf2_per_cu_data_deleter> > > >) /home/vries/gdb/src/gdb/dwarf2/read.c:4869
(gdb+0x89e6f4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#8 operator() /home/vries/gdb/src/gdb/dwarf2/read.c:4981 (gdb+0x89ebc8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#9 __invoke_impl<void, cooked_index_worker::do_reading()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x8dedfc) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#10 __invoke_r<void, cooked_index_worker::do_reading()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0x8de078) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#11 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x8db2c8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#12 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#13 operator() /home/vries/gdb/src/gdbsupport/task-group.cc:69
(gdb+0x1d02680) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#14 __invoke_impl<void, gdb::task_group::impl::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:61 (gdb+0x1d0314c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#15 __invoke_r<void, gdb::task_group::impl::start()::<lambda()>&>
/usr/include/c++/13/bits/invoke.h:111 (gdb+0x1d02f4c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#16 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x1d02c94)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#17 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#18 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)
#19 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)
#20 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)
#21
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)
#22 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)
#23
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)
#24
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)
#25 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)
#26
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)
#27 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)
#28 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)
#29 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)
#30
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)
#31
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)
#32 pthread_once <null> (libtsan.so.2+0x66d3c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
#33 __gthread_once
/usr/include/c++/13/aarch64-redhat-linux/bits/gthr-default.h:700 (gdb+0x7faef0)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#34 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)
#35
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)
#36 std::__future_base::_Task_state<std::function<void ()>,
std::allocator<int>, void ()>::_M_run() /usr/include/c++/13/future:1494
(gdb+0x810834) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#37 std::packaged_task<void ()>::operator()()
/usr/include/c++/13/future:1628 (gdb+0x1d0f4a0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#38 gdb::thread_pool::thread_function()
/home/vries/gdb/src/gdbsupport/thread-pool.cc:246 (gdb+0x1d0e820) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#39 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)
#40 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)
#41 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)
#42 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)
#43 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)
#44 execute_native_thread_routine <null> (libstdc++.so.6+0xdda9c) (BuildId:
93e3778007c3847dd08373eb42577dc85c8750e4)
[1m[35m Mutex M1 (0x000002fb5838) created at:
[1m[0m #0 pthread_mutex_lock <null> (libtsan.so.2+0x56b28) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)
#1 __gthread_mutex_lock
/usr/include/c++/13/aarch64-redhat-linux/bits/gthr-default.h:749 (gdb+0x9aa654)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#2 __gthread_recursive_mutex_lock
/usr/include/c++/13/aarch64-redhat-linux/bits/gthr-default.h:811 (gdb+0x9aa708)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#3 std::recursive_mutex::lock() /usr/include/c++/13/mutex:120
(gdb+0x9aa798) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#4 gdb_bfd_lock /home/vries/gdb/src/gdb/gdb_bfd.c:53 (gdb+0x9a67e4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#5 bfd_lock /home/vries/gdb/src/bfd/bfd.c:1854 (gdb+0x146390c) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#6 bfd_cache_close_all /home/vries/gdb/src/bfd/cache.c:645 (gdb+0x14681f4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#7 notify_before_prompt /home/vries/gdb/src/gdb/event-top.c:478
(gdb+0x942058) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#8 top_level_prompt /home/vries/gdb/src/gdb/event-top.c:488 (gdb+0x9420ac)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#9 display_gdb_prompt(char const*) /home/vries/gdb/src/gdb/event-top.c:441
(gdb+0x941f30) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#10 cli_interp_base::pre_command_loop()
/home/vries/gdb/src/gdb/cli/cli-interp.c:180 (gdb+0x6f2dd8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#11 captured_command_loop /home/vries/gdb/src/gdb/main.c:469 (gdb+0xb79580)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#12 captured_main /home/vries/gdb/src/gdb/main.c:1342 (gdb+0xb7b99c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#13 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
#14 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)
[1m[36m Thread T6 'gdb worker' (tid=631386, 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 /home/vries/gdb/src/bfd/format.c:132 in
bfd_preserve_save
==================
...
There are in fact 3:
...
SUMMARY: ThreadSanitizer: data race /home/vries/gdb/src/bfd/format.c:132 in
bfd_preserve_save
SUMMARY: ThreadSanitizer: data race /home/vries/gdb/src/bfd/format.c:134 in
bfd_preserve_save
SUMMARY: ThreadSanitizer: data race /home/vries/gdb/src/bfd/cache.c:183 in
bfd_cache_delete
...
but that got me over the comment character limit.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
@ 2024-01-22 18:49 ` vries at gcc dot gnu.org
2024-01-22 20:32 ` tromey at sourceware dot org
` (15 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-22 18:49 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
Tom de Vries <vries at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tromey at sourceware dot org
--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
Bisects to:
...
Commit 0a008773c59bd80f80c02220537317c865546aca
Author: Tom Tromey <tom@tromey.com>
Date: Wed Mar 29 10:55:13 2023 -0600
Lazy language setting
...
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
2024-01-22 18:49 ` [Bug gdb/31264] " vries at gcc dot gnu.org
@ 2024-01-22 20:32 ` tromey at sourceware dot org
2024-01-23 1:10 ` tromey at sourceware dot org
` (14 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-01-22 20:32 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
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] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
2024-01-22 18:49 ` [Bug gdb/31264] " vries at gcc dot gnu.org
2024-01-22 20:32 ` tromey at sourceware dot org
@ 2024-01-23 1:10 ` tromey at sourceware dot org
2024-01-23 8:58 ` vries at gcc dot gnu.org
` (13 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-01-23 1:10 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #2 from Tom Tromey <tromey at sourceware dot org> ---
I couldn't reproduce this on Fedora 38.
I do think the BFD preserve stuff probably has a race though.
Also bfd_check_format_matches calls bfd_set_error_handler,
which sets a global.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (2 preceding siblings ...)
2024-01-23 1:10 ` tromey at sourceware dot org
@ 2024-01-23 8:58 ` vries at gcc dot gnu.org
2024-01-23 9:38 ` vries at gcc dot gnu.org
` (12 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-23 8:58 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom Tromey from comment #2)
> I couldn't reproduce this on Fedora 38.
I ran into this on Fedora 39, aarch64, in a full test run.
I tried reproducing in a loop like so running only the test-case:
...
$ for n in $(seq 1 25); do \
./test.sh 2>&1 | grep "# of " | sort -u; \
grep -ac ThreadSan gdb.log; \
done
...
There's grepping in gdb.log because there's no FAIL when ThreadSanitizer
triggers.
It reproduced only once out of 25 times.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (3 preceding siblings ...)
2024-01-23 8:58 ` vries at gcc dot gnu.org
@ 2024-01-23 9:38 ` vries at gcc dot gnu.org
2024-01-29 20:14 ` tromey at sourceware dot org
` (11 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-23 9:38 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #4 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #3)
> I tried reproducing in a loop like so running only the test-case:
On openSUSE Leap 15.4 x86_64, reproduced 15 out of 25 times.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (4 preceding siblings ...)
2024-01-23 9:38 ` vries at gcc dot gnu.org
@ 2024-01-29 20:14 ` tromey at sourceware dot org
2024-01-29 20:15 ` tromey at sourceware dot org
` (10 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-01-29 20:14 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #5 from Tom Tromey <tromey at sourceware dot org> ---
There's also gdb_bfd_error_handler to deal with :(
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (5 preceding siblings ...)
2024-01-29 20:14 ` tromey at sourceware dot org
@ 2024-01-29 20:15 ` tromey at sourceware dot org
2024-01-30 1:35 ` tromey at sourceware dot org
` (9 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-01-29 20:15 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #6 from Tom Tromey <tromey at sourceware dot org> ---
And bfd's error_handler_sprintf stores any messages in the target
xvec, not the bfd...
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (6 preceding siblings ...)
2024-01-29 20:15 ` tromey at sourceware dot org
@ 2024-01-30 1:35 ` tromey at sourceware dot org
2024-02-12 19:06 ` tromey at sourceware dot org
` (8 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-01-30 1:35 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #7 from Tom Tromey <tromey at sourceware dot org> ---
Some work here:
https://sourceware.org/pipermail/binutils/2024-January/132224.html
If that goes in, I'll change gdb's BFD error handler.
I'll probably have it call warning (we can already intercept
those in workers), not sure yet though.
Still haven't investigated the clash with bfd_cache_close_all.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (7 preceding siblings ...)
2024-01-30 1:35 ` tromey at sourceware dot org
@ 2024-02-12 19:06 ` tromey at sourceware dot org
2024-03-15 0:01 ` tromey at sourceware dot org
` (7 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-02-12 19:06 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
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] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (8 preceding siblings ...)
2024-02-12 19:06 ` tromey at sourceware dot org
@ 2024-03-15 0:01 ` tromey at sourceware dot org
2024-03-24 21:13 ` tromey at sourceware dot org
` (6 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-03-15 0:01 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #8 from Tom Tromey <tromey at sourceware dot org> ---
I sent the error handler rewrite and I have another patch
nearly ready (just need to figure out how to test it) that
deals with the xvec issue.
Still haven't looked at the bfd_cache_close_all race though.
I suspect some locking in format-checking or maybe in the
one spot that changes the iovec during classification.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (9 preceding siblings ...)
2024-03-15 0:01 ` tromey at sourceware dot org
@ 2024-03-24 21:13 ` tromey at sourceware dot org
2024-04-14 17:53 ` brobecker at gnat dot com
` (5 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-03-24 21:13 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #9 from Tom Tromey <tromey at sourceware dot org> ---
https://sourceware.org/pipermail/binutils/2024-March/133155.html
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (10 preceding siblings ...)
2024-03-24 21:13 ` tromey at sourceware dot org
@ 2024-04-14 17:53 ` brobecker at gnat dot com
2024-04-15 12:54 ` tromey at sourceware dot org
` (4 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: brobecker at gnat dot com @ 2024-04-14 17:53 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
Joel Brobecker <brobecker at gnat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |brobecker at gnat dot com
--- Comment #10 from Joel Brobecker <brobecker at gnat dot com> ---
Hey Tom,
IIUC, the latest status is that these changes are still pending.
- Wed Apr 10: Alan Modra sent a reply with some comments;
- Fri Apr 12: Nick approved, but I'm not sure he saw Alan's comments.
Are there updates you would be able to share on this PR?
Thank you!
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (11 preceding siblings ...)
2024-04-14 17:53 ` brobecker at gnat dot com
@ 2024-04-15 12:54 ` tromey at sourceware dot org
2024-04-16 22:53 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-04-15 12:54 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #11 from Tom Tromey <tromey at sourceware dot org> ---
I'll be sending a new patch today, hopefully.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (12 preceding siblings ...)
2024-04-15 12:54 ` tromey at sourceware dot org
@ 2024-04-16 22:53 ` cvs-commit at gcc dot gnu.org
2024-04-16 22:53 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-04-16 22:53 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #12 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=bacc61fd3e6fd61a59fb59bcc657be17a381520d
commit bacc61fd3e6fd61a59fb59bcc657be17a381520d
Author: Tom Tromey <tom@tromey.com>
Date: Mon Feb 12 18:06:56 2024 -0700
Thread-safety improvements for bfd_check_format_matches
A gdb bug found that bfd_check_format_matches has some data races when
called from multiple threads.
In particular, it changes the BFD error handler, which is a global.
It also has a local static variable ("in_check_format") that is used
for recursion detection. And, finally, it may emit warnings to the
per-xvec warning array, which is a global.
This patch removes all the races here.
The first part of patch is to change _bfd_error_handler to directly
handle the needs of bfd_check_format_matches. This way, the error
handler does not need to be changed.
This change lets us use the new per-thread global
(error_handler_messages, replacing error_handler_bfd) to also remove
the need for in_check_format -- a single variable suffices.
Finally, the global per-xvec array is replaced with a new type that
holds the error messages. The outermost such type is stack-allocated
in bfd_check_format_matches.
I tested this using the binutils test suite. I also built gdb with
thread sanitizer and ran the test case that was noted as failing.
Finally, Alan sent me the test file that caused the addition of the
xvec warning code in the first place, and I confirmed that "nm-new"
has the same behavior on this file both before and after this patch.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31264
Co-Authored-By: Alan Modra <amodra@gmail.com>
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (13 preceding siblings ...)
2024-04-16 22:53 ` cvs-commit at gcc dot gnu.org
@ 2024-04-16 22:53 ` cvs-commit at gcc dot gnu.org
2024-04-16 22:55 ` tromey at sourceware dot org
2024-05-17 14:17 ` tromey at sourceware dot org
16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-04-16 22:53 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--- Comment #13 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=20bf7711bce2188c1af985a87df23c4653c2cc7a
commit 20bf7711bce2188c1af985a87df23c4653c2cc7a
Author: Tom Tromey <tom@tromey.com>
Date: Sat Mar 23 15:19:20 2024 -0600
Avoid cache race in bfd_check_format_matches
Running the gdb test suite with the thread sanitizer enabled shows a
race when bfd_check_format_matches and bfd_cache_close_all are called
simultaneously on different threads.
This patch fixes this race by having bfd_check_format_matches
temporarily remove the BFD from the file descriptor cache -- leaving
it open while format-checking proceeds.
In this setup, the BFD client is responsible for closing the BFD again
on the "checking" thread, should that be desired. gdb does this by
calling bfd_cache_close in the relevant worker thread.
An earlier version of this patch omitted the "possibly_cached" helper
function. However, this ran into crashes in the binutils test suite
involving the archive-checking abort in bfd_cache_lookup_worker. I do
not understand the purpose of this check, so I've simply had the new
function work around it. I couldn't find any comments explaining this
situation, either. I suspect that there may still be races related to
this case, but I don't think I have access to the platforms where gdb
deals with archives.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31264
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (14 preceding siblings ...)
2024-04-16 22:53 ` cvs-commit at gcc dot gnu.org
@ 2024-04-16 22:55 ` tromey at sourceware dot org
2024-05-17 14:17 ` tromey at sourceware dot org
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-04-16 22:55 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
Tom Tromey <tromey at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #14 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] 18+ messages in thread
* [Bug gdb/31264] [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
` (15 preceding siblings ...)
2024-04-16 22:55 ` tromey at sourceware dot org
@ 2024-05-17 14:17 ` tromey at sourceware dot org
16 siblings, 0 replies; 18+ messages in thread
From: tromey at sourceware dot org @ 2024-05-17 14:17 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=31264
Tom Tromey <tromey at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |31751
Referenced Bugs:
https://sourceware.org/bugzilla/show_bug.cgi?id=31751
[Bug 31751] re-enable background DWARF reading
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-05-17 14:17 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-18 9:49 [Bug gdb/31264] New: [gdb] ThreadSanitizer: data race format.c:132 in bfd_preserve_save vries at gcc dot gnu.org
2024-01-22 18:49 ` [Bug gdb/31264] " vries at gcc dot gnu.org
2024-01-22 20:32 ` tromey at sourceware dot org
2024-01-23 1:10 ` tromey at sourceware dot org
2024-01-23 8:58 ` vries at gcc dot gnu.org
2024-01-23 9:38 ` vries at gcc dot gnu.org
2024-01-29 20:14 ` tromey at sourceware dot org
2024-01-29 20:15 ` tromey at sourceware dot org
2024-01-30 1:35 ` tromey at sourceware dot org
2024-02-12 19:06 ` tromey at sourceware dot org
2024-03-15 0:01 ` tromey at sourceware dot org
2024-03-24 21:13 ` tromey at sourceware dot org
2024-04-14 17:53 ` brobecker at gnat dot com
2024-04-15 12:54 ` tromey at sourceware dot org
2024-04-16 22:53 ` cvs-commit at gcc dot gnu.org
2024-04-16 22:53 ` cvs-commit at gcc dot gnu.org
2024-04-16 22:55 ` tromey at sourceware dot org
2024-05-17 14:17 ` 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).