IBM Support

IV64490: BIGINTEGER.MODINVERSE RETURNS BIGINTEGER OBJECTS WITH NON-CANONI CAL INTERNAL REPRESENTATION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: When creating BigInteger with modInverse, the
    internal representation is not the same with the ones when
    creating with constructors. When the modPow method is JITted,
    the calculations go wrong.
    .
    Stack Trace: N/A
    .
    N/A
    

Local fix

  • Construct another BigInteger object with the returned value from
    BigInteger.modInvers() and use it to call BigInteger.modPow().
    

Problem summary

  • There are two problems caused by the non-canonical internal
    representation:(a) hashCode() returns different values although
    two BigInteger objects are equivalent.(b) BigInteger.modPow()
    may return wrong result if JIT enables the quad
    optimization.Both of the two problems are caused by the
    BigInteger object's non-canonical internal representation when
    creating with modInverse. The internal representation array is
    not equivalent with the ones created otherwise, e.g. from a
    string or another BigInteger object.
    

Problem conclusion

  • BigInteger has been enhanced to ensure internal representation
    is canonical.
    .
    This APAR will be fixed in the following Java Releases:
       7    SR8       (7.0.8.0)
       7 R1 SR2       (7.1.2.0)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, Java maintenance is available
    from:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

  • N/A
    

Comments

APAR Information

  • APAR number

    IV64490

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-09-02

  • Closed date

    2014-09-04

  • Last modified date

    2014-09-29

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JAVA CLASS LIBS

  • Fixed component ID

    620700130

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
21 February 2022