#56: Heap overflow checking fails on darwin/x86
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 2012-01
Keywords: |
--------------------+-------------------------------------------------------
{{{
cmulisp -dynamic-space-size 64
* (defvar *1* (make-list 10000000))
; [GC threshold exceeded with 35,359,432 bytes in use. Commencing GC.]
; [GC completed with 21,504,336 bytes retained and 13,855,096 bytes
freed.]
; [GC will next occur when at least 53,504,336 bytes are in use.]
; [GC threshold exceeded with 53,514,472 bytes in use. Commencing GC.]
*A2 gc_alloc_new_region failed, nbytes=8.
CMUCL has run out of dynamic heap space (64 MB).
You can control heap size with the -dynamic-space-size commandline
option.
sigbus_handler: Real protection violation at 0xac3, PC = 0x4b3243e3
...
}}}
This probably happens in older versions too, but I didn't check. Works ok
on linux.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/56>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#55: blocked signals
--------------------------------+-------------------------------------------
Reporter: heller | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 20c
Keywords: signals interrupts |
--------------------------------+-------------------------------------------
I think there is a problem related to blocked signals and garbage
collection:
1. Start {{{cmucl -noinit -eval '(loop (ext:gc :full t))'}}} in a terminal
and let it run.
2. Under Linux, {{{cat /proc/<pid>/status}}} shows that !SigBlk is 0
i.e. no signals are blocked.
3. Interrupt the loop with C-c (SIGINT) and wait for the debugger.
4. !SigBlk is still 0.
5. Type c to continue the loop.
6. !SigBlk is now 000000001fc90000
That's a bug, right? It should again be zero.
The problem doesn't occur if the loop is empty, so I figure this
has something to do with GC.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/55>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.
#57: Heap overflow checking fails on sparc
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: major | Milestone:
Component: Core | Version: 2012-01
Keywords: |
--------------------+-------------------------------------------------------
{{{
cmulisp -dynamic-space-size 32
* (defvar *1* (make-list 10000000))
*A2 gc_alloc_new_region failed, nbytes=8.
CMUCL has run out of dynamic heap space (32 MB).
You can control heap size with the -dynamic-space-size commandline
option.
segv_handler: Real protection violation: 400, PC = 1bbcc
*A2 gc_alloc_new_region failed, nbytes=8.
CMUCL has run out of dynamic heap space (32 MB).
You can control heap size with the -dynamic-space-size commandline
option.
Segmentation Fault (core dumped)
}}}
I'm pretty sure this used to work on sparc. The fault address of
{{{0x1bbcc}}} is in {{{build_fake_control_stack_frame}}}.
--
Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/57>
cmucl <http://common-lisp.net/project/cmucl>
Cmucl is a high-performance, free Common Lisp implementation.