Re: GDB locks up -- Cannot find new threads: generic error

Daniel Jacobowitz
2005-04-27T22:51:17Z

On Thu, Apr 28, 2005 at 12:46:26AM +0200, Andreas Schwab wrote:
> Daniel Jacobowitz <drow@false.org> writes:
>
> > On Wed, Apr 27, 2005 at 07:42:37PM +0100, David Lecomber wrote:
> >> (gdb) b main
> >> Breakpoint 1 at 0x804ed18: file
> >> main.cpp, line 10.
> >> (gdb) run
> >> Starting program: a.out
> >> warning: linux_test_for_tracefork: unexpected result from waitpid
> >> (28261,
> >> status 0x117f)
> >> [Thread debugging using libthread_db enabled]
> >> Error while reading shared library symbols:
> >> Cannot find new threads: generic error
> >>
> >> at this point GDB does nothing and is unresponsive to any user input.
> >>
> >> The system is:
> >> kernel-2.4.21-27.EL
> >> glibc-2.3.2-95.30
> >
> > At a guess, your kernel is buggered. You really should never see that
> > warning. The unexpected signal is SIGCHLD; your kernel has accepted
> > the SETOPTIONS but obviously failed to stop when the test thread
> > vforked.
>
> I think that can happen when the 32 bit ptrace emulation is incomplete,
> especially if PTRACE_GETEVENTMSG is not properly emulated. That should be
> fixed in recent (< 9 months) kernels.

That's quite possible; thank you for the information. Maybe we can
improve the test to detect the problem more easily. Any suggestions?

--
Daniel Jacobowitz
CodeSourcery, LLC