From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: srfi-18 requirements Date: Sun, 03 Feb 2008 00:30:06 +0000 Message-ID: <87abmig9v5.fsf@ossau.uklinux.net> References: <2bc5f8210710101854m1254160ei451026182b87e767@mail.gmail.com> <2bc5f8210801061341o5a8b060fm3e80d6b9cb8eb4d6@mail.gmail.com> <87prwb3oc4.fsf@ossau.uklinux.net> <2bc5f8210801101839w2b6ab7f8h3d99b6db35620a6@mail.gmail.com> <874pddcjdf.fsf@ossau.uklinux.net> <2bc5f8210801191210h72903a37q1c8f60e3638bfdba@mail.gmail.com> <87ejc8kvnk.fsf@ossau.uklinux.net> <2bc5f8210801231523k62e9f6ddq17eb87c69df5ae16@mail.gmail.com> <877ihy3e82.fsf@ossau.uklinux.net> <2bc5f8210801241738j25c594wfc347b337aa7ed47@mail.gmail.com> <2bc5f8210801271806o478f2e24u1bbc77a21a270d5a@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1201998630 27632 80.91.229.12 (3 Feb 2008 00:30:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 3 Feb 2008 00:30:30 +0000 (UTC) Cc: =?iso-8859-1?Q?Ludovic_Court=E8s?= , guile-devel@gnu.org To: "Julian Graham" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Feb 03 01:30:51 2008 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JLSkw-0000mm-6F for guile-devel@m.gmane.org; Sun, 03 Feb 2008 01:30:46 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JLSkT-0003wb-UJ for guile-devel@m.gmane.org; Sat, 02 Feb 2008 19:30:17 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JLSkQ-0003ux-TA for guile-devel@gnu.org; Sat, 02 Feb 2008 19:30:14 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JLSkQ-0003uO-8s for guile-devel@gnu.org; Sat, 02 Feb 2008 19:30:14 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JLSkQ-0003uH-2v for guile-devel@gnu.org; Sat, 02 Feb 2008 19:30:14 -0500 Original-Received: from mail3.uklinux.net ([80.84.72.33]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JLSkL-0000PI-S0; Sat, 02 Feb 2008 19:30:10 -0500 Original-Received: from arudy (host86-145-183-175.range86-145.btcentralplus.com [86.145.183.175]) by mail3.uklinux.net (Postfix) with ESMTP id D38B71F6AF7; Sun, 3 Feb 2008 00:30:07 +0000 (GMT) Original-Received: from laruns (laruns [192.168.0.10]) by arudy (Postfix) with ESMTP id 2D24E3800A; Sun, 3 Feb 2008 00:30:07 +0000 (GMT) In-Reply-To: <2bc5f8210801271806o478f2e24u1bbc77a21a270d5a@mail.gmail.com> (Julian Graham's message of "Sun, 27 Jan 2008 21:06:13 -0500") User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:6985 Archived-At: "Julian Graham" writes: > On Jan 24, 2008 8:38 PM, Julian Graham wrote: >> > - we apply the generic / bug fix patch that you already posted, except >> > without the extra thread_admin_mutex locking (which I think we >> > concluded we can't justify) - that will be to HEAD >> >> Agreed, though see below... > > > Actually, in light of Neil's apt suggestion that we get this thing > back on track, I resolve to stop fussing about deadlocks for the time > being -- find attached the patch described above (1 deadlock -- the > jmpbuf critical section one -- and the thread-specific mutex). Thanks. > Let me know if I've missed anything. I don't think so, and I plan to apply this very soon. I've found a reliable recipe for reproducing the critical section problem: if a scm_i_gc call is added to make_jmpbuf (), like this: static SCM make_jmpbuf (void) { SCM answer; SCM_CRITICAL_SECTION_START; { scm_i_gc ("test"); SCM_NEWSMOB2 (answer, tc16_jmpbuffer, 0, 0); SETJBJMPBUF(answer, (jmp_buf *)0); DEACTIVATEJB(answer); } SCM_CRITICAL_SECTION_END; return answer; } Then "make check" hangs every time, in the way you described, when running the system* part of test-suite/standalone/test-system-cmds. (It happens because scm_system_star calls scm_sigaction, which calls ensure_signal_delivery_thread, which spawns a new thread; and then immediately after that, scm_sigaction enters a critical section.) So now I just want to find a way of making this happen regressibly, without actually adding the scm_i_gc call to the checked in code. Regards, Neil