This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/19503] internal-error: linux_nat_resume: Assertion `lp != NULL' failed.


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

--- Comment #18 from Pedro Alves <palves at redhat dot com> ---
I managed to reproduce this.  We need to have more than one inferior, and a
breakpoint that has a location spec that matches in both inferiors.  If, say,
inferior 2 execs, we'll re-set all the locations of its pspace.

The trouble is that after resetting each individual breakpoint, we'll try to
insert _all_ breakpoints immediately, before we had a chance of re-setting them
all, and thus end up trying to insert a breakpoint location that will be zapped
when that location owner's turn to re-set comes around...

The error case comes from here:

(top-gdb) bt
#0  insert_breakpoint_locations () at
/home/pedro/gdb/mygit/src/gdb/breakpoint.c:3156
#1  0x00000000005bedcd in update_global_location_list
(insert_mode=UGLL_MAY_INSERT) at
/home/pedro/gdb/mygit/src/gdb/breakpoint.c:12732
#2  0x00000000005c1948 in update_breakpoint_locations (b=0x31a6710,
filter_pspace=0x335d300, sals=..., sals_end=...) at
/home/pedro/gdb/mygit/src/gdb/breakpoint.c:14381
#3  0x00000000005c1e80 in breakpoint_re_set_default (b=0x31a6710) at
/home/pedro/gdb/mygit/src/gdb/breakpoint.c:14506
#4  0x00000000005bf5ae in bkpt_re_set (b=0x31a6710) at
/home/pedro/gdb/mygit/src/gdb/breakpoint.c:13084
#5  0x00000000005c209d in breakpoint_re_set_one (bint=0x31a6710) at
/home/pedro/gdb/mygit/src/gdb/breakpoint.c:14601
#6  0x000000000064f566 in catch_errors (func=0x5c2065 <breakpoint_re_set_one>,
func_args=0x31a6710, errstring=0x38951c0 "Error in re-setting breakpoint 1: ", 
    mask=RETURN_MASK_ALL) at /home/pedro/gdb/mygit/src/gdb/exceptions.c:240
#7  0x00000000005c212f in breakpoint_re_set () at
/home/pedro/gdb/mygit/src/gdb/breakpoint.c:14627
#8  0x000000000078d976 in solib_add (pattern=0x0, from_tty=0, target=0xdfe9e0
<current_target>, readsyms=1) at /home/pedro/gdb/mygit/src/gdb/solib.c:1033
#9  0x00000000004aacbb in enable_break (info=0x3869060, from_tty=0) at
/home/pedro/gdb/mygit/src/gdb/solib-svr4.c:2455
#10 0x00000000004ac1b5 in svr4_solib_create_inferior_hook (from_tty=0) at
/home/pedro/gdb/mygit/src/gdb/solib-svr4.c:3103
#11 0x000000000078df90 in solib_create_inferior_hook (from_tty=0) at
/home/pedro/gdb/mygit/src/gdb/solib.c:1276
#12 0x0000000000631c8e in follow_exec (ptid=..., execd_pathname=0x7ffd5ec29a20
"/usr/bin/dash") at /home/pedro/gdb/mygit/src/gdb/infrun.c:1245
#13 0x0000000000638f38 in handle_inferior_event_1 (ecs=0x7ffd5ec29c90) at
/home/pedro/gdb/mygit/src/gdb/infrun.c:5276
#14 0x000000000063924f in handle_inferior_event (ecs=0x7ffd5ec29c90) at
/home/pedro/gdb/mygit/src/gdb/infrun.c:5361

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]