IBM Support

IV40469: NEW SECURITYRANDOM THROWS EXCEPTION IN MULTI-THREAD ENV

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: new SecurityRandom() method throws
    ArrayIndexOutOfBoundsException in multi-thread env
    .
    Stack Trace: Caused by:
    java.lang.ArrayIndexOutOfBoundsException: Array index out of
    range: 8
        at java.util.LinkedList.toArray(LinkedList.java:966)
        at
    org.apache.harmony.security.fortress.Services.getProviders(Servi
    ces.java
    :771)
        at
    org.apache.harmony.security.fortress.Services.getCreatedProvider
    s(Servic
    es.java:757)
        at java.security.Security.renumProviders(Security.java:438)
        at java.security.Security.access$300(Security.java:54)
        at
    java.security.Security$SecurityDoor.renumProviders(Security.java
    :447)
        at
    org.apache.harmony.security.fortress.Services$NormalServices.loa
    dAllProv
    iders(Services.java:240)
        at
    org.apache.harmony.security.fortress.Services$NormalServices.acc
    ess$500(
    Services.java:160)
        at
    org.apache.harmony.security.fortress.Services$NormalServices$2.r
    un(Servi
    ces.java:219)
        at
    org.apache.harmony.security.fortress.Services$NormalServices$2.r
    un(Servi
    ces.java:217)
        at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:228)
        at
    org.apache.harmony.security.fortress.Services$NormalServices.get
    Provider
    List(Services.java:217)
        at
    org.apache.harmony.security.fortress.Services$NormalServices.acc
    ess$1500
    (Services.java:160)
        at
    org.apache.harmony.security.fortress.Services.getProvidersList(S
    ervices.
    java:782)
        at
    java.security.SecureRandom.findService(SecureRandom.java:140)
        at java.security.SecureRandom.<init>(SecureRandom.java:106)
        at javax.crypto.b.<clinit>(Unknown Source)
        at java.lang.J9VMInternals.initializeImpl(Native Method)
        at
    java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
        ... 14 more
    .
    N/A
    

Local fix

  • N/A
    

Problem summary

  • The problem is because provider list is modified by different
    threads in the same time.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.0 SR14
    6.0.1 SR6
    .
    Wrap a new list when adding new provider to prevent the
    multi-thread problem
    

Temporary fix

  • N/A
    

Comments

APAR Information

  • APAR number

    IV40469

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-04-24

  • Closed date

    2013-04-28

  • Last modified date

    2013-04-28

  • 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

  • R600 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
28 April 2013