gdb internal error SIGINT/SIGSTOP

paawan oza
Mon Feb 2 14:47:00 GMT 2009


I have been modifying gdb for past couple of months.
I am trying to keep process always running and user should be able to type commands.
It is similar to tracepoints but on host system.

I am facing a problem as following when try to debug multi-threaded applications.

I am sending SIGINT/SIGSTOP (with no pass) to stop the process.
linux-nat-wait wll attempt to stop other threads and it succeeds.
and it works fine.

when I have breakpoints on threads....
and if main/CLONEs thread is stopped due to breakpoint and if I send 
SIGINT/SIGSTOP to the main thread....
eventually I end up getting interrnal gdb assertion error.
gdb_assert (pid == GET_LWP (lp->ptid));

I would like to know !!

1) why is that happening ?
in the scenerio where (thread is already stopped because of breakpoint
and I am internally sending SIGINT/SIGSTOP (with no pass)

note : I have modified gdb code to suite my requirements. where process should always be running and user should be able to type commands

please do the needful.



More information about the Gdb mailing list