Issue Type: Bug Bug
Affects Versions: JRuby 1.6.8
Assignee: Thomas E Enebo
Created: 28/Nov/12 3:30 PM
Description:

A part of our code was calling the 'id' method in what we thought was a Rails ActiveRecord, but wasn't. That was calling the RubyKernel.id_deprecated method, which through RubyBasicObject logs a warning (warning: Object#id will be deprecated; use Object#object_id)

The application runs well for some time, with that error being reported, but after a few days of heavy use, we get a BufferOverflowException. Please see stack trace below:

java.nio.HeapByteBuffer.put(HeapByteBuffer.java:165)
org.jruby.util.io.ChannelStream.bufferedWrite(ChannelStream.java:1058)
org.jruby.util.io.ChannelStream.fwrite(ChannelStream.java:1237)
org.jruby.RubyIO.fwrite(RubyIO.java:1480)
org.jruby.RubyIO.write(RubyIO.java:1362)
org.jruby.RubyIO$i$1$0$write.call(RubyIO$i$1$0$write.gen:65535)
org.jruby.RubyClass.finvoke(RubyClass.java:715)
org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:548)
org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:361)
org.jruby.common.RubyWarnings.warn(RubyWarnings.java:76)
org.jruby.common.RubyWarnings.warn(RubyWarnings.java:81)
org.jruby.RubyBasicObject.id_deprecated(RubyBasicObject.java:2130)
org.jruby.RubyKernel.id_deprecated(RubyKernel.java:1915)
org.jruby.RubyKernel$s$0$0$id_deprecated.call(RubyKernel$s$0$0$id_deprecated.gen:65535)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
app.models.volume_aggregate.chained_5_rescue_1$RUBY$SYNTHETICrebuild_for_date(app/models/volume_aggregate.rb)

So, yes, there was a bug in our system, which we have fixed, but it seems like something in JRuby is also failing. I have run some searches in jira, and it seems like there are several similar BufferOverflowException that have been fixed in different versions of JRuby, but it seems there is still something that is not totally right in 1.6.8.

Project: JRuby
Priority: Major Major
Reporter: Diego Alonso
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
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