NPE at org.jruby.runtime.callsite.RespondToCallSite.isCacheInvalid
------------------------------------------------------------------

                 Key: JRUBY-3466
                 URL: http://jira.codehaus.org/browse/JRUBY-3466
             Project: JRuby
          Issue Type: Bug
          Components: Interpreter
    Affects Versions: JRuby 1.2
            Reporter: Peter K Chan


While testing my app against the unreleased version of JRuby 1.2 (revision 
9347), I saw a few threads throwing NPE. I am unable to reproduce the error, 
but it is likely to be some kind of race condition. I have included the stack 
trace below with the reference to the offending line. I am hoping that someone 
can look at that line and figure out why a NPE is thrown.

Observationally, all of these threads threw the NPE at the same time.

{quote}

Exception in thread "CPU0" java.lang.NullPointerException
        at 
org.jruby.runtime.callsite.RespondToCallSite.isCacheInvalid(RespondToCallSite.java:46)
        at 
org.jruby.runtime.callsite.RespondToCallSite.call(RespondToCallSite.java:22)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.IfNode.interpret(IfNode.java:106)
        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.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.WhenOneArgNode.whenNoTest(WhenOneArgNode.java:26)
        at org.jruby.ast.WhenOneArgNode.when(WhenOneArgNode.java:45)
        at org.jruby.ast.CaseNode.interpret(CaseNode.java:128)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:253)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72)
        at org.jruby.ast.FCallNoArgNode.interpret(FCallNoArgNode.java:31)
        at org.jruby.ast.NotNode.interpret(NotNode.java:83)
        at org.jruby.ast.AndNode.interpret(AndNode.java:90)
        at org.jruby.ast.WhileNode.interpret(WhileNode.java:127)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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.ast.WhileNode.interpret(WhileNode.java:131)
        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:143)
        at org.jruby.runtime.Block.yield(Block.java:100)
        at org.jruby.ast.YieldNode.interpret(YieldNode.java:115)
        at org.jruby.ast.IfNode.interpret(IfNode.java:112)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        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: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:619)
Exception in thread "DISK0" java.lang.NullPointerException
        at 
org.jruby.runtime.callsite.RespondToCallSite.isCacheInvalid(RespondToCallSite.java:46)
        at 
org.jruby.runtime.callsite.RespondToCallSite.call(RespondToCallSite.java:22)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.IfNode.interpret(IfNode.java:106)
        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.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.WhenOneArgNode.whenNoTest(WhenOneArgNode.java:26)
        at org.jruby.ast.WhenOneArgNode.when(WhenOneArgNode.java:45)
        at org.jruby.ast.CaseNode.interpret(CaseNode.java:128)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:253)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72)
        at org.jruby.ast.FCallNoArgNode.interpret(FCallNoArgNode.java:31)
        at org.jruby.ast.NotNode.interpret(NotNode.java:83)
        at org.jruby.ast.AndNode.interpret(AndNode.java:90)
        at org.jruby.ast.WhileNode.interpret(WhileNode.java:127)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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.ast.WhileNode.interpret(WhileNode.java:131)
        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:143)
        at org.jruby.runtime.Block.yield(Block.java:100)
        at org.jruby.ast.YieldNode.interpret(YieldNode.java:115)
        at org.jruby.ast.IfNode.interpret(IfNode.java:112)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        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: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:619)
Exception in thread "CPU1" java.lang.NullPointerException
        at 
org.jruby.runtime.callsite.RespondToCallSite.isCacheInvalid(RespondToCallSite.java:46)
        at 
org.jruby.runtime.callsite.RespondToCallSite.call(RespondToCallSite.java:22)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.IfNode.interpret(IfNode.java:106)
        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.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.WhenOneArgNode.whenNoTest(WhenOneArgNode.java:26)
        at org.jruby.ast.WhenOneArgNode.when(WhenOneArgNode.java:45)
        at org.jruby.ast.CaseNode.interpret(CaseNode.java:128)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.FCallNoArgNode.interpret(FCallNoArgNode.java:31)
        at org.jruby.ast.NotNode.interpret(NotNode.java:83)
        at org.jruby.ast.AndNode.interpret(AndNode.java:90)
        at org.jruby.ast.WhileNode.interpret(WhileNode.java:127)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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.ast.WhileNode.interpret(WhileNode.java:131)
        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:143)
        at org.jruby.runtime.Block.yield(Block.java:100)
        at org.jruby.ast.YieldNode.interpret(YieldNode.java:115)
        at org.jruby.ast.IfNode.interpret(IfNode.java:112)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        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: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:619)
Exception in thread "Chorer" java.lang.NullPointerException
        at 
org.jruby.runtime.callsite.RespondToCallSite.isCacheInvalid(RespondToCallSite.java:46)
        at 
org.jruby.runtime.callsite.RespondToCallSite.call(RespondToCallSite.java:22)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.IfNode.interpret(IfNode.java:106)
        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.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.WhenOneArgNode.whenNoTest(WhenOneArgNode.java:26)
        at org.jruby.ast.WhenOneArgNode.when(WhenOneArgNode.java:45)
        at org.jruby.ast.CaseNode.interpret(CaseNode.java:128)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.FCallNoArgNode.interpret(FCallNoArgNode.java:31)
        at org.jruby.ast.NotNode.interpret(NotNode.java:83)
        at org.jruby.ast.AndNode.interpret(AndNode.java:90)
        at org.jruby.ast.AndNode.interpret(AndNode.java:90)
        at org.jruby.ast.IfNode.interpret(IfNode.java:106)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:263)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:81)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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.ast.WhileNode.interpret(WhileNode.java:131)
        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:143)
        at org.jruby.runtime.Block.yield(Block.java:100)
        at org.jruby.ast.YieldNode.interpret(YieldNode.java:115)
        at org.jruby.ast.IfNode.interpret(IfNode.java:112)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        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: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:619)
Exception in thread "CPU2" java.lang.NullPointerException
        at 
org.jruby.runtime.callsite.RespondToCallSite.isCacheInvalid(RespondToCallSite.java:46)
        at 
org.jruby.runtime.callsite.RespondToCallSite.call(RespondToCallSite.java:22)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.IfNode.interpret(IfNode.java:106)
        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.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.WhenOneArgNode.whenNoTest(WhenOneArgNode.java:26)
        at org.jruby.ast.WhenOneArgNode.when(WhenOneArgNode.java:45)
        at org.jruby.ast.CaseNode.interpret(CaseNode.java:128)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at 
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.FCallNoArgNode.interpret(FCallNoArgNode.java:31)
        at org.jruby.ast.NotNode.interpret(NotNode.java:83)
        at org.jruby.ast.AndNode.interpret(AndNode.java:90)
        at org.jruby.ast.WhileNode.interpret(WhileNode.java:127)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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.ast.WhileNode.interpret(WhileNode.java:131)
        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:143)
        at org.jruby.runtime.Block.yield(Block.java:100)
        at org.jruby.ast.YieldNode.interpret(YieldNode.java:115)
        at org.jruby.ast.IfNode.interpret(IfNode.java:112)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        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:144)
        at 
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
        at 
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96)
        at 
org.jruby.ast.FCallNoArgBlockNode.interpret(FCallNoArgBlockNode.java:32)
        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.RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.call(org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen)
        at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:616)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
        at 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        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: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:619)
{quote}

-- 
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