[ sisc-Bugs-1461939 ] space leak in call-with-values
"SourceForge.net" <[email protected]> Fri, 31 Mar 2006 00:21:58 -0800
| Newsgroups | gmane.comp.java.sisc.devel |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #1461939, was opened at 2006-03-31 09:21
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=379534&aid=1461939&group_id=23735
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 7
Submitted By: Matthias Radestock (mradestock)
Assigned to: Nobody/Anonymous (nobody)
Summary: space leak in call-with-values
Initial Comment:
Running
(define (ex1)
(let loop ((p (cons 1 2)) (q #f))
(let ((p2 (cons 1 2)))
(set-cdr! p p2)
(loop p2 q))))
(call-with-values ex1 (lambda (x) x))
eventually results in an OutOfMemoryError.
ex1 is a modified version of the first example from
tests/safe-for-space.scm, with the loop having two
arguments rather than one.
The cause of the problem is the same as for bug
1461425, namely that call-with-values pushes a call
frame with the current vlr and then sets up a tail
call, which ends up recycling that very same vlr.
The above breaks on CVS HEAD, sisc-1.13.3-rc and
sisc-1.11.3, the current stable release.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=379534&aid=1461939&group_id=23735
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642