public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug gdb/31262] New: [gdb] ThreadSanitizer: data raceindex-cache.c:76 in index_cache::enable() Date: Thu, 18 Jan 2024 09:32:26 +0000 [thread overview] Message-ID: <bug-31262-4717@http.sourceware.org/bugzilla/> (raw) https://sourceware.org/bugzilla/show_bug.cgi?id=31262 Bug ID: 31262 Summary: [gdb] ThreadSanitizer: data raceindex-cache.c:76 in index_cache::enable() 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/index-cache.exp, I get: ... (gdb) PASS: gdb.base/index-cache.exp: test_basic_stuff: index-cache is disabled by default set index-cache enabled on ================== [1m[31mWARNING: ThreadSanitizer: data race (pid=565983) [1m[0m[1m[34m Write of size 1 at 0x000003280448 by main thread: [1m[0m #0 index_cache::enable() /home/vries/gdb/src/gdb/dwarf2/index-cache.c:76 (gdb+0x837634) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #1 set_index_cache_enabled_command /home/vries/gdb/src/gdb/dwarf2/index-cache.c:294 (gdb+0x838104) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #2 bool setting::set<bool>(bool const&) /home/vries/gdb/src/gdb/command.h:353 (gdb+0x709c10) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #3 do_set_command(char const*, int, cmd_list_element*) /home/vries/gdb/src/gdb/cli/cli-setshow.c:414 (gdb+0x708530) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #4 execute_command(char const*, int) /home/vries/gdb/src/gdb/top.c:567 (gdb+0xff73cc) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #5 command_handler(char const*) /home/vries/gdb/src/gdb/event-top.c:566 (gdb+0x942488) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #6 command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) /home/vries/gdb/src/gdb/event-top.c:802 (gdb+0x942bc0) (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[34m Previous read of size 1 at 0x000003280448 by thread T5: [1m[0m #0 index_cache::enabled() const /home/vries/gdb/src/gdb/dwarf2/index-cache.h:70 (gdb+0x8389a4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #1 index_cache_store_context::index_cache_store_context(index_cache const&, dwarf2_per_bfd*) /home/vries/gdb/src/gdb/dwarf2/index-cache.c:93 (gdb+0x837730) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #2 cooked_index::set_contents(std::vector<std::unique_ptr<cooked_index_shard, std::default_delete<cooked_index_shard> >, std::allocator<std::unique_ptr<cooked_index_shard, std::default_delete<cooked_index_shard> > > >&&) /home/vries/gdb/src/gdb/dwarf2/cooked-index.c:489 (gdb+0x7f6fec) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #3 cooked_index_worker::done_reading() /home/vries/gdb/src/gdb/dwarf2/read.c:4901 (gdb+0x89e980) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #4 operator() /home/vries/gdb/src/gdb/dwarf2/read.c:4960 (gdb+0x89eb40) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #5 __invoke_impl<void, cooked_index_worker::do_reading()::<lambda()>&> /usr/include/c++/13/bits/invoke.h:61 (gdb+0x8decb4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #6 __invoke_r<void, cooked_index_worker::do_reading()::<lambda()>&> /usr/include/c++/13/bits/invoke.h:111 (gdb+0x8dddec) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #7 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x8db118) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #8 std::function<void ()>::operator()() const /usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #9 gdb::task_group::impl::~impl() /home/vries/gdb/src/gdbsupport/task-group.cc:39 (gdb+0x1d03610) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #10 std::_Sp_counted_ptr<gdb::task_group::impl*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() /usr/include/c++/13/bits/shared_ptr_base.h:428 (gdb+0x1d04690) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #11 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use() /usr/include/c++/13/bits/shared_ptr_base.h:175 (gdb+0x63bf20) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #12 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/13/bits/shared_ptr_base.h:361 (gdb+0x637758) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #13 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/13/bits/shared_ptr_base.h:1071 (gdb+0x63c0b8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #14 std::__shared_ptr<gdb::task_group::impl, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/13/bits/shared_ptr_base.h:1524 (gdb+0x7fc9e8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #15 std::shared_ptr<gdb::task_group::impl>::~shared_ptr() /usr/include/c++/13/bits/shared_ptr.h:175 (gdb+0x7fca20) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #16 ~<lambda> /home/vries/gdb/src/gdbsupport/task-group.cc:66 (gdb+0x1d026cc) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #17 _M_destroy /usr/include/c++/13/bits/std_function.h:175 (gdb+0x1d03228) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #18 _M_manager /usr/include/c++/13/bits/std_function.h:203 (gdb+0x1d0308c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #19 _M_manager /usr/include/c++/13/bits/std_function.h:282 (gdb+0x1d02d5c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #20 std::_Function_base::~_Function_base() /usr/include/c++/13/bits/std_function.h:244 (gdb+0x431da4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #21 std::function<void ()>::~function() /usr/include/c++/13/bits/std_function.h:334 (gdb+0x432cac) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #22 std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::_Impl::~_Impl() /usr/include/c++/13/future:1511 (gdb+0x80f73c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #23 std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>::~_Task_state() /usr/include/c++/13/future:1477 (gdb+0x810494) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #24 void std::__new_allocator<int>::destroy<std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()> >(std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>*) /usr/include/c++/13/bits/new_allocator.h:198 (gdb+0x81062c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #25 void std::allocator_traits<std::allocator<int> >::destroy<std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()> >(std::allocator<int>&, std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>*) /usr/include/c++/13/bits/alloc_traits.h:558 (gdb+0x81062c) #26 std::_Sp_counted_ptr_inplace<std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>, void ()>, std::allocator<int>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() /usr/include/c++/13/bits/shared_ptr_base.h:613 (gdb+0x81062c) #27 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use() /usr/include/c++/13/bits/shared_ptr_base.h:175 (gdb+0x63bf20) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #28 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/13/bits/shared_ptr_base.h:361 (gdb+0x637758) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #29 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/13/bits/shared_ptr_base.h:1071 (gdb+0x63c0b8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #30 std::__shared_ptr<std::__future_base::_Task_state_base<void ()>, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/13/bits/shared_ptr_base.h:1524 (gdb+0x8ebfd0) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #31 std::shared_ptr<std::__future_base::_Task_state_base<void ()> >::~shared_ptr() /usr/include/c++/13/bits/shared_ptr.h:175 (gdb+0x8ec008) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #32 std::packaged_task<void ()>::~packaged_task() /usr/include/c++/13/future:1594 (gdb+0x8ec16c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #33 std::_Optional_payload_base<std::packaged_task<void ()> >::_M_destroy() /usr/include/c++/13/optional:287 (gdb+0x1d10c94) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #34 std::_Optional_payload_base<std::packaged_task<void ()> >::_M_reset() /usr/include/c++/13/optional:318 (gdb+0x1d0fe18) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #35 std::_Optional_payload<std::packaged_task<void ()>, false, false, false>::~_Optional_payload() /usr/include/c++/13/optional:439 (gdb+0x1d0f500) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #36 std::_Optional_base<std::packaged_task<void ()>, false, false>::~_Optional_base() /usr/include/c++/13/optional:510 (gdb+0x1d0ed88) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #37 std::optional<std::packaged_task<void ()> >::~optional() /usr/include/c++/13/optional:705 (gdb+0x1d0ee0c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3) #38 gdb::thread_pool::thread_function() /home/vries/gdb/src/gdbsupport/thread-pool.cc:247 (gdb+0x1d0e82c) (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[32m Location is global 'global_index_cache' of size 48 at 0x000003280428 (gdb+0x3280448) [1m[0m[1m[36m Thread T5 'gdb worker' (tid=565994, 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/gdb/dwarf2/index-cache.c:76 in index_cache::enable() ================== (gdb) FAIL: gdb.base/index-cache.exp: test_basic_stuff: enable index cache ... -- You are receiving this mail because: You are on the CC list for the bug.
next reply other threads:[~2024-01-18 9:32 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-01-18 9:32 vries at gcc dot gnu.org [this message] 2024-01-18 12:37 ` [Bug gdb/31262] " vries at gcc dot gnu.org 2024-01-22 14:17 ` vries at gcc dot gnu.org 2024-01-22 20:33 ` tromey at sourceware dot org 2024-01-27 16:09 ` tromey at sourceware dot org 2024-01-28 16:33 ` tromey at sourceware dot org 2024-02-12 19:07 ` tromey at sourceware dot org 2024-03-09 0:27 ` cvs-commit at gcc dot gnu.org 2024-03-09 0:28 ` tromey at sourceware dot org 2024-05-17 14:17 ` tromey at sourceware dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-31262-4717@http.sourceware.org/bugzilla/ \ --to=sourceware-bugzilla@sourceware.org \ --cc=gdb-prs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).