> -----Original Message----- > From: Pedro Alves [mailto:pedro@codesourcery.com] > Sent: Wednesday, September 21, 2011 12:46 PM > To: Burkhardt, Glenn > Cc: gdb@sourceware.org > Subject: Re: fail to attach to process on Solaris > > On Wednesday 21 September 2011 17:18:25, Burkhardt, Glenn wrote: > > Thank you very much for your response. > > > > I did peek at /proc from the command line when the breakpoint in > > find_procinfo_or_die() was hit - there was no corresponding > LWP. Nor, > > does it seem, that any LWP with the same thread number ever existed. > > > > Here's more extensive info, with a complete stack trace, and some > > preliminary info printed after gdb attaches. This time, the thread > > number that triggered the problem was 65. > > Okay. I assume your program isn't spawning and exiting > threads quickly in succession, otherwise, we'd see LWP ids > much higher. > > It's libthread_db.so that maps a thread to a LWP id, so we > may be missing some state checks and getting back a stale id. > Try the "maint info sol-threads" command (I never noticed > this command before), and let's see what state does > libthread_db.so think the thread is in. I see that > linux-thread-db.c (the glibc/linux fork of this code) has > extra checks for ignoring threads in some states that the > Solaris code doesn't have. > > Please don't top post. That has a tendency of making one > forget to answer questions. :-) Here it is again: > > > This is Solaris 9, with the default 1:1 model thread library, right? > > -- > Pedro Alves > So, this time the first thread to fail is #68, and the maint command shows the thread as having a 'zombie' LWP: - Sleep func: 0x6ccfa4 user thread #67, lwp 67, (active) startfunc: bootStrap user thread #69, lwp 69, (asleep) startfunc: bootStrap - Sleep func: 0x6ccfa4 user thread #2, lwp 2, (zombie) startfunc: bootStrap user thread #61, lwp 61, (zombie) startfunc: bootStrap user thread #64, lwp 64, (zombie) startfunc: bootStrap user thread #65, lwp 65, (zombie) startfunc: bootStrap user thread #70, lwp 70, (zombie) startfunc: bootStrap user thread #66, lwp 66, (zombie) startfunc: bootStrap user thread #68, lwp 68, (zombie) startfunc: bootStrap (gdb) c Continuing. procfs: couldn't find pid 16946 (kernel thread 68) in procinfo list. (gdb) det Detaching from program: /home/glenn.burkhardt/targets/sol/ata0a/rms/rms.sparc, process 16946 A complete log of the session is attached.