This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: fail to attach to process on Solaris


> -----Original Message-----
> From: Pedro Alves [mailto:pedro@codesourcery.com] 
> Sent: Wednesday, September 21, 2011 1:39 PM
> To: Burkhardt, Glenn
> Cc: gdb@sourceware.org
> Subject: Re: fail to attach to process on Solaris
> 
> 
> Okay, the linux code ignores zombie threads, like in the 
> patch below.  Does that help?  There's a couple more places 
> where it ignores zombie threads, that we may need to bring 
> over as well.
> Look for TD_THR_ZOMBIE in linux-thread-db.c.
> 
> --
> Pedro Alves
> 
> ---
>  gdb/sol-thread.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> Index: src/gdb/sol-thread.c
> ===================================================================
> --- src.orig/gdb/sol-thread.c	2011-03-01 16:00:06.000000000 +0000
> +++ src/gdb/sol-thread.c	2011-09-21 18:34:30.029928904 +0100
> @@ -1177,6 +1177,9 @@ sol_find_new_threads_callback (const td_
>    if (retval != TD_OK)
>      return -1;
>  
> +  if (ti.ti_state == TD_THR_UNKNOWN || ti.ti_state == TD_THR_ZOMBIE)
> +    return 0;			/* A zombie -- ignore.  */
> +
>    ptid = BUILD_THREAD (ti.ti_tid, PIDGET (inferior_ptid));
>    if (!in_thread_list (ptid) || is_exited (ptid))
>      add_thread (ptid);
> 

The patch makes a big difference.  At least, I can continue the attached
process now.  I'll play with it a bit more, and report back.  I'll also
check for other places where
TD_THR_ZOMBIE in linux-thread-db.c is used.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]