From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.bugs Subject: Re: guile 2.0.0 crash related to call-with-prompt/abort-to-prompt, & more Date: Mon, 14 Mar 2011 21:51:03 +0100 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1300135926 20703 80.91.229.12 (14 Mar 2011 20:52:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 14 Mar 2011 20:52:06 +0000 (UTC) Cc: bug-guile@gnu.org To: Wolfgang J Moeller Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Mon Mar 14 21:52:01 2011 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PzEk8-0001ti-Al for guile-bugs@m.gmane.org; Mon, 14 Mar 2011 21:51:56 +0100 Original-Received: from localhost ([127.0.0.1]:39053 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PzEk6-0002eR-Ct for guile-bugs@m.gmane.org; Mon, 14 Mar 2011 16:51:54 -0400 Original-Received: from [140.186.70.92] (port=42185 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PzEjs-0002Zu-FR for bug-guile@gnu.org; Mon, 14 Mar 2011 16:51:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PzEjq-0003l8-3c for bug-guile@gnu.org; Mon, 14 Mar 2011 16:51:40 -0400 Original-Received: from a-pb-sasl-sd.pobox.com ([64.74.157.62]:35531 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PzEjq-0003aL-1E for bug-guile@gnu.org; Mon, 14 Mar 2011 16:51:38 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id AB83E4EAA; Mon, 14 Mar 2011 16:52:27 -0400 (EDT) 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; s=sasl; bh=C0xiw6/0+0rWnys7bVHOKcGMZHw=; b=paAFGD Mnk8iZH8nrbRRpWoLkBR9LzJtjzKH8tp/0QzaOkrK/CRyBeMuAzF28mrQsk+d7j6 4L/F/Dfdw5LXFKqvIUQqH8BdxfbliumAr9Yn3n0ny5deLDWhLPlIkST2WrVbzvAW l7e8SymUbpT7NLb6pk1RZjv9SfYwxS7XFB+fs= 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; q=dns; s=sasl; b=qPzXtESLBw7XC9sfXKC5PJGwlxAJjCMX aP8I+AkocNqlmLf0IILT4QVdgPJoUgeXEKDJYs9ltzRKkhWGUbvi8TOj3zIcRrZg 15u1cTlpFGZbQYY58ftHPO/zQG9TOSxbm8AedJC+hlgvrIj5nkMShdTIpPc2o0Mg KpjYxfhAlJc= 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 980C64EA9; Mon, 14 Mar 2011 16:52:25 -0400 (EDT) Original-Received: from unquote.localdomain (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 0647E4EA8; Mon, 14 Mar 2011 16:52:23 -0400 (EDT) In-Reply-To: (Wolfgang J. Moeller's message of "Wed, 9 Mar 2011 11:53:38 +0100 (CET)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-Pobox-Relay-ID: F770872C-4E7C-11E0-B760-E8AB60295C12-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 64.74.157.62 X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:5326 Archived-At: Hi Wolfgang, On Wed 09 Mar 2011 11:53, Wolfgang J Moeller writes: > I observe a segfault when done loading a particular compiled file. > No such error in interpreted mode. I'm working on this one still, and it's quite perplexing. The example can be quite short: (define-syntax reset (syntax-rules () ((_ . body) (call-with-prompt 'Reset (lambda () . body) (lambda (cont f) (f cont)))))) (define-syntax shift (syntax-rules () ((_ var . body) (abort-to-prompt 'Reset (lambda (cont) ((lambda (var) (reset . body)) (lambda vals (reset (apply cont vals))))))))) (define (shift* fc) (shift c (fc c))) (reset (display ((shift* shift*) 'foo))) It seems to be that somehow this corrupts the wind list, unwinding one dynamic frame too far, and thus causing errors later. In any case, thanks again for this little chestnut :) Andy -- http://wingolog.org/