JRuby (please use github issues at http://bugs.jruby.org)
  1. JRuby (please use github issues at http://bugs.jruby.org)
  2. JRUBY-6628

#to_date fails on Rails request param with ArrayIndexOutOfBoundsException

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: JRuby 1.7.0.pre1
    • Fix Version/s: JRuby 1.7.0.pre1
    • Component/s: None
    • Labels:
      None
    • Environment:
      Ubuntu 11.10, Rails 3.2.3, Jruby 1.7.0.dev
    • Number of attachments :
      1

      Description

      Fails on Foo#test1 and Foo#test2. Foo#test3 works. I can only reproduce within rails.

      #rails model
      class Foo
        def initialize(params)
          @request = params
        end
        def test1
          @request[:pickup_date].to_date
        end
        def test2
          @request['pickup_date'].to_date
        end
        def test3
          '2012-06-01'.to_date
        end
      end
      

      Stack Trace:

      Java::JavaLang::ArrayIndexOutOfBoundsException (9):
        org.joni.ByteCodeMachine.opExactMB3N(ByteCodeMachine.java:561)
        org.joni.ByteCodeMachine.matchAt(ByteCodeMachine.java:205)
        org.joni.Matcher.matchCheck(Matcher.java:293)
        org.joni.Matcher.search(Matcher.java:438)
        org.jruby.RubyString.subBangNoIter19(RubyString.java:2784)
        org.jruby.RubyString.sub_bang19(RubyString.java:2740)
        org.jruby.RubyString$INVOKER$i$sub_bang19.call(RubyString$INVOKER$i$sub_bang19.gen)
        org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoOrNBlock.call(JavaMethod.java:343)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)
        org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        org.jruby.ast.IfNode.interpret(IfNode.java:110)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:201)
        org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.OrNode.interpret(OrNode.java:95)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:201)
        org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        org.jruby.ast.CallThreeArgNode.interpret(CallThreeArgNode.java:61)
        org.jruby.ast.Splat19Node.interpret(Splat19Node.java:48)
        org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:58)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
        org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:133)
        org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.WhenOneArgNode.whenSlowTest(WhenOneArgNode.java:36)
        org.jruby.ast.WhenOneArgNode.when(WhenOneArgNode.java:46)
        org.jruby.ast.CaseNode.interpret(CaseNode.java:132)
        org.jruby.ast.InstAsgnNode.interpret(InstAsgnNode.java:95)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        org.jruby.RubyClass.finvoke(RubyClass.java:583)
        org.jruby.RubyBasicObject.send19(RubyBasicObject.java:1786)
        org.jruby.RubyKernel.send19(RubyKernel.java:1990)
        org.jruby.RubyKernel$INVOKER$s$send19.call(RubyKernel$INVOKER$s$send19.gen)
        org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:86)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.ZSuperNode.interpret(ZSuperNode.java:102)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:39)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.ZSuperNode.interpret(ZSuperNode.java:102)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.ZSuperNode.interpret(ZSuperNode.java:102)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
        org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
        org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
        org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133)
        org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.IfNode.interpret(IfNode.java:116)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        org.jruby.RubyClass.finvoke(RubyClass.java:583)
        org.jruby.RubyBasicObject.send19(RubyBasicObject.java:1786)
        org.jruby.RubyKernel.send19(RubyKernel.java:1990)
        org.jruby.RubyKernel$INVOKER$s$send19.call(RubyKernel$INVOKER$s$send19.gen)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:182)
        org.jruby.ast.CallOneArgBlockPassNode.interpret(CallOneArgBlockPassNode.java:60)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:298)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:239)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:244)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:250)
        org.jruby.ast.CallThreeArgBlockPassNode.interpret(CallThreeArgBlockPassNode.java:64)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.RubyClass.finvoke(RubyClass.java:623)
        org.jruby.RubyBasicObject.send19(RubyBasicObject.java:1792)
        org.jruby.RubyKernel.send19(RubyKernel.java:1994)
        org.jruby.RubyKernel$INVOKER$s$send19.call(RubyKernel$INVOKER$s$send19.gen)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:342)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:212)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:216)
        org.jruby.ast.FCallSpecialArgBlockPassNode.interpret(FCallSpecialArgBlockPassNode.java:40)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:255)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:342)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:212)
        org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:221)
        org.jruby.ast.FCallTwoArgBlockNode.interpret(FCallTwoArgBlockNode.java:34)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.ZSuperNode.interpret(ZSuperNode.java:102)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.ZSuperNode.interpret(ZSuperNode.java:102)
        org.jruby.ast.DAsgnNode.interpret(DAsgnNode.java:110)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
        org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
        org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
        org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:138)
        org.jruby.runtime.Block.yieldSpecific(Block.java:108)
        org.jruby.ast.YieldOneNode.interpret(YieldOneNode.java:35)
        org.jruby.ast.IfNode.interpret(IfNode.java:116)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
        org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
        org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
        org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133)
        org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:255)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:210)
        org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:221)
        org.jruby.ast.CallTwoArgBlockNode.interpret(CallTwoArgBlockNode.java:62)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.IfNode.interpret(IfNode.java:116)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:255)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:210)
        org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:221)
        org.jruby.ast.CallTwoArgBlockNode.interpret(CallTwoArgBlockNode.java:62)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.ZSuperNode.interpret(ZSuperNode.java:102)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.ZSuperNode.interpret(ZSuperNode.java:102)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
        org.jruby.ast.FCallSpecialArgNode.interpret(FCallSpecialArgNode.java:39)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.ZSuperNode.interpret(ZSuperNode.java:102)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
        org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:255)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:223)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:236)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:243)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:109)
        org.jruby.ast.SuperNode.interpret(SuperNode.java:114)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)
        org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
        org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
        org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:197)
        org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:128)
        org.jruby.runtime.Block.call(Block.java:89)
        org.jruby.RubyProc.call(RubyProc.java:269)
        org.jruby.RubyProc.call19(RubyProc.java:257)
        org.jruby.RubyProc$INVOKER$i$0$0$call19.call(RubyProc$INVOKER$i$0$0$call19.gen)
        org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:216)
        org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:276)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:231)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:235)
        org.jruby.ast.FCallThreeArgNode.interpret(FCallThreeArgNode.java:40)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
        org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
        org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
        org.jruby.runtime.Block.yield(Block.java:130)
        org.jruby.RubyArray.eachCommon(RubyArray.java:1604)
        org.jruby.RubyArray.each(RubyArray.java:1611)
        org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:142)
        org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:153)
        org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.WhenOneArgNode.whenSlowTest(WhenOneArgNode.java:36)
        org.jruby.ast.WhenOneArgNode.when(WhenOneArgNode.java:46)
        org.jruby.ast.CaseNode.interpret(CaseNode.java:132)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.IfNode.interpret(IfNode.java:118)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
        org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
        org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:160)
        org.jruby.runtime.Interpreted19Block.yieldSpecific(Interpreted19Block.java:133)
        org.jruby.runtime.Block.yieldSpecific(Block.java:99)
        org.jruby.ast.ZYieldNode.interpret(ZYieldNode.java:25)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.IfNode.interpret(IfNode.java:116)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        org.jruby.RubyClass.finvoke(RubyClass.java:583)
        org.jruby.RubyBasicObject.send19(RubyBasicObject.java:1786)
        org.jruby.RubyKernel.send19(RubyKernel.java:1990)
        org.jruby.RubyKernel$INVOKER$s$send19.call(RubyKernel$INVOKER$s$send19.gen)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:182)
        org.jruby.ast.CallOneArgBlockPassNode.interpret(CallOneArgBlockPassNode.java:60)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:298)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:239)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:244)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:250)
        org.jruby.ast.CallThreeArgBlockPassNode.interpret(CallThreeArgBlockPassNode.java:64)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191)
        org.jruby.RubyClass.finvoke(RubyClass.java:583)
        org.jruby.RubyBasicObject.send19(RubyBasicObject.java:1786)
        org.jruby.RubyKernel.send19(RubyKernel.java:1990)
        org.jruby.RubyKernel$INVOKER$s$send19.call(RubyKernel$INVOKER$s$send19.gen)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:182)
        org.jruby.ast.FCallSpecialArgBlockPassNode.interpret(FCallSpecialArgBlockPassNode.java:38)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:176)
        org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
        org.jruby.ast.FCallOneArgBlockNode.interpret(FCallOneArgBlockNode.java:34)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.IfNode.interpret(IfNode.java:118)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.Splat19Node.interpret(Splat19Node.java:48)
        org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:58)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:133)
        org.jruby.ast.VCallNode.interpret(VCallNode.java:86)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:133)
        org.jruby.ast.VCallNode.interpret(VCallNode.java:86)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.IfNode.interpret(IfNode.java:118)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.IfNode.interpret(IfNode.java:118)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:133)
        org.jruby.ast.VCallNode.interpret(VCallNode.java:86)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.IfNode.interpret(IfNode.java:116)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.IfNode.interpret(IfNode.java:116)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.IfNode.interpret(IfNode.java:118)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:212)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:207)
        org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
        org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
        org.jruby.runtime.callsite.SuperCallSite.callVarargs(SuperCallSite.java:108)
        org.jruby.ast.SuperNode.interpret(SuperNode.java:114)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167)
        org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        org.jruby.ast.MultipleAsgn19Node.interpret(MultipleAsgn19Node.java:104)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:201)
        org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:233)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:215)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:201)
        org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.WhileNode.interpret(WhileNode.java:131)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75)
        org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:190)
        org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:199)
        org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
        org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
        org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        org.jruby.ast.IfNode.interpret(IfNode.java:118)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        org.jruby.ast.RescueNode.executeBody(RescueNode.java:231)
        org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:123)
        org.jruby.ast.RescueNode.interpret(RescueNode.java:113)
        org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
        org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:209)
        org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:197)
        org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:128)
        org.jruby.runtime.Block.call(Block.java:89)
        org.jruby.RubyProc.call(RubyProc.java:269)
        org.jruby.RubyProc.call(RubyProc.java:223)
        org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:101)
        java.lang.Thread.run(Thread.java:722)
      

        Activity

        Hide
        Charles Oliver Nutter added a comment -

        This looks like a bad string (or an improperly-encoded string) getting into String#sub and passed along to the regexp engine.

        Can you provide the contents of "@request['pickup_date']" or a simple Rails app in a zip that we can use to reproduce this? Without having the actual bad string/data, it's hard for us to investigate.

        Show
        Charles Oliver Nutter added a comment - This looks like a bad string (or an improperly-encoded string) getting into String#sub and passed along to the regexp engine. Can you provide the contents of "@request ['pickup_date'] " or a simple Rails app in a zip that we can use to reproduce this? Without having the actual bad string/data, it's hard for us to investigate.
        Show
        Kenneth Lin added a comment - Usage: http://localhost:3000/foos/index?pickup_date=18MAY2012&test=2
        Hide
        Hiro Asari added a comment -

        Confirmed on master.

        Show
        Hiro Asari added a comment - Confirmed on master.
        Hide
        Hiro Asari added a comment -

        The up-to-date joni (400de51) doesn't exhibit this problem.

        Show
        Hiro Asari added a comment - The up-to-date joni (400de51) doesn't exhibit this problem.
        Hide
        Hiro Asari added a comment -

        I went ahead and updated joni.jar on master (ab6cb39).

        Show
        Hiro Asari added a comment - I went ahead and updated joni.jar on master (ab6cb39).
        Hide
        Hiro Asari added a comment -

        I reverted the joni update, since it broke an MRI test. http://travis-ci.org/jruby/jruby/builds/1309963

        Show
        Hiro Asari added a comment - I reverted the joni update, since it broke an MRI test. http://travis-ci.org/jruby/jruby/builds/1309963
        Hide
        Thomas E Enebo added a comment -

        This was fixed with the recently new version of joni/jcodings. Travis has run many times since then with no errors.

        Show
        Thomas E Enebo added a comment - This was fixed with the recently new version of joni/jcodings. Travis has run many times since then with no errors.

          People

          • Assignee:
            Hiro Asari
            Reporter:
            Kenneth Lin
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: