On 13.10.2020 11:14, Leonardo Taccari wrote: > Hello Kamil, > > Kamil Rytarowski writes: >> Module Name: src >> Committed By: kamil >> Date: Tue Oct 6 23:14:47 UTC 2020 >> >> Modified Files: >> src/external/gpl3/gdb/dist/gdb: inf-ptrace.c nbsd-nat.c >> >> Log Message: >> Undo local patches >> >> They are no longer needed (and are wrong). >> [...] > > This seems to break gdb, e.g. by starting debugging sleep(1): > > | % gdb sleep > | Reading symbols from sleep... > | Reading symbols from /usr/libdata/debug//bin/sleep.debug... > | (gdb) r > | Starting program: /bin/sleep > | /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/thread.c:1309: internal-error: void switch_to_thread(thread_info*): Assertion `thr != NULL' failed. > | A problem internal to GDB has been detected, > | further debugging may prove unreliable. > | Quit this debugging session? (y or n) y > | > | This is a bug, please report it. For instructions, see: > | <https://www.gnu.org/software/gdb/bugs/>. > | > | /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/thread.c:1309: internal-error: void switch_to_thread(thread_info*): Assertion `thr != NULL' failed. > | A problem internal to GDB has been detected, > | further debugging may prove unreliable. > | Create a core file of GDB? (y or n) y > | [ 240.7909538] sorry, pid 2675 was killed: orphaned traced process > | Abort (core dumped) > | Exit 134 > | % gdb -core gdb.core gdb > | Reading symbols from gdb... > | Reading symbols from /usr/libdata/debug//usr/bin/gdb.debug... > | [New process 1687] > | [New process 2908] > | [New process 2801] > | [New process 1688] > | [New process 1668] > | Core was generated by `gdb'. > | Program terminated with signal SIGABRT, Aborted. > | #0 0x000076efa39833ba in _lwp_kill () from /usr/lib/libc.so.12 > | [Current thread is 1 (process 1687)] > | (gdb) bt > | #0 0x000076efa39833ba in _lwp_kill () from /usr/lib/libc.so.12 > | #1 0x000076efa3983879 in abort () at /usr/src/lib/libc/stdlib/abort.c:74 > | #2 0x00000000d83814e9 in dump_core () at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/utils.c:204 > | #3 0x00000000d8386315 in internal_vproblem(internal_problem *, const char *, int, const char *, typedef __va_list_tag __va_list_tag *) ( > | problem=problem@entry=0xd8bf05e0 <internal_error_problem>, file=<optimized out>, line=<optimized out>, fmt=<optimized out>, ap=ap@entry=0x7f7fff084bc8) > | at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/utils.c:414 > | #4 0x00000000d83864fb in internal_verror (file=<optimized out>, line=<optimized out>, fmt=<optimized out>, ap=ap@entry=0x7f7fff084bc8) > | at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/utils.c:439 > | #5 0x00000000d862e40a in internal_error (file=file@entry=0xd8758578 "/usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/thread.c", line=line@entry=1309, fmt=<optimized out>) > | at /usr/src/external/gpl3/gdb/lib/libgdbsupport/../../dist/gdbsupport/errors.cc:55 > | #6 0x00000000d83a96f5 in switch_to_thread (thr=0x0) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/thread.c:1309 > | #7 switch_to_thread (thr=<optimized out>) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/thread.c:1307 > | #8 0x00000000d854e02e in startup_inferior (proc_target=proc_target@entry=0xd8bf1c50 <the_amd64_nbsd_nat_target>, pid=pid@entry=2675, ntraps=ntraps@entry=1, > | last_waitstatus=last_waitstatus@entry=0x0, last_ptid=last_ptid@entry=0x0) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/nat/fork-inferior.c:539 > | #9 0x00000000d854ef07 in gdb_startup_inferior (pid=pid@entry=2675, num_traps=num_traps@entry=1) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/fork-child.c:129 > | #10 0x00000000d84f8592 in inf_ptrace_target::create_inferior (this=this@entry=0xd8bf1c50 <the_amd64_nbsd_nat_target>, exec_file=exec_file@entry=0x76efa67946f0 "/bin/sleep", allargs=..., > | env=env@entry=0x76efa6b1e400, from_tty=from_tty@entry=1) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/inf-ptrace.c:117 > | #11 0x00000000d82b98e0 in run_command_1 (args=<optimized out>, from_tty=1, run_how=RUN_NORMAL) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infcmd.c:493 > | #12 0x00000000d83663d2 in cmd_func (cmd=<optimized out>, args=<optimized out>, from_tty=<optimized out>) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/cli/cli-decode.c:2181 > | #13 0x00000000d83a402d in execute_command (p=<optimized out>, p@entry=0x76efa6b5c020 "", from_tty=1) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/top.c:668 > | #14 0x00000000d82d726c in command_handler (command=0x76efa6b5c020 "") at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/event-top.c:588 > | #15 0x00000000d82d81ad in command_line_handler (rl=...) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/event-top.c:773 > | #16 0x00000000d82d7ad5 in gdb_rl_callback_handler (rl=0x76efa6b5c200 "r") at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/event-top.c:219 > | #17 0x00000000d864f85e in rl_callback_read_char () at /usr/src/external/gpl3/gdb/dist/readline/readline/callback.c:281 > | #18 0x00000000d82d6c5e in gdb_rl_callback_read_char_wrapper_noexcept () at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/event-top.c:177 > | #19 0x00000000d82d78e0 in gdb_rl_callback_read_char_wrapper (client_data=<optimized out>) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/event-top.c:194 > | #20 0x00000000d82d6ba0 in stdin_event_handler (error=<optimized out>, client_data=0x76efa6b3e0c0) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/event-top.c:516 > | #21 0x00000000d862a0d1 in gdb_wait_for_event (block=block@entry=1) at /usr/src/external/gpl3/gdb/lib/libgdbsupport/../../dist/gdbsupport/event-loop.cc:673 > | #22 0x00000000d862a24a in gdb_wait_for_event (block=1) at /usr/src/external/gpl3/gdb/lib/libgdbsupport/../../dist/gdbsupport/event-loop.cc:569 > | #23 gdb_do_one_event () at /usr/src/external/gpl3/gdb/lib/libgdbsupport/../../dist/gdbsupport/event-loop.cc:215 > | #24 0x00000000d82afc45 in start_event_loop () at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/main.c:356 > | #25 captured_command_loop () at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/main.c:416 > | #26 0x00000000d82b1a65 in captured_main (data=data@entry=0x7f7fff0851c0) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/main.c:1253 > | #27 gdb_main (args=args@entry=0x7f7fff0851e0) at /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/main.c:1268 > | #28 0x00000000d86a8dfc in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/external/gpl3/gdb/bin/gdb/../../dist/gdb/gdb.c:32 > | (gdb) quit > > Reverting this commit, i.e.: > > src/external/gpl3/gdb/dist/gdb/inf-ptrace.c to -r1.21 > src/external/gpl3/gdb/dist/gdb/nbsd-nat.c to -r1.17 > > Fixes that (thanks to Christos for suggesting that!). > Please revert inf-ptrace.c and nbsd-nat.c to the pristine version in your tree and update gdb/nat/fork-inferior.c to r.1.2 and retry. This is a core gdb code bug and a patch proposal (committed to the local tree) was submitted here: https://sourceware.org/pipermail/gdb-patches/2020-October/172558.html > > Can you please give it a look? Done, please test the new version. > Thanks! >
Attachment:
signature.asc
Description: OpenPGP digital signature