important regression with buffered NIO commit #5708: intermittent 
java.nio.BufferUnderflowException serving Rails some requests
-------------------------------------------------------------------------------------------------------------------------------

                 Key: JRUBY-2032
                 URL: http://jira.codehaus.org/browse/JRUBY-2032
             Project: JRuby
          Issue Type: Bug
          Components: Interpreter
         Environment: JRuby head after rev #5708, Java6, Ubuntu Linux Kernel 
2.6.14
            Reporter: Raphael Valyi
            Priority: Blocker


Hi, SVN commit #5708 just induced an intermittent regression: the same
page can be served or break into the following stack. It doesn't seem to occur 
on any page but rather on page we server after a Rails redirect_to. This is a 
blocker bug for 1.1 I think. Was working like a charm before rev #5708, sure 
about that.
Hope this helps,

Raphaƫl Valyi.

- -> /us/topics/2008/1/23/first-topic/opinions
Exception in thread "Ruby Thread9144509" java.nio.BufferUnderflowException
       at java.nio.Buffer.nextGetIndex(Buffer.java:474)
       at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:117)
       at 
org.jruby.util.IOHandlerNioBuffered.bufferedRead(IOHandlerNioBuffered.java:573)
       at 
org.jruby.util.IOHandlerNioBuffered.read(IOHandlerNioBuffered.java:745)
       at 
org.jruby.util.IOHandlerNioBuffered.gets(IOHandlerNioBuffered.java:138)
       at org.jruby.RubyIO.internalGets(RubyIO.java:691)
       at org.jruby.RubyIO.internalGets(RubyIO.java:684)
       at org.jruby.RubyIO.gets(RubyIO.java:1263)
       at org.jruby.RubyIOInvoker$gets_method_0_1.call(Unknown Source)
       at 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodNoBlock.call(JavaMethod.java:63)
       at org.jruby.RubyObject.send(RubyObject.java:1174)
       at org.jruby.RubyObjectInvoker$send_method_1_0.call(Unknown Source)
       at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:85)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:388)
       at 
_read_data12606869_23303535.closure0(/home/rvalyi/DEV/jruby/lib/ruby/1.8/webrick/httprequest.rb:331)
       at _read_data12606869_23303535Blockclosure0xx1.call(Unknown Source)
       at 
org.jruby.runtime.CompiledBlockLight.yield(CompiledBlockLight.java:108)
       at org.jruby.runtime.Block.yield(Block.java:114)
       at 
timeout23735014_23303535.__ensure_1(/home/rvalyi/DEV/jruby/lib/ruby/1.8/timeout.rb:56)
       at 
timeout23735014_23303535.__file__(/home/rvalyi/DEV/jruby/lib/ruby/1.8/timeout.rb:51)
       at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:143)
       at 
org.jruby.internal.runtime.methods.WrapperMethod.call(WrapperMethod.java:54)
       at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:89)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:400)
       at 
timeout19658581_23303535.__file__(/home/rvalyi/DEV/jruby/lib/ruby/1.8/timeout.rb:76)
       at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:143)
       at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:81)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:370)
       at 
_read_data12606869_23303535.__rescue_1(/home/rvalyi/DEV/jruby/lib/ruby/1.8/webrick/httprequest.rb:330)
       at 
_read_data12606869_23303535.__file__(/home/rvalyi/DEV/jruby/lib/ruby/1.8/webrick/httprequest.rb:330)
       at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:143)
       at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:93)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:418)
       at 
read_line23303701_23303535.__file__(/home/rvalyi/DEV/jruby/lib/ruby/1.8/webrick/httprequest.rb:341)
       at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:143)
       at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:77)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:358)
       at 
read_header10079462_23303535.__file__(/home/rvalyi/DEV/jruby/lib/ruby/1.8/webrick/httprequest.rb:240)
       at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:143)
       at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:77)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:358)
       at 
parse20930552_23303535.__file__(/home/rvalyi/DEV/jruby/lib/ruby/1.8/webrick/httprequest.rb:88)
       at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:143)
       at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:65)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:298)
       at org.jruby.evaluator.ASTInterpreter.callNode(ASTInterpreter.java:653)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:300)
       at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:627)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:294)
       at 
org.jruby.evaluator.ASTInterpreter.rescueNode(ASTInterpreter.java:1503)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:443)
       at 
org.jruby.evaluator.ASTInterpreter.ensureNode(ASTInterpreter.java:1068)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:340)
       at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:627)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:294)
       at org.jruby.evaluator.ASTInterpreter.whileNode(ASTInterpreter.java:1747)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:480)
       at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:168)
       at 
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:175)
       at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:65)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:166)
       at 
org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:301)
       at org.jruby.evaluator.ASTInterpreter.fCallNode(ASTInterpreter.java:1096)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:346)
       at org.jruby.evaluator.ASTInterpreter.blockNode(ASTInterpreter.java:627)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:294)
       at 
org.jruby.evaluator.ASTInterpreter.rescueNode(ASTInterpreter.java:1503)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:443)
       at 
org.jruby.evaluator.ASTInterpreter.ensureNode(ASTInterpreter.java:1068)
       at 
org.jruby.evaluator.ASTInterpreter.evalInternal(ASTInterpreter.java:340)
       at org.jruby.evaluator.ASTInterpreter.eval(ASTInterpreter.java:168)
       at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:150)
       at org.jruby.runtime.InterpretedBlock.call(InterpretedBlock.java:103)
       at org.jruby.runtime.Block.call(Block.java:105)
       at org.jruby.RubyProc.call(RubyProc.java:204)
       at org.jruby.RubyProc.call(RubyProc.java:182)
       at 
org.jruby.internal.runtime.RubyNativeThread.run(RubyNativeThread.java:72)

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