[MacRuby-devel] [MacRuby] #776: Segfault occurs with empty `case' clause and splat argument `when' clause.

MacRuby ruby-noreply at macosforge.org
Thu Jul 8 16:06:54 PDT 2010


#776: Segfault occurs with empty `case' clause and splat argument `when' clause.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------

Comment(by lsansonetti@…):

 your backtrace is incorrect (because you probably generated it from a
 version of macruby where symbols have been stripped).

 Here is the correct one:

 {{{
 #0  llvm::PATypeHolder::get (this=0x10) at Type.h:507
 #1  0x00000001008a9623 in llvm::CallInst::init () at atomicity.h:51
 #2  0x000000010013068e in init<llvm::Value**> [inlined] () at
 /usr/local/include/llvm/Instructions.h:847
 #3  CallInst<llvm::Value**> [inlined] () at Instructions.h:1078
 #4  CallInst<llvm::Value**> [inlined] () at
 /usr/local/include/llvm/Instructions.h:894
 #5  0x000000010013068e in llvm::CallInst::Create<llvm::Value**>
 (Func=0x100f34370, ArgBegin=0x7fff5fbfd2f0, ArgEnd=<value temporarily
 unavailable, due to optimizations>, NameStr=@0x7fff5fbfd290,
 InsertAtEnd=0x10145a060) at Instructions.h:1078
 #6  0x00000001001155d6 in RoxorCompiler::compile_protected_call
 (this=0x103860200, imp=0x100f34370, args_begin=0x7fff5fbfd2f0,
 args_end=0x7fff5fbfd308) at compiler.cpp:342
 #7  0x000000010011e10c in RoxorCompiler::compile_when_splat
 (this=0x103860200, comparedToVal=0x0, splatVal=0x100f4d680) at
 compiler.cpp:538
 #8  0x0000000100126803 in RoxorCompiler::compile_when_arguments
 (this=0x103860200, args=<value temporarily unavailable, due to
 optimizations>, comparedToVal=0x0, thenBB=0x10145a240) at compiler.cpp:434
 #9  0x0000000100133bb0 in RoxorCompiler::compile_node0 (this=0x103860200,
 node=0x2000c0d20) at compiler.cpp:4534
 #10 0x0000000100128bfc in RoxorCompiler::compile_node () at /Users/lrz/src
 /macruby-trunk/compiler.cpp:4630
 #11 0x0000000100128bfc in RoxorCompiler::compile_scope (this=0x103860200,
 node=0x2000c0ce0) at compiler.cpp:2742
 #12 0x00000001001341ef in RoxorCompiler::compile_node0 (this=0x103860200,
 node=0x2000c0ce0) at compiler.cpp:3193
 #13 0x000000010012551b in RoxorCompiler::compile_node () at /Users/lrz/src
 /macruby-trunk/compiler.cpp:4630
 #14 0x000000010012551b in RoxorCompiler::compile_main_function
 (this=0x103860200, node=0x2000c0ce0, can_interpret_p=0x7fff5fbff90f) at
 compiler.cpp:4687
 }}}

 It looks like we don't support empty-case statements. I didn't even know
 it was valid Ruby :)

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/776#comment:3>
MacRuby <http://macruby.org/>



More information about the MacRuby-devel mailing list