[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guile 2.0.0 crash related to call-with-prompt/abort-to-prompt, & mor
From: |
Andy Wingo |
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 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Hi Wolfgang,
On Wed 09 Mar 2011 11:53, Wolfgang J Moeller <address@hidden> 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/
- guile 2.0.0 crash related to call-with-prompt/abort-to-prompt, & more, Wolfgang J Moeller, 2011/03/09
- Re: guile 2.0.0 crash related to call-with-prompt/abort-to-prompt, & more, Andy Wingo, 2011/03/11
- Re: guile 2.0.0 crash related to call-with-prompt/abort-to-prompt, & more,
Andy Wingo <=
- Re: guile 2.0.0 crash related to call-with-prompt/abort-to-prompt, & more, Andy Wingo, 2011/03/15
- shift and reset in ice-9 control, Andy Wingo, 2011/03/17