Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/external/gpl3/gdb/dist/gdb



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



Home | Main Index | Thread Index | Old Index