gdb in ports

Tijl Coosemans tijl at FreeBSD.org
Tue May 12 16:07:50 UTC 2015


On Mon, 11 May 2015 16:21:42 -0400 Jason Woodward <woodwardj at averesystems.com> wrote:
> Hi all,
> 
> I had sent this to Luca but maybe others might have an idea...
> 
> 
> I'm running into some difficulty debugging a live, multithreaded
> application.  This seems to be the case with the 7.8.x gdbs and 7.9 (both
> 9.2 and 10 release).  When I attach, I see duplicates for the first thread:
> 
>   5    Thread 817ff2c00 (LWP 100541) 0x000000080bd6286c in poll () at
> poll.S:3
>   4    Thread 80efe8c00 (LWP 100546) 0x000000080bd6286c in poll () at
> poll.S:3
>   3    Thread 80efe9000 (LWP 100878) 0x000000080bd6286c in poll () at
> poll.S:3
> * 2    Thread 80efe9400 (LWP 101124) 0x000000080bd6286c in poll () at
> poll.S:3
> * 1    Thread 80efe9400 (LWP 101124) 0x000000080bd6286c in poll () at
> poll.S:3
> 
> Trying to select 1 or 2 always ends up selecting 2:
> 
> (gdb) thread 1
> [Switching to thread 2 (Thread 80efe9400 (LWP 101124))]
> #0  0x000000080bd6286c in poll () at poll.S:3
> 3       in poll.S
> (gdb) thread 2
> [Switching to thread 2 (Thread 80efe9400 (LWP 101124))]
> #0  0x000000080bd6286c in poll () at poll.S:33       in poll.S
> (gdb)
> 
> On top of this, when stepping through it seems threads that start and stop
> quickly have some sort of race condition that results in the thread
> tracking getting messed up.  Sometimes I'll end up on thread 74, other
> times I will be on a thread that has gone away and "info threads" does not
> show me associated with any of the active threads.  With 7.8.x I would see:
> 
>   Id   Target Id         Frame
>   75   Cannot find thread, Thread ID=101080, no thread to satisfy query
> 
> 
> Unsure if related, but after stepping through with 7.9, the following
> happens in fbsd_thread_wait():
> 
> infrun.c:5530: internal-error: switch_back_to_stepped_thread: Assertion
> `!tp->control.trap_expected' failed.
> A problem internal to GDB has been detected,
> further debugging may prove unreliable.
> Quit this debugging session? (y or n) y
> 
> This is a bug, please report it.  For instructions, see:
> <http://www.gnu.org/software/gdb/bugs/>.
> 
> infrun.c:5530: internal-error: switch_back_to_stepped_thread: Assertion
> `!tp->control.trap_expected' failed.
> A problem internal to GDB has been detected,further debugging may prove
> unreliable.
> Create a core file of GDB? (y or n) n

CC jhb.  Maybe he can help.


More information about the freebsd-ports mailing list