Problem with jitting ruby block in JRuby 1.2 RC1
------------------------------------------------

                 Key: JRUBY-3450
                 URL: http://jira.codehaus.org/browse/JRUBY-3450
             Project: JRuby
          Issue Type: Bug
          Components: Compiler
    Affects Versions: JRuby 1.2
         Environment: Windows XP
            Reporter: Jean-Dominique Morani


The following Java error is thrown when JRuby 1.2 RC1 is trying to compile a 
ruby block in soap4r 1.5.8 :

Exception in thread "Thread-32" java.lang.RuntimeException: This path is not 
valid yet for CallBlock

The same code was working perfectly fine in JRuby 1.1.6

Below please find the entire callstack  :

Exception in thread "Thread-32" java.lang.RuntimeException: This path is not 
valid yet for CallBlock
        at org.jruby.runtime.CallBlock.yieldSpecific(CallBlock.java:73)
        at org.jruby.runtime.Block.yieldSpecific(Block.java:92)
        at 
ruby.jit.ruby.C_3a_.atb.jruby_minus_1_dot_1_dot_5.lib.ruby.gems.$1_dot_8.gems.soap4r_minus_1_dot_5_dot_8.lib.soap.baseData.each31463557_17174249.__file__(baseData.rb:618)
        at 
org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:128)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:138)
        at org.jruby.RubyClass.finvoke(RubyClass.java:332)
        at 
org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:373)
        at org.jruby.RubyEnumerable.callEach(RubyEnumerable.java:67)
        at org.jruby.RubyEnumerable.collect(RubyEnumerable.java:578)
        at 
org.jruby.RubyEnumerable$s_method_0_0$RUBYFRAMEDINVOKER$collect.call(org/jruby/RubyEnumerable$s_method_0_0$RUBYFRAMEDINVOKER$collect.gen)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)
        at 
org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:239)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:180)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:190)
        at org.jruby.ast.FCallThreeArgNode.interpret(FCallThreeArgNode.java:40)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.IfNode.interpret(IfNode.java:114)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:101)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:113)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:117)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:30)
        at org.jruby.ast.FCallManyArgsNode.interpret(FCallManyArgsNode.java:60)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.IfNode.interpret(IfNode.java:114)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:101)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:113)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:117)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:30)
        at org.jruby.ast.CallManyArgsNode.interpret(CallManyArgsNode.java:59)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:225)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:147)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:163)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:192)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:143)
        at org.jruby.runtime.Block.yield(Block.java:100)
        at org.jruby.ast.YieldNode.interpret(YieldNode.java:115)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:153)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:119)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:126)
        at 
org.jruby.ast.CallOneArgBlockNode.interpret(CallOneArgBlockNode.java:60)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:225)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:147)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:201)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:162)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:150)
        at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:163)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:163)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.ToAryNode.interpret(ToAryNode.java:69)
        at org.jruby.ast.MultipleAsgnNode.interpret(MultipleAsgnNode.java:116)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:201)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:162)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:150)
        at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:192)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:143)
        at org.jruby.runtime.Block.yield(Block.java:100)
        at org.jruby.RubyArray.each(RubyArray.java:1562)
        at 
org.jruby.RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.call(org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)
        at 
org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.IfNode.interpret(IfNode.java:112)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.IfNode.interpret(IfNode.java:112)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.WhileNode.interpret(WhileNode.java:131)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:225)
        at 
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:147)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:163)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:192)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:180)
        at org.jruby.runtime.BlockBody.call(BlockBody.java:65)
        at org.jruby.runtime.BlockBody.call(BlockBody.java:71)
        at org.jruby.runtime.Block.call(Block.java:80)
        at org.jruby.RubyProc.call(RubyProc.java:204)
        at org.jruby.RubyProc.call(RubyProc.java:187)
        at org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:90)
        at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to