Colin Bartlett created JRUBY-6612:
-------------------------------------

             Summary: some problems with JRuby seeming to not detect Java Long 
arithmetic overflows
                 Key: JRUBY-6612
                 URL: https://jira.codehaus.org/browse/JRUBY-6612
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.6.6
         Environment: Laptop running Microsoft Windows Vista and a netbook 
running Microsoft Windows 7
            Reporter: Colin Bartlett
         Attachments: qjrubyfixnum.rb

There seem to be some bugs where the Java code underlying JRuby seems to not 
detect Long arithmetic overflows.

For example, on my PCs running this code in JRuby:
nn = -(2**63)-1
3.times {|i| i += nn; puts "# i: #{i}; i*-1: #{i*-1}; -1*i: #{-1*i}" }
results in this output:
# i: -9223372036854775809; i*-1: 9223372036854775809; -1*i: 9223372036854775809
# i: -9223372036854775808; i*-1: 9223372036854775808; -1*i: -9223372036854775808
# i: -9223372036854775807; i*-1: 9223372036854775807; -1*i: 9223372036854775807

I seem to have some problems with Fixnum multiplication (as above),
and with Fixnum/Bignum Range#each and Range#each_with_index.

There are more examples and information in the attached JRuby file.

My apologies if I am making a mistake, or if these issues have been raised 
before: I searched jira.codehaus.org using "JRuby overflow", but didn't find 
anything that seemed to cover the examples in the attached file.

I wasn't sure what priority to give this: if I'm correct that these are bugs 
with Fixnum (etc) then they would seem to be "major", but if no-one else has 
noticed these before then in practice there hasn't so far been a problem(?).

In the attached file I've put a possible patch for one occurrence of the Fixnum 
multiply overflow problem, but there may be other places where patches are 
needed, and there is also the Fixnum/Bignum range problem: I'm afraid I haven't 
looked at all at the JRuby Java code for that.

I would be happy to give more details and/or answer any questions.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.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