public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
@ 2024-01-18  9:37 vries at gcc dot gnu.org
  2024-01-18  9:41 ` [Bug gdb/31263] " vries at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-18  9:37 UTC (permalink / raw)
  To: gdb-prs

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

            Bug ID: 31263
           Summary: [gdb] ThreadSanitizer: data race extension.c:755 in
                    set_active_ext_lang(extension_language_defn const*)
           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.dap/pause.exp, I get:
...
Content-Length: 104

{"type": "event", "event": "continued", "body": {"threadId": 1,
"allThreadsContinued": true}, "seq": 20}PASS: gdb.dap/pause.exp: continued
>>> {"seq": 9, "type": "request", "command": "cancel", "arguments": {"requestId": 8}}
Content-Length: 113

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"==================\n"}, "seq": 21}Content-Length: 143

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"WARNING: ThreadSanitizer: data race (pid=615372)\n"}, "seq":
22}Content-Length: 144

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
 Read of size 1 at 0x00000328064c by thread T19:\n"}, "seq": 23}Content-Length:
260

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #0 set_active_ext_lang(extension_language_defn const*)
/home/vries/gdb/src/gdb/extension.c:755 (gdb+0x94f9f0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 24}Content-Length: 297

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #1
scoped_disable_cooperative_sigint_handling::scoped_disable_cooperative_sigint_handling()
/home/vries/gdb/src/gdb/extension.c:697 (gdb+0x94f884) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 25}Content-Length: 229

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #2 gdbpy_interrupt /home/vries/gdb/src/gdb/python/python.c:1106
(gdb+0xd6ad40) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
26}Content-Length: 220

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #3 cfunction_vectorcall_NOARGS <null> (libpython3.12.so.1.0+0x18017c)
(BuildId: e9b415ce55c7933d6ad853dc95e0708f8be06109)\n"}, "seq":
27}Content-Length: 95

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"\n"}, "seq": 28}Content-Length: 155

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
 Previous write of size 1 at 0x00000328064c by main thread:\n"}, "seq":
29}Content-Length: 297

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #0
scoped_disable_cooperative_sigint_handling::scoped_disable_cooperative_sigint_handling()
/home/vries/gdb/src/gdb/extension.c:704 (gdb+0x94f8d4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 30}Content-Length: 229

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #1 fetch_inferior_event() /home/vries/gdb/src/gdb/infrun.c:4591
(gdb+0xa9abc4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
31}Content-Length: 250

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #2 inferior_event_handler(inferior_event_type)
/home/vries/gdb/src/gdb/inf-loop.c:42 (gdb+0xa6a734) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 32}Content-Length: 229

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #3 handle_target_event /home/vries/gdb/src/gdb/linux-nat.c:4357
(gdb+0xb0cb4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
33}Content-Length: 236

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #4 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
34}Content-Length: 237

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #5 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
35}Content-Length: 240

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #6 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:217
(gdb+0x1cf3ee8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
36}Content-Length: 227

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #7 wait_sync_command_done() /home/vries/gdb/src/gdb/top.c:427 (gdb+0xff6c74)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
37}Content-Length: 236

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #8 maybe_wait_sync_command_done(int) /home/vries/gdb/src/gdb/top.c:444
(gdb+0xff6d6c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
38}Content-Length: 236

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #9 execute_command(char const*, int) /home/vries/gdb/src/gdb/top.c:577
(gdb+0xff7494) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
39}Content-Length: 240

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #10 execute_control_command_1 /home/vries/gdb/src/gdb/cli/cli-script.c:529
(gdb+0x6fd9f0) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
40}Content-Length: 258

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #11 execute_control_command(command_line*, int)
/home/vries/gdb/src/gdb/cli/cli-script.c:701 (gdb+0x6fe084) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 41}Content-Length: 259

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #12 execute_control_commands(command_line*, int)
/home/vries/gdb/src/gdb/cli/cli-script.c:411 (gdb+0x6fd3d4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 42}Content-Length: 225

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #13 operator() /home/vries/gdb/src/gdb/cli/cli-script.c:432 (gdb+0x6fd4e4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
43}Content-Length: 295

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #14 __invoke_impl<void, execute_control_commands_to_string(command_line*,
int)::<lambda()>&> /usr/include/c++/13/bits/invoke.h:61 (gdb+0x701bd8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
44}Content-Length: 293

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #15 __invoke_r<void, execute_control_commands_to_string(command_line*,
int)::<lambda()>&> /usr/include/c++/13/bits/invoke.h:111 (gdb+0x7019d8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
45}Content-Length: 223

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #16 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x701798)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
46}Content-Length: 256

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #17 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 47}Content-Length: 259

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #18 execute_fn_to_ui_file(ui_file*, std::function<void ()>)
/home/vries/gdb/src/gdb/top.c:631 (gdb+0xff78bc) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 48}Content-Length: 336

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #19 execute_fn_to_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, std::function<void ()>, bool)
/home/vries/gdb/src/gdb/top.c:645 (gdb+0xff79f0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 49}Content-Length: 280

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #20 execute_control_commands_to_string[abi:cxx11](command_line*, int)
/home/vries/gdb/src/gdb/cli/cli-script.c:430 (gdb+0x6fd580) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 50}Content-Length: 233

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #21 execute_gdb_command /home/vries/gdb/src/gdb/python/python.c:673
(gdb+0xd697ec) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
51}Content-Length: 208

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #22 cfunction_call <null> (libpython3.12.so.1.0+0x1aced8) (BuildId:
e9b415ce55c7933d6ad853dc95e0708f8be06109)\n"}, "seq": 52}Content-Length: 285

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #23 void std::__invoke_impl<void, gdbpy_event&>(std::__invoke_other,
gdbpy_event&) /usr/include/c++/13/bits/invoke.h:61 (gdb+0xd717ec) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 53}Content-Length: 322

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #24 std::enable_if<is_invocable_r_v<void, gdbpy_event&>, void>::type
std::__invoke_r<void, gdbpy_event&>(gdbpy_event&)
/usr/include/c++/13/bits/invoke.h:111 (gdb+0xd714ac) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 54}Content-Length: 292

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #25 std::_Function_handler<void (), gdbpy_event>::_M_invoke(std::_Any_data
const&) /usr/include/c++/13/bits/std_function.h:290 (gdb+0xd70ef4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 55}Content-Length: 256

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #26 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 56}Content-Length: 228

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #27 run_events /home/vries/gdb/src/gdb/run-on-main-thread.c:76
(gdb+0xe58c4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
57}Content-Length: 237

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #28 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
58}Content-Length: 238

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #29 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
59}Content-Length: 241

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #30 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:264
(gdb+0x1cf4074) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
60}Content-Length: 221

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #31 start_event_loop /home/vries/gdb/src/gdb/main.c:408 (gdb+0xb79354)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
61}Content-Length: 226

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #32 captured_command_loop /home/vries/gdb/src/gdb/main.c:472 (gdb+0xb79584)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
62}Content-Length: 219

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #33 captured_main /home/vries/gdb/src/gdb/main.c:1342 (gdb+0xb7b99c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
63}Content-Length: 235

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #34 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
64}Content-Length: 207

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #35 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 65}Content-Length: 95

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"\n"}, "seq": 66}Content-Length: 198

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
 Location is global 'cooperative_sigint_handling_disabled' of size 1 at
0x00000328064c (gdb+0x328064c)\n"}, "seq": 67}Content-Length: 95

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"\n"}, "seq": 68}Content-Length: 155

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
 Thread T19 (tid=615397, running) created by thread T16 at:\n"}, "seq":
69}Content-Length: 198

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #0 pthread_create <null> (libtsan.so.2+0x4605c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)\n"}, "seq": 70}Content-Length: 218

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #1 PyThread_start_new_thread <null> (libpython3.12.so.1.0+0x291db0)
(BuildId: e9b415ce55c7933d6ad853dc95e0708f8be06109)\n"}, "seq":
71}Content-Length: 95

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"\n"}, "seq": 72}Content-Length: 225

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"SUMMARY: ThreadSanitizer: data race /home/vries/gdb/src/gdb/extension.c:755 in
set_active_ext_lang(extension_language_defn const*)\n"}, "seq":
73}Content-Length: 113

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"==================\n"}, "seq": 74}Content-Length: 113

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"==================\n"}, "seq": 75}Content-Length: 143

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"WARNING: ThreadSanitizer: data race (pid=615372)\n"}, "seq":
76}Content-Length: 144

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
 Read of size 8 at 0x000002fb5800 by thread T19:\n"}, "seq": 77}Content-Length:
260

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #0 set_active_ext_lang(extension_language_defn const*)
/home/vries/gdb/src/gdb/extension.c:759 (gdb+0x94fa14) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 78}Content-Length: 297

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #1
scoped_disable_cooperative_sigint_handling::scoped_disable_cooperative_sigint_handling()
/home/vries/gdb/src/gdb/extension.c:697 (gdb+0x94f884) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 79}Content-Length: 229

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #2 gdbpy_interrupt /home/vries/gdb/src/gdb/python/python.c:1106
(gdb+0xd6ad40) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
80}Content-Length: 220

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #3 cfunction_vectorcall_NOARGS <null> (libpython3.12.so.1.0+0x18017c)
(BuildId: e9b415ce55c7933d6ad853dc95e0708f8be06109)\n"}, "seq":
81}Content-Length: 95

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"\n"}, "seq": 82}Content-Length: 155

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
 Previous write of size 8 at 0x000002fb5800 by main thread:\n"}, "seq":
83}Content-Length: 260

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #0 set_active_ext_lang(extension_language_defn const*)
/home/vries/gdb/src/gdb/extension.c:773 (gdb+0x94faf8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 84}Content-Length: 297

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #1
scoped_disable_cooperative_sigint_handling::scoped_disable_cooperative_sigint_handling()
/home/vries/gdb/src/gdb/extension.c:697 (gdb+0x94f884) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 85}Content-Length: 229

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #2 fetch_inferior_event() /home/vries/gdb/src/gdb/infrun.c:4591
(gdb+0xa9abc4) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
86}Content-Length: 250

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #3 inferior_event_handler(inferior_event_type)
/home/vries/gdb/src/gdb/inf-loop.c:42 (gdb+0xa6a734) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 87}Content-Length: 229

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #4 handle_target_event /home/vries/gdb/src/gdb/linux-nat.c:4357
(gdb+0xb0cb4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
88}Content-Length: 236

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #5 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
89}Content-Length: 237

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #6 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
90}Content-Length: 240

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #7 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:217
(gdb+0x1cf3ee8) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
91}Content-Length: 227

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #8 wait_sync_command_done() /home/vries/gdb/src/gdb/top.c:427 (gdb+0xff6c74)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
92}Content-Length: 236

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #9 maybe_wait_sync_command_done(int) /home/vries/gdb/src/gdb/top.c:444
(gdb+0xff6d6c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
93}Content-Length: 237

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #10 execute_command(char const*, int) /home/vries/gdb/src/gdb/top.c:577
(gdb+0xff7494) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
94}Content-Length: 240

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #11 execute_control_command_1 /home/vries/gdb/src/gdb/cli/cli-script.c:529
(gdb+0x6fd9f0) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
95}Content-Length: 258

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #12 execute_control_command(command_line*, int)
/home/vries/gdb/src/gdb/cli/cli-script.c:701 (gdb+0x6fe084) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 96}Content-Length: 259

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #13 execute_control_commands(command_line*, int)
/home/vries/gdb/src/gdb/cli/cli-script.c:411 (gdb+0x6fd3d4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 97}Content-Length: 225

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #14 operator() /home/vries/gdb/src/gdb/cli/cli-script.c:432 (gdb+0x6fd4e4)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
98}Content-Length: 295

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #15 __invoke_impl<void, execute_control_commands_to_string(command_line*,
int)::<lambda()>&> /usr/include/c++/13/bits/invoke.h:61 (gdb+0x701bd8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
99}Content-Length: 294

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #16 __invoke_r<void, execute_control_commands_to_string(command_line*,
int)::<lambda()>&> /usr/include/c++/13/bits/invoke.h:111 (gdb+0x7019d8)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
100}Content-Length: 224

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #17 _M_invoke /usr/include/c++/13/bits/std_function.h:290 (gdb+0x701798)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
101}Content-Length: 257

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #18 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 102}Content-Length: 260

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #19 execute_fn_to_ui_file(ui_file*, std::function<void ()>)
/home/vries/gdb/src/gdb/top.c:631 (gdb+0xff78bc) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 103}Content-Length: 337

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #20 execute_fn_to_string(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, std::function<void ()>, bool)
/home/vries/gdb/src/gdb/top.c:645 (gdb+0xff79f0) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 104}Content-Length: 281

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #21 execute_control_commands_to_string[abi:cxx11](command_line*, int)
/home/vries/gdb/src/gdb/cli/cli-script.c:430 (gdb+0x6fd580) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 105}Content-Length: 234

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #22 execute_gdb_command /home/vries/gdb/src/gdb/python/python.c:673
(gdb+0xd697ec) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
106}Content-Length: 209

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #23 cfunction_call <null> (libpython3.12.so.1.0+0x1aced8) (BuildId:
e9b415ce55c7933d6ad853dc95e0708f8be06109)\n"}, "seq": 107}Content-Length: 286

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #24 void std::__invoke_impl<void, gdbpy_event&>(std::__invoke_other,
gdbpy_event&) /usr/include/c++/13/bits/invoke.h:61 (gdb+0xd717ec) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 108}Content-Length: 323

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #25 std::enable_if<is_invocable_r_v<void, gdbpy_event&>, void>::type
std::__invoke_r<void, gdbpy_event&>(gdbpy_event&)
/usr/include/c++/13/bits/invoke.h:111 (gdb+0xd714ac) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 109}Content-Length: 293

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #26 std::_Function_handler<void (), gdbpy_event>::_M_invoke(std::_Any_data
const&) /usr/include/c++/13/bits/std_function.h:290 (gdb+0xd70ef4) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 110}Content-Length: 257

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #27 std::function<void ()>::operator()() const
/usr/include/c++/13/bits/std_function.h:591 (gdb+0x70c308) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 111}Content-Length: 229

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #28 run_events /home/vries/gdb/src/gdb/run-on-main-thread.c:76
(gdb+0xe58c4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
112}Content-Length: 238

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #29 handle_file_event /home/vries/gdb/src/gdbsupport/event-loop.cc:573
(gdb+0x1cf5678) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
113}Content-Length: 239

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #30 gdb_wait_for_event /home/vries/gdb/src/gdbsupport/event-loop.cc:694
(gdb+0x1cf5d3c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
114}Content-Length: 242

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #31 gdb_do_one_event(int) /home/vries/gdb/src/gdbsupport/event-loop.cc:264
(gdb+0x1cf4074) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
115}Content-Length: 222

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #32 start_event_loop /home/vries/gdb/src/gdb/main.c:408 (gdb+0xb79354)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
116}Content-Length: 227

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #33 captured_command_loop /home/vries/gdb/src/gdb/main.c:472 (gdb+0xb79584)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
117}Content-Length: 220

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #34 captured_main /home/vries/gdb/src/gdb/main.c:1342 (gdb+0xb7b99c)
(BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
118}Content-Length: 236

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #35 gdb_main(captured_main_args*) /home/vries/gdb/src/gdb/main.c:1361
(gdb+0xb7ba4c) (BuildId: 6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq":
119}Content-Length: 208

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #36 main /home/vries/gdb/src/gdb/gdb.c:39 (gdb+0x423ce8) (BuildId:
6dc308d9bc2da51d7adf979315fabd66fb46e8a3)\n"}, "seq": 120}Content-Length: 96

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"\n"}, "seq": 121}Content-Length: 178

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
 Location is global 'active_ext_lang' of size 8 at 0x000002fb5800
(gdb+0x2fb5800)\n"}, "seq": 122}Content-Length: 96

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"\n"}, "seq": 123}Content-Length: 156

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
 Thread T19 (tid=615397, running) created by thread T16 at:\n"}, "seq":
124}Content-Length: 199

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #0 pthread_create <null> (libtsan.so.2+0x4605c) (BuildId:
fe872cc4563474b7ad67d63a019aa94e1e0df888)\n"}, "seq": 125}Content-Length: 219

{"type": "event", "event": "output", "body": {"category": "stdout", "output": "
   #1 PyThread_start_new_thread <null> (libpython3.12.so.1.0+0x291db0)
(BuildId: e9b415ce55c7933d6ad853dc95e0708f8be06109)\n"}, "seq":
126}Content-Length: 96

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"\n"}, "seq": 127}Content-Length: 226

{"type": "event", "event": "output", "body": {"category": "stdout", "output":
"SUMMARY: ThreadSanitizer: data race /home/vries/gdb/src/gdb/extension.c:759 in
set_active_ext_lang(extension_language_defn const*)\n"}, "seq":
128}Content-Length: 114
...

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

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

* [Bug gdb/31263] [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
  2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
@ 2024-01-18  9:41 ` vries at gcc dot gnu.org
  2024-01-22 14:52 ` [Bug dap/31263] " vries at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-18  9:41 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
Same test-case:
...
"type": "event", "event": "output", "body": {"category": "stdout", "output":
"SUMMARY: ThreadSanitizer: data race /home/vries/gdb/src/gdb/extension.c:704 in
scoped_disable_cooperative_sigint_handling::scoped_disable_cooperative_sigint_handling()\n"},
"seq": 181}Content-Length: 114^M
...

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

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

* [Bug dap/31263] [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
  2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
  2024-01-18  9:41 ` [Bug gdb/31263] " vries at gcc dot gnu.org
@ 2024-01-22 14:52 ` vries at gcc dot gnu.org
  2024-01-22 20:32 ` tromey at sourceware dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2024-01-22 14:52 UTC (permalink / raw)
  To: gdb-prs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|gdb                         |dap
                 CC|                            |tromey at sourceware dot org

--- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> ---
Bisects to:
...
commit 1c79c8dad90e4382100b51694a2b9ee7e913a04a (HEAD)
Author: Tom Tromey <tromey@adacore.com>
Date:   Tue Nov 7 10:56:07 2023 -0700

    Implement DAP cancellation

...

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

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

* [Bug dap/31263] [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
  2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
  2024-01-18  9:41 ` [Bug gdb/31263] " vries at gcc dot gnu.org
  2024-01-22 14:52 ` [Bug dap/31263] " vries at gcc dot gnu.org
@ 2024-01-22 20:32 ` tromey at sourceware dot org
  2024-02-12 18:58 ` tromey at sourceware dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ 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=31263

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] 9+ messages in thread

* [Bug dap/31263] [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
  2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-01-22 20:32 ` tromey at sourceware dot org
@ 2024-02-12 18:58 ` tromey at sourceware dot org
  2024-02-23 15:22 ` tromey at sourceware dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at sourceware dot org @ 2024-02-12 18:58 UTC (permalink / raw)
  To: gdb-prs

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

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] 9+ messages in thread

* [Bug dap/31263] [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
  2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-02-12 18:58 ` tromey at sourceware dot org
@ 2024-02-23 15:22 ` tromey at sourceware dot org
  2024-02-23 16:21 ` tromey at sourceware dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at sourceware dot org @ 2024-02-23 15:22 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #3 from Tom Tromey <tromey at sourceware dot org> ---
This one is kind of ugly because we basically need a mutex
so that set_quit_flag can safely be called off the main thread.
I must have thought this was an atomic operation when I wrote
this patch :(
Anyway the issue is that some hosts don't have threading
support in the c++ compiler, so making a mutex is difficult.

Not sure what to do there.  I'm leaning toward just allowing
the race in this situation, but disabling DAP would be
a possibility as well.

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

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

* [Bug dap/31263] [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
  2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2024-02-23 15:22 ` tromey at sourceware dot org
@ 2024-02-23 16:21 ` tromey at sourceware dot org
  2024-02-28 16:13 ` cvs-commit at gcc dot gnu.org
  2024-02-28 16:14 ` tromey at sourceware dot org
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at sourceware dot org @ 2024-02-23 16:21 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #4 from Tom Tromey <tromey at sourceware dot org> ---
https://sourceware.org/pipermail/gdb-patches/2024-February/206783.html

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

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

* [Bug dap/31263] [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
  2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2024-02-23 16:21 ` tromey at sourceware dot org
@ 2024-02-28 16:13 ` cvs-commit at gcc dot gnu.org
  2024-02-28 16:14 ` tromey at sourceware dot org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-02-28 16:13 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #5 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=8bb8f8346729c35433c961f7f1ed3a801776a362

commit 8bb8f8346729c35433c961f7f1ed3a801776a362
Author: Tom Tromey <tromey@adacore.com>
Date:   Fri Feb 23 08:59:40 2024 -0700

    Fix gdb.interrupt race

    gdb.interrupt was introduced to implement DAP request cancellation.
    However, because it can be run from another thread, and because I
    didn't look deeply enough at the implementation, it turns out to be
    racy.

    The fix here is to lock accesses to certain globals in extension.c.

    Note that this won't work in the case where configure detects that the
    C++ compiler doesn't provide thread support.  This version of the
    patch disables DAP entirely in this situation.

    Regression tested on x86-64 Fedora 38.  I also ran gdb.dap/pause.exp
    in a thread-sanitizer build tree to make sure the reported race is
    gone.

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

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

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

* [Bug dap/31263] [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*)
  2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2024-02-28 16:13 ` cvs-commit at gcc dot gnu.org
@ 2024-02-28 16:14 ` tromey at sourceware dot org
  7 siblings, 0 replies; 9+ messages in thread
From: tromey at sourceware dot org @ 2024-02-28 16:14 UTC (permalink / raw)
  To: gdb-prs

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

Tom Tromey <tromey at sourceware dot org> changed:

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

--- Comment #6 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] 9+ messages in thread

end of thread, other threads:[~2024-02-28 16:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-18  9:37 [Bug gdb/31263] New: [gdb] ThreadSanitizer: data race extension.c:755 in set_active_ext_lang(extension_language_defn const*) vries at gcc dot gnu.org
2024-01-18  9:41 ` [Bug gdb/31263] " vries at gcc dot gnu.org
2024-01-22 14:52 ` [Bug dap/31263] " vries at gcc dot gnu.org
2024-01-22 20:32 ` tromey at sourceware dot org
2024-02-12 18:58 ` tromey at sourceware dot org
2024-02-23 15:22 ` tromey at sourceware dot org
2024-02-23 16:21 ` tromey at sourceware dot org
2024-02-28 16:13 ` cvs-commit at gcc dot gnu.org
2024-02-28 16:14 ` 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).