From owner-freebsd-hackers@FreeBSD.ORG Thu Dec 17 15:52:37 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A2DA106566B; Thu, 17 Dec 2009 15:52:37 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.netplex.net (mail.netplex.net [204.213.176.10]) by mx1.freebsd.org (Postfix) with ESMTP id 34B838FC1A; Thu, 17 Dec 2009 15:52:36 +0000 (UTC) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.netplex.net (8.14.3/8.14.3/NETPLEX) with ESMTP id nBHFqZqM001350; Thu, 17 Dec 2009 10:52:35 -0500 (EST) X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.netplex.net) X-Greylist: Message whitelisted by DRAC access database, not delayed by milter-greylist-4.2.2 (mail.netplex.net [204.213.176.10]); Thu, 17 Dec 2009 10:52:35 -0500 (EST) Date: Thu, 17 Dec 2009 10:52:35 -0500 (EST) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: John Baldwin In-Reply-To: <200912170908.49119.jhb@freebsd.org> Message-ID: References: <200912170908.49119.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-hackers@freebsd.org, freebsd-stable@freebsd.org, Steven Hartland Subject: Re: Passenger hangs on live and SEGV on tests possible threading / kernel bug? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Dec 2009 15:52:37 -0000 On Thu, 17 Dec 2009, John Baldwin wrote: > On Thursday 17 December 2009 6:12:07 am Steven Hartland wrote: >> We're having an issue with Passenger on FreeBSD where it will hang >> and stop processing any more requests the details are attach to >> the following bug report: >> http://code.google.com/p/phusion-passenger/issues/detail?id=318#c14 >> >> In addition the test suite crashes in what seems to be a very >> basic test, which I'm at a loss with. >> http://code.google.com/p/phusion-passenger/issues/detail?id=441 >> >> I'm thinking this may be a bugs in the FreeBSD either kernel or >> thread library as the crashes don't make any sense from the >> application side. >> >> Any advise on debugging or feedback on the stack traces would >> be much appreciated. > > For the hang it seems you have a thread waiting in a blocking read(), a thread > waiting in a blocking accept(), and lots of threads creating condition > variables. However, the pthread_cond_init() in libpthread (libthr on FreeBSD) > doesn't call pthread_cleanup_push(), so your stack trace doesn't make sense to > me. However, that may be gdb getting confused. The pthread_cleanup_push() > frame may be cond_init(). However, it doesn't call umtx_op() (the > _thr_umutex_init() call it makes just initializes the structure, it doesn't > make a _umtx_op() system call). You might try posting on threads@ to try to > get more info on this, but your pthread_cond_init() stack traces don't really > make sense. Can you rebuild libc and libthr with debug symbols? Yes, good advice, I have noticed that you can't trust GDB stack traces unless libc and libthr have been built with debug (-g) enabled. -- DE