Hi,
In message "Re: [BUG] unknown node type 0 - SERIOUS ENOUGH TO MIGRATE AWAY FROM RUBY?"
on Wed, 15 Dec 2004 22:34:43 +0900, Andrew Walrond <andrew / walrond.org> writes:
|This is a long standing bug in Ruby, and has been reported hundreds of times
|by myself and many other people, but never addressed. Unfortunately, the
|usual response is "Give a small code example reproducing the problem", which
|is impossible (given the nature of the bug), so it gets overlooked.
Try recent snapshot. The following change might fix your problem.
Mon Dec 13 18:13:52 2004 Tanaka Akira
* gc.c (stack_end_address): new function to obtain stack end address.
stack_end_address calls __builtin_frame_address(0) to obtain the
frame pointer of a stack frame of stack_end_address. The address
is the stack pointer of the caller's stack frame.
(SET_STACK_END): use stack_end_address.
This makes the conservative garbage collector to scan a stack frame
of the garbage_collect function itself. This is required because
callee-save registers may be stored in the frame.
[ruby-dev:25158]
matz.