From: usa@... Date: 2014-01-29T05:05:24+00:00 Subject: [ruby-core:60197] [ruby-trunk - Bug #9003] Range.new on objects without <=> but with Comparable does raise SystemStackError, and if this is catched it crash in "Segmentation fault" Issue #9003 has been updated by Usaku NAKAMURA. Backport changed from 1.9.3: REQUIRED, 2.0.0: DONE to 1.9.3: DONE, 2.0.0: DONE backported into ruby_1_9_3 at r44742. ---------------------------------------- Bug #9003: Range.new on objects without <=> but with Comparable does raise SystemStackError, and if this is catched it crash in "Segmentation fault" https://bugs.ruby-lang.org/issues/9003#change-44681 * Author: Hans Mackowiak * Status: Closed * Priority: Urgent * Assignee: * Category: * Target version: * ruby -v: ruby 2.1.0dev (2013-10-09) [x86_64-darwin12.5.0] * Backport: 1.9.3: DONE, 2.0.0: DONE ---------------------------------------- this code causes "Segmentation fault: 11" o1=Object.new o1.extend(Comparable) o2=Object.new o2.extend(Comparable) begin p Range.new(o1,o2) # raises Stack Error rescue SystemStackError end begin p Range.new(o1,o2) # Segmentation fault: 11 rescue SystemStackError end i tested also other ruby versions: Crashs for versions: ruby 2.1.0dev (2013-10-09) [x86_64-darwin12.5.0] ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0] ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] works for versions: ruby 2.1.0dev (2013-09-22 trunk 43011) [i686-linux] ruby 2.0.0p247 (2013-06-27) [i386-mingw32] ruby 2.0.0p0 (2013-02-24 revision 39474) [i686-linux] from what i can see it looks like an 64bit problem on MRI it seems to work on rubinius 64bit -- http://bugs.ruby-lang.org/