* internal-error: inferior* find_inferior_pid(process_stratum_target*, int): Assertion `pid != 0' failed
@ 2020-02-06 18:10 Maxim Blinov
2020-02-07 2:49 ` Simon Marchi
0 siblings, 1 reply; 2+ messages in thread
From: Maxim Blinov @ 2020-02-06 18:10 UTC (permalink / raw)
To: gdb
Hi all, I have a problem running GDB in simulator mode (CGEN) for m32r and avr.
The problem in both cases seems to be to do with the following: CGEN will
set the inferior_ptid.m_pid to 42000 (hardcoded arbitrary value). However,
at some point, when I hit 'r' to run all, the "switch_to_no_thread()" function
will set "inferior_ptid = null_ptid", and at some point later GDB will crash
(see below).
Version numbers are at the bottom of email.
I can pinpoint the place at which inferior_ptid.m_pid changes from 42000 to 0,
by running avr-gdb under my workstation-gdb, like so (the "avr-gdb" and
"workstation-gdb" are my own prefixes, just to differentiate.):
shell-window-1$ avr-gdb hello
(avr-gdb)
shell-window-2$ gdb -p <the avr-gdb pid>
(workstation-gdb)
(workstation-gdb) watch inferior_ptid.m_pid
(workstation-gdb) condition 1 inferior_ptid.m_pid != 42000
(workstation-gdb) c
(avr-gdb) target sim
(avr-gdb) load
(avr-gdb) info files
Symbols from "/home/maxim/dev/ovl/avr/test-arena/hello".
Local exec file:
`/home/maxim/dev/ovl/avr/test-arena/hello', file type elf32-avr.
Entry point: 0x0
0x00800100 - 0x0080010e is .data
0x00000000 - 0x000001b4 is .text
0x0080010e - 0x00800114 is .bss
(avr-gdb) b *0x0
(avr-gdb) r
(workstation-gdb)
Thread 1 "avr-gdb" hit Hardware watchpoint 2: inferior_ptid.m_pid
Old value = 42000
New value = 0
0x000055f3c41229e5 in switch_to_no_thread ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/thread.c:1331
1331 inferior_ptid = null_ptid;
(workstation-gdb) bt
#0 0x000055f3c41229e5 in switch_to_no_thread ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/thread.c:1331
#1 0x000055f3c3efae59 in switch_to_inferior_no_thread (inf=0x55f3c4d48240)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c:623
#2 0x000055f3c3f038c4 in commit_resume_all_targets ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:2880
#3 0x000055f3c3f0462e in proceed (addr=0, siggnal=GDB_SIGNAL_0)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:3183
#4 0x000055f3c3ef1c78 in run_command_1 (args=0x0, from_tty=1,
run_how=RUN_NORMAL)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infcmd.c:678
#5 0x000055f3c3ef1d45 in run_command (args=0x0, from_tty=1)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infcmd.c:688
#6 0x000055f3c3d59a24 in do_const_cfunc (c=0x55f3c4e24450, args=0x0,
from_tty=1)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/cli/cli-decode.c:107
#7 0x000055f3c3d5cf43 in cmd_func (cmd=0x55f3c4e24450, args=0x0, from_tty=1)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/cli/cli-decode.c:1952
#8 0x000055f3c412a254 in execute_command (p=0x55f3c4d0da21 "", from_tty=1)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/top.c:653
#9 0x000055f3c3e94151 in command_handler (command=0x55f3c4d0da20 "")
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:587
#10 0x000055f3c3e945cb in command_line_handler (rl=...)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:772
#11 0x000055f3c3e938c5 in gdb_rl_callback_handler (rl=0x55f3c4edca80 "r")
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:218
#12 0x000055f3c41f9d39 in rl_callback_read_char ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./readline/readline/callback.c:281
#13 0x000055f3c3e936ed in gdb_rl_callback_read_char_wrapper_noexcept ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:176
#14 0x000055f3c3e93797 in gdb_rl_callback_read_char_wrapper (
client_data=0x55f3c4d0d770)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:193
#15 0x000055f3c3e93fe3 in stdin_event_handler (error=0,
client_data=0x55f3c4d0d770)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:515
#16 0x000055f3c3e91bfe in handle_file_event (file_ptr=0x55f3c4ec93c0,
ready_mask=1)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:731
#17 0x000055f3c3e921c7 in gdb_wait_for_event (block=1)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:857
#18 0x000055f3c3e90fcd in gdb_do_one_event ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:346
#19 0x000055f3c3e90ff7 in start_event_loop ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:370
#20 0x000055f3c3f507b0 in captured_command_loop ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:360
#21 0x000055f3c3f520ad in captured_main (data=0x7fff597e8340)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:1203
#22 0x000055f3c3f52113 in gdb_main (args=0x7fff597e8340)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:1218
#23 0x000055f3c3c71cc3 in main (argc=2, argv=0x7fff597e8448)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/gdb.c:32
(workstation-gdb) c
...
At this point, I hit the hardware watchpoint 2 more times. I'm not sure if thats
significant, but its just the same "changed from 42000 to 0".
...
(avr-gdb)
Starting program: /home/maxim/dev/ovl/avr/test-arena/hello
/home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c:279:
internal-error: inferior* find_inferior_pid(process_stratum_target*,
int): Assertion `pid != 0' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
And thats that. I originally did this for m32r, but when that failed, I went
to avr but has exactly the same problem.
Here is the coredump backtrace for avr-gdb:
```
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f404663d801 in __GI_abort () at abort.c:79
#2 0x000055cb48885d69 in dump_core ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/utils.c:203
#3 0x000055cb4888630e in internal_vproblem(internal_problem *, const
char *, int, const char *, typedef __va_list_tag __va_list_tag *) (
problem=0x55cb48f27660 <internal_error_problem>,
file=0x55cb48a85738 "/home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c",
line=279, fmt=0x55cb48a856ab "%s: Assertion `%s' failed.",
ap=0x7fff97d46a70)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/utils.c:413
#4 0x000055cb488863f3 in internal_verror (
file=0x55cb48a85738 "/home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c",
line=279, fmt=0x55cb48a856ab "%s: Assertion `%s' failed.",
ap=0x7fff97d46a70)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/utils.c:438
#5 0x000055cb489cf758 in internal_error (
file=0x55cb48a85738 "/home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c",
line=279, fmt=0x55cb48a856ab "%s: Assertion `%s' failed.")
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdbsupport/errors.c:55
#6 0x000055cb4860b7c3 in find_inferior_pid (targ=0x55cb48f26de0
<gdbsim_ops>, pid=0)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c:279
#7 0x000055cb4860b88a in find_inferior_ptid (targ=0x55cb48f26de0 <gdbsim_ops>,
ptid=...) at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c:293
#8 0x000055cb48831d29 in find_thread_ptid (targ=0x55cb48f26de0
<gdbsim_ops>, ptid=...)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/thread.c:527
#9 0x000055cb4861b629 in handle_inferior_event (ecs=0x7fff97d46ec0)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:5062
#10 0x000055cb48618ab9 in fetch_inferior_event (client_data=0x0)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:4002
#11 0x000055cb485fcb43 in inferior_event_handler (event_type=INF_REG_EVENT,
client_data=0x0) at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inf-loop.c:43
#12 0x000055cb48624b9c in infrun_async_inferior_event_handler (data=0x0)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:9317
#13 0x000055cb485a468e in check_async_event_handlers ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:1062
#14 0x000055cb485a2f5f in gdb_do_one_event ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:325
#15 0x000055cb485a2ff7 in start_event_loop ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:370
#16 0x000055cb486627b0 in captured_command_loop ()
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:360
#17 0x000055cb486640ad in captured_main (data=0x7fff97d470e0)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:1203
#18 0x000055cb48664113 in gdb_main (args=0x7fff97d470e0)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:1218
#19 0x000055cb48383cc3 in main (argc=2, argv=0x7fff97d471e8)
at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/gdb.c:32
```
And here is the coredump backtrace for m32r-unknown-elf-gdb:
```
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f5562123801 in __GI_abort () at abort.c:79
#2 0x00005599a200c3a7 in dump_core ()
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/utils.c:203
#3 0x00005599a200c94c in internal_vproblem(internal_problem *, const
char *, int, const char *, typedef __va_list_tag __va_list_tag *) (
problem=0x5599a2744740 <internal_error_problem>,
file=0x5599a2280758
"/home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c",
line=279, fmt=0x5599a22806cb "%s: Assertion `%s' failed.",
ap=0x7ffc2d752ff0)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/utils.c:413
#4 0x00005599a200ca31 in internal_verror (
file=0x5599a2280758
"/home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c",
line=279, fmt=0x5599a22806cb "%s: Assertion `%s' failed.",
ap=0x7ffc2d752ff0)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/utils.c:438
#5 0x00005599a21bf5a0 in internal_error (
file=0x5599a2280758
"/home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c",
line=279, fmt=0x5599a22806cb "%s: Assertion `%s' failed.")
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdbsupport/errors.c:55
#6 0x00005599a1d906a7 in find_inferior_pid (targ=0x5599a2743ec0
<gdbsim_ops>, pid=0)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c:279
#7 0x00005599a1d9076e in find_inferior_ptid (targ=0x5599a2743ec0 <gdbsim_ops>,
ptid=...) at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c:293
#8 0x00005599a1fb8367 in find_thread_ptid (targ=0x5599a2743ec0
<gdbsim_ops>, ptid=...)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/thread.c:527
#9 0x00005599a1da050d in handle_inferior_event (ecs=0x7ffc2d753440)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/infrun.c:5062
#10 0x00005599a1d9d99d in fetch_inferior_event (client_data=0x0)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/infrun.c:4002
#11 0x00005599a1d81a27 in inferior_event_handler (event_type=INF_REG_EVENT,
client_data=0x0) at
/home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inf-loop.c:43
#12 0x00005599a1da9a80 in infrun_async_inferior_event_handler (data=0x0)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/infrun.c:9317
#13 0x00005599a1d29572 in check_async_event_handlers ()
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/event-loop.c:1062
#14 0x00005599a1d27e43 in gdb_do_one_event ()
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/event-loop.c:325
#15 0x00005599a1d27edb in start_event_loop ()
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/event-loop.c:370
#16 0x00005599a1de8dee in captured_command_loop ()
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/main.c:360
#17 0x00005599a1dea6eb in captured_main (data=0x7ffc2d753660)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/main.c:1203
#18 0x00005599a1dea751 in gdb_main (args=0x7ffc2d753660)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/main.c:1218
#19 0x00005599a1b0b413 in main (argc=2, argv=0x7ffc2d753768)
at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/gdb.c:32
```
I saw this discussion that seemed to have a very similar problem, here:
https://sourceware.org/ml/gdb-patches/2019-10/msg00512.html
The patch doesn't apply anymore, but even when I did try adding an equivalent
statement, it still didn't work (I only tried with AVR though).
Version numbers:
maxim@fujitsu:~/dev/ovl/avr/test-arena$ avr-gdb --version
GNU gdb (GDB) 10.0.50.20200201-git
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
maxim@fujitsu:~/dev/ovl/avr/test-arena$ avr-as --version
GNU assembler (GNU Binutils) 2.34
Copyright (C) 2020 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public Licence version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `avr'.
Maxim
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: internal-error: inferior* find_inferior_pid(process_stratum_target*, int): Assertion `pid != 0' failed
2020-02-06 18:10 internal-error: inferior* find_inferior_pid(process_stratum_target*, int): Assertion `pid != 0' failed Maxim Blinov
@ 2020-02-07 2:49 ` Simon Marchi
0 siblings, 0 replies; 2+ messages in thread
From: Simon Marchi @ 2020-02-07 2:49 UTC (permalink / raw)
To: Maxim Blinov, gdb
On 2020-02-06 1:09 p.m., Maxim Blinov wrote:
> Hi all, I have a problem running GDB in simulator mode (CGEN) for m32r and avr.
>
> The problem in both cases seems to be to do with the following: CGEN will
> set the inferior_ptid.m_pid to 42000 (hardcoded arbitrary value). However,
> at some point, when I hit 'r' to run all, the "switch_to_no_thread()" function
> will set "inferior_ptid = null_ptid", and at some point later GDB will crash
> (see below).
>
> Version numbers are at the bottom of email.
>
> I can pinpoint the place at which inferior_ptid.m_pid changes from 42000 to 0,
> by running avr-gdb under my workstation-gdb, like so (the "avr-gdb" and
> "workstation-gdb" are my own prefixes, just to differentiate.):
>
> shell-window-1$ avr-gdb hello
> (avr-gdb)
> shell-window-2$ gdb -p <the avr-gdb pid>
> (workstation-gdb)
> (workstation-gdb) watch inferior_ptid.m_pid
> (workstation-gdb) condition 1 inferior_ptid.m_pid != 42000
> (workstation-gdb) c
> (avr-gdb) target sim
> (avr-gdb) load
> (avr-gdb) info files
> Symbols from "/home/maxim/dev/ovl/avr/test-arena/hello".
> Local exec file:
> `/home/maxim/dev/ovl/avr/test-arena/hello', file type elf32-avr.
> Entry point: 0x0
> 0x00800100 - 0x0080010e is .data
> 0x00000000 - 0x000001b4 is .text
> 0x0080010e - 0x00800114 is .bss
> (avr-gdb) b *0x0
> (avr-gdb) r
> (workstation-gdb)
> Thread 1 "avr-gdb" hit Hardware watchpoint 2: inferior_ptid.m_pid
>
> Old value = 42000
> New value = 0
> 0x000055f3c41229e5 in switch_to_no_thread ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/thread.c:1331
> 1331 inferior_ptid = null_ptid;
> (workstation-gdb) bt
> #0 0x000055f3c41229e5 in switch_to_no_thread ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/thread.c:1331
> #1 0x000055f3c3efae59 in switch_to_inferior_no_thread (inf=0x55f3c4d48240)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c:623
> #2 0x000055f3c3f038c4 in commit_resume_all_targets ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:2880
> #3 0x000055f3c3f0462e in proceed (addr=0, siggnal=GDB_SIGNAL_0)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:3183
> #4 0x000055f3c3ef1c78 in run_command_1 (args=0x0, from_tty=1,
> run_how=RUN_NORMAL)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infcmd.c:678
> #5 0x000055f3c3ef1d45 in run_command (args=0x0, from_tty=1)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infcmd.c:688
> #6 0x000055f3c3d59a24 in do_const_cfunc (c=0x55f3c4e24450, args=0x0,
> from_tty=1)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/cli/cli-decode.c:107
> #7 0x000055f3c3d5cf43 in cmd_func (cmd=0x55f3c4e24450, args=0x0, from_tty=1)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/cli/cli-decode.c:1952
> #8 0x000055f3c412a254 in execute_command (p=0x55f3c4d0da21 "", from_tty=1)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/top.c:653
> #9 0x000055f3c3e94151 in command_handler (command=0x55f3c4d0da20 "")
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:587
> #10 0x000055f3c3e945cb in command_line_handler (rl=...)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:772
> #11 0x000055f3c3e938c5 in gdb_rl_callback_handler (rl=0x55f3c4edca80 "r")
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:218
> #12 0x000055f3c41f9d39 in rl_callback_read_char ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./readline/readline/callback.c:281
> #13 0x000055f3c3e936ed in gdb_rl_callback_read_char_wrapper_noexcept ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:176
> #14 0x000055f3c3e93797 in gdb_rl_callback_read_char_wrapper (
> client_data=0x55f3c4d0d770)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:193
> #15 0x000055f3c3e93fe3 in stdin_event_handler (error=0,
> client_data=0x55f3c4d0d770)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-top.c:515
> #16 0x000055f3c3e91bfe in handle_file_event (file_ptr=0x55f3c4ec93c0,
> ready_mask=1)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:731
> #17 0x000055f3c3e921c7 in gdb_wait_for_event (block=1)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:857
> #18 0x000055f3c3e90fcd in gdb_do_one_event ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:346
> #19 0x000055f3c3e90ff7 in start_event_loop ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:370
> #20 0x000055f3c3f507b0 in captured_command_loop ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:360
> #21 0x000055f3c3f520ad in captured_main (data=0x7fff597e8340)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:1203
> #22 0x000055f3c3f52113 in gdb_main (args=0x7fff597e8340)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:1218
> #23 0x000055f3c3c71cc3 in main (argc=2, argv=0x7fff597e8448)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/gdb.c:32
> (workstation-gdb) c
>
> ...
> At this point, I hit the hardware watchpoint 2 more times. I'm not sure if thats
> significant, but its just the same "changed from 42000 to 0".
> ...
>
> (avr-gdb)
> Starting program: /home/maxim/dev/ovl/avr/test-arena/hello
> /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c:279:
> internal-error: inferior* find_inferior_pid(process_stratum_target*,
> int): Assertion `pid != 0' failed.
> A problem internal to GDB has been detected,
> further debugging may prove unreliable.
> Quit this debugging session? (y or n)
>
>
> And thats that. I originally did this for m32r, but when that failed, I went
> to avr but has exactly the same problem.
>
>
> Here is the coredump backtrace for avr-gdb:
>
> ```
> #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1 0x00007f404663d801 in __GI_abort () at abort.c:79
> #2 0x000055cb48885d69 in dump_core ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/utils.c:203
> #3 0x000055cb4888630e in internal_vproblem(internal_problem *, const
> char *, int, const char *, typedef __va_list_tag __va_list_tag *) (
> problem=0x55cb48f27660 <internal_error_problem>,
> file=0x55cb48a85738 "/home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c",
> line=279, fmt=0x55cb48a856ab "%s: Assertion `%s' failed.",
> ap=0x7fff97d46a70)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/utils.c:413
> #4 0x000055cb488863f3 in internal_verror (
> file=0x55cb48a85738 "/home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c",
> line=279, fmt=0x55cb48a856ab "%s: Assertion `%s' failed.",
> ap=0x7fff97d46a70)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/utils.c:438
> #5 0x000055cb489cf758 in internal_error (
> file=0x55cb48a85738 "/home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c",
> line=279, fmt=0x55cb48a856ab "%s: Assertion `%s' failed.")
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdbsupport/errors.c:55
> #6 0x000055cb4860b7c3 in find_inferior_pid (targ=0x55cb48f26de0
> <gdbsim_ops>, pid=0)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c:279
> #7 0x000055cb4860b88a in find_inferior_ptid (targ=0x55cb48f26de0 <gdbsim_ops>,
> ptid=...) at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inferior.c:293
> #8 0x000055cb48831d29 in find_thread_ptid (targ=0x55cb48f26de0
> <gdbsim_ops>, ptid=...)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/thread.c:527
> #9 0x000055cb4861b629 in handle_inferior_event (ecs=0x7fff97d46ec0)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:5062
> #10 0x000055cb48618ab9 in fetch_inferior_event (client_data=0x0)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:4002
> #11 0x000055cb485fcb43 in inferior_event_handler (event_type=INF_REG_EVENT,
> client_data=0x0) at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/inf-loop.c:43
> #12 0x000055cb48624b9c in infrun_async_inferior_event_handler (data=0x0)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/infrun.c:9317
> #13 0x000055cb485a468e in check_async_event_handlers ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:1062
> #14 0x000055cb485a2f5f in gdb_do_one_event ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:325
> #15 0x000055cb485a2ff7 in start_event_loop ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/event-loop.c:370
> #16 0x000055cb486627b0 in captured_command_loop ()
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:360
> #17 0x000055cb486640ad in captured_main (data=0x7fff97d470e0)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:1203
> #18 0x000055cb48664113 in gdb_main (args=0x7fff97d470e0)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/main.c:1218
> #19 0x000055cb48383cc3 in main (argc=2, argv=0x7fff97d471e8)
> at /home/maxim/dev/ovl/avr/binutils-gdb/./gdb/gdb.c:32
> ```
>
> And here is the coredump backtrace for m32r-unknown-elf-gdb:
>
> ```
> #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1 0x00007f5562123801 in __GI_abort () at abort.c:79
> #2 0x00005599a200c3a7 in dump_core ()
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/utils.c:203
> #3 0x00005599a200c94c in internal_vproblem(internal_problem *, const
> char *, int, const char *, typedef __va_list_tag __va_list_tag *) (
> problem=0x5599a2744740 <internal_error_problem>,
> file=0x5599a2280758
> "/home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c",
> line=279, fmt=0x5599a22806cb "%s: Assertion `%s' failed.",
> ap=0x7ffc2d752ff0)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/utils.c:413
> #4 0x00005599a200ca31 in internal_verror (
> file=0x5599a2280758
> "/home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c",
> line=279, fmt=0x5599a22806cb "%s: Assertion `%s' failed.",
> ap=0x7ffc2d752ff0)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/utils.c:438
> #5 0x00005599a21bf5a0 in internal_error (
> file=0x5599a2280758
> "/home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c",
> line=279, fmt=0x5599a22806cb "%s: Assertion `%s' failed.")
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdbsupport/errors.c:55
> #6 0x00005599a1d906a7 in find_inferior_pid (targ=0x5599a2743ec0
> <gdbsim_ops>, pid=0)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c:279
> #7 0x00005599a1d9076e in find_inferior_ptid (targ=0x5599a2743ec0 <gdbsim_ops>,
> ptid=...) at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inferior.c:293
> #8 0x00005599a1fb8367 in find_thread_ptid (targ=0x5599a2743ec0
> <gdbsim_ops>, ptid=...)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/thread.c:527
> #9 0x00005599a1da050d in handle_inferior_event (ecs=0x7ffc2d753440)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/infrun.c:5062
> #10 0x00005599a1d9d99d in fetch_inferior_event (client_data=0x0)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/infrun.c:4002
> #11 0x00005599a1d81a27 in inferior_event_handler (event_type=INF_REG_EVENT,
> client_data=0x0) at
> /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/inf-loop.c:43
> #12 0x00005599a1da9a80 in infrun_async_inferior_event_handler (data=0x0)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/infrun.c:9317
> #13 0x00005599a1d29572 in check_async_event_handlers ()
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/event-loop.c:1062
> #14 0x00005599a1d27e43 in gdb_do_one_event ()
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/event-loop.c:325
> #15 0x00005599a1d27edb in start_event_loop ()
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/event-loop.c:370
> #16 0x00005599a1de8dee in captured_command_loop ()
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/main.c:360
> #17 0x00005599a1dea6eb in captured_main (data=0x7ffc2d753660)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/main.c:1203
> #18 0x00005599a1dea751 in gdb_main (args=0x7ffc2d753660)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/main.c:1218
> #19 0x00005599a1b0b413 in main (argc=2, argv=0x7ffc2d753768)
> at /home/maxim/dev/ovl/m32r/binutils-gdb/./gdb/gdb.c:32
> ```
>
> I saw this discussion that seemed to have a very similar problem, here:
> https://sourceware.org/ml/gdb-patches/2019-10/msg00512.html
>
> The patch doesn't apply anymore, but even when I did try adding an equivalent
> statement, it still didn't work (I only tried with AVR though).
>
> Version numbers:
>
> maxim@fujitsu:~/dev/ovl/avr/test-arena$ avr-gdb --version
> GNU gdb (GDB) 10.0.50.20200201-git
> Copyright (C) 2020 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> maxim@fujitsu:~/dev/ovl/avr/test-arena$ avr-as --version
> GNU assembler (GNU Binutils) 2.34
> Copyright (C) 2020 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public Licence version 3 or later.
> This program has absolutely no warranty.
> This assembler was configured for a target of `avr'.
>
> Maxim
>
Hi Maxim,
I didn't read your backtraces in details, but this looks very much like what
was fixed by this patch (present in master):
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cf1d9e092f871df3b34a58cfcde915c689ac9067
Can you check if you have it?
Simon
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-02-07 2:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-06 18:10 internal-error: inferior* find_inferior_pid(process_stratum_target*, int): Assertion `pid != 0' failed Maxim Blinov
2020-02-07 2:49 ` Simon Marchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox