This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
Re: gdb/2497: breakpoint.c:4161: internal-error: allegedly permanent breakpoint is not actually inserted
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 10 Aug 2008 20:08:01 -0000
- Subject: Re: gdb/2497: breakpoint.c:4161: internal-error: allegedly permanent breakpoint is not actually inserted
- Reply-to: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
The following reply was made to PR gdb/2497; it has been noted by GNATS.
From: "John David Anglin" <dave@hiauly1.hia.nrc.ca>
To: gdb-gnats@sources.redhat.com, nobody@sources.redhat.com
Cc: dave.anglin@nrc-cnrc.gc.ca
Subject: Re: gdb/2497: breakpoint.c:4161: internal-error: allegedly permanent breakpoint is not actually inserted
Date: Sun, 10 Aug 2008 15:59:12 -0400 (EDT)
The problem is with the "permanent" breakpoint __dld_break.
(gdb) bt
#0 0xc0000000001fb30c in kill () from /lib/pa20_64/libc.2
#1 0xc0000000001aa6ec in raise () from /lib/pa20_64/libc.2
#2 0xc0000000001df960 in abort_C () from /lib/pa20_64/libc.2
#3 0xc0000000001df9c4 in abort () from /lib/pa20_64/libc.2
#4 0x400000000011d294 in internal_vproblem (problem=0x6300000000000000, file=Cannot access memory at address 0x8
) at ../../src/gdb/utils.c:780
#5 0x400000000011d350 in internal_verror (file=Cannot access memory at address 0x0
) at ../../src/gdb/utils.c:805
#6 0x400000000011d3dc in internal_error (file=Cannot access memory at address 0x0
) at ../../src/gdb/utils.c:814
#7 0x40000000001c994c in check_duplicates_for (address=13835058055284211344,
section=Cannot access memory at address 0x8
) at ../../src/gdb/breakpoint.c:4161
#8 0x40000000001c9b24 in check_duplicates (bpt=0x60e840d0000fc212)
at ../../src/gdb/breakpoint.c:4195
...
(gdb) frame 7
#7 0x40000000001c994c in check_duplicates_for (address=13835058055284211344,
section=Cannot access memory at address 0x8
) at ../../src/gdb/breakpoint.c:4161
4161 internal_error (__FILE__, __LINE__,
(gdb) p/x perm_bp
$1 = 0x800000010011a530
(gdb) p/x *perm_bp
$2 = {next = 0x0, global_next = 0x80000001000e4728, loc_type = 0x0,
owner = 0x800000010011a408, cond = 0x0, shlib_disabled = 0x0,
enabled = 0x1, inserted = 0x0, duplicate = 0x0,
address = 0xc0000000000225fc, length = 0x0, watchpoint_type = 0x0,
section = 0x0, requested_address = 0xc0000000000225fc, function_name = 0x0,
target_info = {placed_address = 0x0, shadow_contents = {
0x0 <repeats 16 times>}, shadow_len = 0x0, placed_size = 0x0},
overlay_target_info = {placed_address = 0x0, shadow_contents = {
0x0 <repeats 16 times>}, shadow_len = 0x0, placed_size = 0x0},
events_till_retirement = 0x0}
...
(gdb) disass 0xc0000000000225fc
Dump of assembler code for function __dld_break:
0xc0000000000225f8 <__dld_break+0>: bv r0(rp)
0xc0000000000225fc <__dld_break+4>: break 4,8
End of assembler dump.
(gdb) info shared
From To Syms Read Shared Object Library
0xc00000000000add0 0xc0000000000425e4 Yes /usr/lib/pa20_64/dld.sl
0x800003fffdf0a1b0 0x800003fffdfe64b0 Yes /lib/pa20_64/libc.2
0x800003fffdea9160 0x800003fffdeaa588 Yes /usr/lib/pa20_64/libdl.1
0x800003fffdea4574 0x800003fffdea4574 Yes /opt/graphics/OpenGL/lib/pa20_64/libogltls.sl
The inserted field is set in make_breakpoint_permanent. However,
it seems to be getting cleared somewhere.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)