From: "Hanmac (Hans Mackowiak)" Date: 2013-10-09T04:40:50+09:00 Subject: [ruby-core:57736] [ruby-trunk - Bug #9003][Open] 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 reported by Hanmac (Hans Mackowiak). ---------------------------------------- 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 Author: Hanmac (Hans Mackowiak) Status: Open Priority: Urgent Assignee: Category: Target version: ruby -v: ruby 2.1.0dev (2013-10-09) [x86_64-darwin12.5.0] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN 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/