[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: |
Thu, 25 Jul 2013 18:56:44 -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):
With a 6G heap the program seems to run stable (and consumes all memory).
It really seems to need this much memory!
A rough calculation seems to indicate that 10,000,000 fixnums require
about 77MiB on a 64-bit machine. With the additional cons cells for the
list that's three times as much, about 229MiB. With "reverse" running,
this will need twice as much again, let's say it needs 500MiB to keep the
two lists around. When compiled, the same program does indeed take up as
much (well, 1G but that's probably due to the buddy algorithm resizing the
heap to double its size every time it runs the GC when more memory is
needed).
Having an interpreted program take about 4 times as much is a little
strange (and possibly candidate for improvement), but the real bug is that
it's crashing hard when running out of memory.
--
Ticket URL: <http://bugs.call-cc.org/ticket/892#comment:4>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- Re: [Chicken-janitors] #892: Segfault on insanely long lists,
Chicken Trac <=