From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: allocation within critical sections Date: Thu, 16 Feb 2012 23:27:31 +0100 Message-ID: <874nuqpg6k.fsf@pobox.com> References: <87sjijzulh.fsf@pobox.com> <87d39e5uv1.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1329431271 19882 80.91.229.3 (16 Feb 2012 22:27:51 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 16 Feb 2012 22:27:51 +0000 (UTC) Cc: guile-devel@gnu.org To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Feb 16 23:27:44 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ry9nh-0002ov-Ft for guile-devel@m.gmane.org; Thu, 16 Feb 2012 23:27:41 +0100 Original-Received: from localhost ([::1]:37693 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ry9ng-0002hP-Sa for guile-devel@m.gmane.org; Thu, 16 Feb 2012 17:27:40 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:36181) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ry9nd-0002h1-Vr for guile-devel@gnu.org; Thu, 16 Feb 2012 17:27:39 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ry9nd-0006Kh-2k for guile-devel@gnu.org; Thu, 16 Feb 2012 17:27:37 -0500 Original-Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:38440 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ry9nc-0006Kd-V1; Thu, 16 Feb 2012 17:27:37 -0500 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id A88C79355; Thu, 16 Feb 2012 17:27:36 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=yG5XXigOaKMw QmCaJuZuFT6FxGo=; b=i2z0d3OAXK5HQN7AUcpyzBPoEnoJgJ1ARmBzEuxapab2 EIRDm9HiLUvQ7d0VWJW5MWhTlxcEtvcLTsI0L+kFFGMsXvFrOmXvoTM9JnKG98T/ NXAGezuOF8ziPBzql6HhsjMTXR8b7ZP1MeBCzzW0oEwHz/8Vz5h1C5fNVKiAayE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=Bt4kW1 thbGCmYS9gV9s3J2RuSzkservBuzJCk73vy/5dIMh/4oFp5YAmtRggt/JBjCSXhr l/7bdFWQ4OJYkWgZe0xUeY4w8JlLQe6XewfG0rXrFMAYGeJOpC+1OfHzBIYAHcb/ LdBWYJ/+lhSfn0C7pJkjMY3u8RycltfqTGGAs= Original-Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id A06729354; Thu, 16 Feb 2012 17:27:36 -0500 (EST) Original-Received: from badger (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id E73B89353; Thu, 16 Feb 2012 17:27:35 -0500 (EST) In-Reply-To: <87d39e5uv1.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Thu, 16 Feb 2012 22:30:42 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) X-Pobox-Relay-ID: 6D3DABDA-58ED-11E1-86D9-65B1DE995924-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 74.115.168.62 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:13879 Archived-At: On Thu 16 Feb 2012 22:30, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Can you explain what happens here? Is it a deadlock? What=E2=80=99s at > ports.c:575? It was a deadlock, but I fixed it. It was something that locked all weak sets, but while doing so allocated memory. Allocating memory ran finalizers which tried to manipulate the port set, but that lock was already taken: deadlock. The solution will be to run finalizers in a separate thread, as the JVM does. Andy --=20 http://wingolog.org/