Skip to content

rbThrowInternal throws error if IRubyObject ID is greater than Integer.MAX_VALUE #3980

@juergenthomann

Description

@juergenthomann

Environment

  • JRuby 1.7.20.1
  • Debian Jessie 3.16.7-ckt20 x86_64
  • Oracle Java 1.8.0_92

This Problem occurs with Puppetserver, please also look at https://tickets.puppetlabs.com/browse/PUP-6409 for details in Puppet

Expected Behavior

JRuby shouldn't throw this error at all, as the Internal Object ID shouldn't influence the behavior of the program.

Actual Behavior

JRuby behaves as it should without any problems until the Object Id reached a value greater than Integer.MAX_VALUE. There is a line message += " in thread 0x" + Integer.toHexString(RubyInteger.fix2int(currentThread.id())); in org.jruby.RubyKernel which converts the Object ID to Integer.
If RubyBasicObject is the really source of the currentThread.id() it is a Long and can be too large

If I have missed something, let me know or also comment on the mentioned Puppet ticket if you like.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions