[ 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