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