[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)
	)