Created attachment 6232 [details] C file If libpthread.so is not loaded right at the start of the traced program, gdb produces a thread error once libpthread.so gets loaded, for example by way of dlopen. This is on gdb-7.3, but it also occurs with gdb-7.4.50.20120120. (glibc-2.14.1 and glibc-2.15) $ gcc testcase.c -o tc -ldl $ gdb tc GNU gdb (GDB) SUSE (7.3-41.1.2) Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-suse-linux". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /dev/shm/tc...done. (gdb) r Starting program: /dev/shm/tc [Thread debugging using libthread_db enabled] Cannot find new threads: generic error
FWIW, I could not reproduce this on Fedora 16: (gdb) run Starting program: /home/tromey/gnu/PRS/gdb13719/pr [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [Inferior 1 (process 21325) exited normally] [Inferior 21325 exited] I even disabled debuginfo lookup: (gdb) set debug-file-directory / ... and it still worked. I have: barimba. rpm -q glibc glibc-2.14.90-24.fc16.6.x86_64 I tried CVS HEAD (from last week or so), 7.3, 7.4, and the system gdb.
I can reproduce it with gdb built from gdb-7.3-41.fc15.src.rpm and glibc 2.14.1.
Have you found anything yet, Richard?
I didn't investigate, just confirmed.
This is PR 2328 duplicate: _dl_debug_state() RT_CONSISTENT called too early The problem does not happen if libpthread.so is prelinked (and it is successfully loaded at its prelinked address). This is probably why Tom did not reproduce it in Comment 1. It is going to be in gdb-7.6 as posted: [RFA 0/4 take 2] Improved linker-debugger interface http://sourceware.org/ml/gdb-patches/2012-07/msg00330.html It requires also glibc systemtap probes for its functionality.