This is the mail archive of the gdb@sources.redhat.com 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]

Re: Can't attach to child using gdb-5.1.1 on Linux


Andrew Cagney writes:
 > > I have a process that forks a child.  If I try to attach to the
 > > child it reads the symbols and shows an accurate stack trace, but when
 > > I set a breakpoint and try to continue I get the following:
 > > 
 > > (gdb) c
 > > Continuing.
 > > lin-lwp.c:1003: gdb-internal-error: lin_lwp_wait: Assertion `WIFSTOPPED (status) && WSTOPSIG (status) == SIGSTOP' failed.
 > > An internal GDB error was detected.  This may make further
 > > debugging unreliable.  Continue this debugging session? (y or n) n
 > > 
 > > Create a core file containing the current state of GDB? (y or n) n
 > > 
 > > Inferior GDB exited abnormally with code 1
 > > 
 > > 
 > > I answered yes to the above also, but it did not improve the situation.  Has
 > > anybody seen this behvior before.  I am using gcc-2.95.3 for compilation.
 > 
 > (not sure if someone has responded to this)
 > 
 > The first thing to do is get a more recent GDB from:
 > 
 > 	http://sources.redhat.com/gdb/current/
 > 
 > many problems have been fixed and if this problem still occures things 
 > have been narrowed down a bit.
 > 
 > Andrew
 > 

Okay I downloaded the 20020404 daily snapshot, compiled, installed, and
used it.  Here is what I am getting now.  The child is sleeping for 2
minutes.  Here is what I see when I initially attach to the child.

(gdb) where
#0  0x40a35621 in nanosleep () from /lib/libc.so.6
#1  0x40a355b8 in sleep () from /lib/libc.so.6
#2  0x0804d3fa in start_archive_client (dev_ptr=0x809e580)
    at dcs_archive_mgr.c:2258
#3  0x0804ab8c in ping_child (timer_id=0x809e410, context=0x0, now=1017936110)
    at dcs_archive_mgr.c:798
#4  0x4051de96 in evn_dispatch_event (event=0xbfffcd24, 
    current_time=0x40524af0) at event_manager.c:803
#5  0x4051dfef in evn_process_event (wait=1) at event_manager.c:879
#6  0x4051e04b in evn_process_all_events () at event_manager.c:932
#7  0x0804ae3c in proc () at dcs_archive_mgr.c:892
#8  0x0804a510 in main (argc=7, argv=0xbfffce64) at dcs_archive_mgr.c:606
#9  0x409a8c5f in __libc_start_main () from /lib/libc.so.6
(gdb) br child_init
Breakpoint 1 at 0x804de64: file dcs_archive_mgr.c, line 2810.
(gdb) break dcs_archive_mgr.c:2262
Breakpoint 2 at 0x804d3fd: file dcs_archive_mgr.c, line 2262.



After setting a few breakpoints I continue and see this:

(gdb) c
Continuing.
lin-lwp.c:1105: gdb-internal-error: lin_lwp_wait: Assertion `WIFSTOPPED (status) && WSTOPSIG (status) == SIGSTOP' failed.
An internal GDB error was detected.  This may make further
debugging unreliable.  Quit this debugging session? (y or n) n

Create a core file containing the current state of GDB? (y or n) y
(gdb) where
#0  0x40a35621 in nanosleep () from /lib/libc.so.6
#1  0x40a355b8 in sleep () from /lib/libc.so.6
#2  0x0804d3fa in start_archive_client (dev_ptr=0x809e580)
    at dcs_archive_mgr.c:2258
#3  0x0804ab8c in ping_child (timer_id=0x809e410, context=0x0, now=1017936110)
    at dcs_archive_mgr.c:798
#4  0x4051de96 in evn_dispatch_event (event=0xbfffcd24, 
    current_time=0x40524af0) at event_manager.c:803
#5  0x4051dfef in evn_process_event (wait=1) at event_manager.c:879
#6  0x4051e04b in evn_process_all_events () at event_manager.c:932
#7  0x0804ae3c in proc () at dcs_archive_mgr.c:892
#8  0x0804a510 in main (argc=7, argv=0xbfffce64) at dcs_archive_mgr.c:606
#9  0x409a8c5f in __libc_start_main () from /lib/libc.so.6


The stack traces look good before and after, but I can't debug anything.
I did create a core file of gdb this time, and will submit if you want me
to.


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