StringIO.read(num, buffer) populates corrupt data in buffer or crashes jRuby
----------------------------------------------------------------------------

                 Key: JRUBY-3526
                 URL: http://jira.codehaus.org/browse/JRUBY-3526
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules, Ruby 1.8.7
    Affects Versions: JRuby 1.2, JRuby 1.1.6
         Environment: MacOSX 10.5.6 (Intel)
java version "1.5.0_16"
jRuby 1.1.6 and jRuby 1.2.0
            Reporter: Michael Rykov
            Priority: Critical
             Fix For: JRuby 1.3, JRuby 1.x+, JRuby 2
         Attachments: stringiocrash.rb

I noticed the problem when my string data was getting altered when accessed 
through StringIO.read(num, buff) API

I tried to create a small test file to reproduce the problem, but I ended up 
crashing jRuby instead.  Here is what I get when I run the attached file:

{code}
$ jruby ./stringiocrash.rb 
blahblah
java.lang.System:-2:in `arraycopy': java.lang.ArrayIndexOutOfBoundsException
        from org.jruby.util.ByteList:601:in `grow'
        from org.jruby.util.ByteList:320:in `unsafeReplace'
        from org.jruby.util.ByteList:336:in `replace'
        from org.jruby.RubyStringIO:605:in `read'
        from org.jruby.RubyStringIO$i_method_0_2$RUBYINVOKER$read:-1:in `call'
        from 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodNoBlock:62:in `call'
        from org.jruby.internal.runtime.methods.DynamicMethod:261:in `call'
        from org.jruby.internal.runtime.methods.DynamicMethod:169:in `call'
        from org.jruby.runtime.callsite.CachingCallSite:300:in `cacheAndCall'
        from org.jruby.runtime.callsite.CachingCallSite:157:in `call'
        from $_dot_.stringiocrash:7:in `__file__'
        from $_dot_.stringiocrash:-1:in `__file__'
        from $_dot_.stringiocrash:-1:in `load'
        from org.jruby.Ruby:564:in `runScript'
        from org.jruby.Ruby:467:in `runNormally'
        from org.jruby.Ruby:340:in `runFromMain'
        from org.jruby.Main:214:in `run'
        from org.jruby.Main:100:in `run'
        from org.jruby.Main:84:in `main'
$ 
{code}

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