Bug #1172: [sparc] *** glibc detected *** ruby1.9: free(): invalid pointer: 0xf7ef6a54 ***
http://redmine.ruby-lang.org/issues/show/1172

Author: Lucas Nussbaum
Status: Open, Priority: Normal
ruby -v: 1.9.1p0

Hi,

The following script causes the interpreter to crash on SPARC.
It is likely to be caused by a mix of continuation and GC.

<---
    GC.start
    require 'continuation'
    o = Object.new
    def o.to_ary() callcc {|k| @cont = k; [1,2,3]} end
    GC.start
    begin
      if [10, 20, 1, 2, 3, 30, 1, 2, 3, 40] !=  [10, 20, o, 30, o, 40].flatten
         puts "FAIL1"
         exit(1)
      end
      GC.start
      puts "OK"
    rescue => e
      p e
    else
      puts "AA"
      o.instance_eval {@cont}.call
    end
    GC.start
--->
Script output:
<---
OK
AA
#<RuntimeError: flatten reentered>
*** glibc detected *** ruby1.9: free(): invalid pointer: 0xf7f2aa54 ***
Aborted
--->

It fails both with:
ruby 1.9.0 (2008-06-20 revision 17482) [sparc-linux]
and
ruby 1.9.1p0 (2009-01-30 revision 21907) [sparc-linux]


----------------------------------------
http://redmine.ruby-lang.org