[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elk] GC and Object not in prev space again
Hi.
I am one of the developer which Martin Rumori mentioned in
http://sam.zoy.org/projects/elk/msg00046.html
I attached a small script which reproduces the GC bug.
Just run it with
"elk -l bug.scm"
and after a while (it displays numbers, around 4000, or 20000)
the bug occurs. Sorry, there is no exact reproduction possible, you have to
sit and wait :-)
Elk was run on a Linux PC, Kernel 2.4.21, SuSE 8.2 with auto-configure.
Hope this might give you a hint to hunt the bug!
Thanks in advance!
Alex
--
Alexander.Lechner @ vertigo-systems.de
Engelbertstraße 30 | phone: +49-221-2405472
D-50674 Köln | fax: +49-221-34892616
;; this file crashes Elk after a while with the well-known
;; [Garbage collecting...
;; Panic: Visit: object not in prev space at 0x40210b2c ('pair') 8199 8201
(dumping core).
(set! garbage-collect-notify? #t)
(define c 0)
(define cb
(lambda ignore
(let ((s '()))
(display c)
(newline)
(set! c (+ 1 c))
(call/cc
(lambda (return)
(do ((i 0 (+ i 1)))
((= i 100))
(let ((a (+ i 1))
)
(set! s (append s (list i)))
)
(if (= i 60) (return #t))
))))))
(do ((i 0 0))
(#f)
(cb)
)
;; this file crashes Elk after a while with the well-known
;; [Garbage collecting...
;; Panic: Visit: object not in prev space at 0x40210b2c ('pair') 8199 8201 (dumping core).
(set! garbage-collect-notify? #t)
(define c 0)
(define cb
(lambda ignore
(let ((s '()))
(display c)
(newline)
(set! c (+ 1 c))
(call/cc
(lambda (return)
(do ((i 0 (+ i 1)))
((= i 100))
(let ((a (+ i 1))
)
(set! s (append s (list i)))
)
(if (= i 60) (return #t))
)
)
)
)
)
)
(do ((i 0 0))
(#f)
(cb)
)