IBM Support

IV50585: GC STORM WHEN JAVA.IO.BITS.RESERVEMEMORY 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: In workloads with high numbers of paralell
    threads that use DriectByteBuffers, like in almost any WAS
    deployment, where a volume of direct memory is required that is
    larger than the default soft limit (but unknown outside runtime
    demands) it will end up in a situation whee multiple threads are
    all hitting the soft limits at the same time. It will cause GC
    storm
    .
    Stack Trace: N/A
    .
    N/A
    

Local fix

  • N/A
    

Problem summary

  • When multiple threads enter Bits.reserveMemoty() at same time,
    threads pass the initial synchronized block quickly but gc
    triggered by first thread has not yet finished, so all threads
    will fail to reserve memory and trigger gc in its own thread.
    This causes gc storm.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR6
    .
    The solution is move check and increase Max memory codes to the
    end of initial synchronized block, so that only the first thread
    will trigger gc and the following threads will reserve memory
    successfully in initial synchronized block.
    

Temporary fix

  • N/A
    

Comments

APAR Information

  • APAR number

    IV50585

  • 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

    2013-10-08

  • Closed date

    2013-10-08

  • Last modified date

    2013-10-31

  • 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



Document information

More support for: Runtimes for Java Technology
Java Class Libraries

Software version: 700

Reference #: IV50585

Modified date: 31 October 2013