[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #892: Segfault on insanely long lists
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #892: Segfault on insanely long lists |
Date: |
Fri, 26 Jul 2013 20:34:36 -0000 |
#892: Segfault on insanely long lists
-----------------------+----------------------------------------------------
Reporter: sjamaan | Owner:
Type: defect | Status: new
Priority: critical | Milestone: 4.9.0
Component: unknown | Version: 4.7.x
Resolution: | Keywords: segfaults are fun
-----------------------+----------------------------------------------------
Comment(by sjamaan):
This turns out to be due to a GC which causes the heap to get resized to
the maximum heap size, but the data that gets copied fitting the new heap.
Then, when the heap gets "resized" again, it is already at the maximum
size so C_rereclaim2 simply returns instead of finishing its job. This
causes massive breakage.
The proper fix seems to be to keep going if the heap can't be resized, and
letting the normal "heap full while resizing" error handling get
triggered. This is the normal path which happens when the heap gets
resized up to the maximum size, and the data doesn't fit. Patch(es) sent
to chicken-hackers.
--
Ticket URL: <http://bugs.call-cc.org/ticket/892#comment:5>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.