[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