Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <017301c53e90$e77626e0$6508a8c0@chimaera> From: "Max Bowsher" To: "Cygwin" References: <013701c53e8a$d4959930$6508a8c0 AT chimaera> Subject: Re: Deadlocked cygrunsrv processes with strace message "_cygtls::remove: wait 0x0" Date: Mon, 11 Apr 2005 13:20:52 +0100 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=response Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Note-from-DJ: This may be spam Max Bowsher wrote: > Something about Apache 2 is causing its controlling cygrunsrv service > process to deadlock within the Cygwin DLL when it attempts to exit. > Attaching with strace to the hung process shows "_cygtls::remove: wait > 0x0". > Signals sent to the hung process are not delivered (as shown by strace), > but > a kill -9 will succeed. > Attaching with gdb does show anything that looks promising. > > Does anyone have any suggestions that could save me some time, compared to > an in-depth study of the Cygwin DLL code in this area? Ummmmm. Oh. Dear. Since gdb backtrace wasn't helpful, I decided to try single stepping in gdb onwards from the last strace output. I found out that _cygtls.remove is being called successfully from dll_entry(DLL_THREAD_DETACH), which returns, and the hang finally occurs inside ZwTerminateThread() !!! What now? Do I scream and give up? Max. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/