This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/10236] asyncronous execution becomes unusable if you single step to the end of an executable
- From: "pedro at codesourcery dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: 3 Jun 2009 22:55:41 -0000
- Subject: [Bug gdb/10236] asyncronous execution becomes unusable if you single step to the end of an executable
- References: <20090603223701.10236.richard.j.ward1@gmail.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From pedro at codesourcery dot com 2009-06-03 22:55 -------
Subject: Re: New: asyncronous execution becomes unusable if you single step to the end of an executable
Thanks. I can reproduce this in current mainline. longjmp
breakpoints are being left behind:
(gdb) set target-async 1
(gdb) r&
Starting program: /home/pedro/gdb/sspaces/build/gdb/a.out
(gdb)
Breakpoint 1, main () at bug.c:1
1 int main(int,char**){return 0;}
Current language: auto; currently c++
maint info breakpoints
Num Type Disp Enb Address What
1 breakpoint keep y 0x0000000000400543 in main at bug.c:1
breakpoint already hit 1 time
-1 shlib events keep y 0x00007ffff7dee990 <_dl_debug_state>
breakpoint already hit 2 times
(gdb) n
0x00007ffff73021c4 in __libc_start_main () from /lib/libc.so.6
(gdb)
Single stepping until exit from function __libc_start_main,
which has no line number information.
Program exited normally.
(gdb) maint info breakpoints
Num Type Disp Enb Address What
1 breakpoint keep y 0x0000000000400543 in main at bug.c:1
breakpoint already hit 1 time
-1 shlib events keep y 0x00007ffff7dee990 <_dl_debug_state>
breakpoint already hit 2 times
0 longjmp keep y 0x00007ffff7315eb0 <siglongjmp> thread 1
stop only in thread 1
0 longjmp keep y 0x00007ffff7315eb0 <siglongjmp> thread 1
stop only in thread 1
0 longjmp keep y 0x00007ffff7315eb0 <siglongjmp> thread 1
stop only in thread 1
0 step resume dstp y 0x00007ffff73021cb <__libc_start_main+251> thread 1
stop only in thread 1
(gdb) r
Starting program: /home/pedro/gdb/sspaces/build/gdb/a.out
Warning:
Cannot insert breakpoint 0.
Error accessing memory address 0x7ffff7315eb0: Input/output error.
(gdb)
Sounds like something is wrong with cleaning up after threads that
had continuations on them (step_1_continuation is responsible for
clearing longjmp breakpoints). I do wonder if replacing opaque
continuations with state flags wouldn't be better...
--
http://sourceware.org/bugzilla/show_bug.cgi?id=10236
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.