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.