IBM Support

IJ58601: JAVA JIT: OVERLAPPING MEMORY COPY CAUSES CORRUPTION ON IBM Z

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: java.io.IOException: BZip2 CRC error
    .
    Stack Trace: Caused by: java.io.IOException: BZip2 CRC error
    at
    org.apache.commons.compress.compressors.bzip2.BZip2CompressorInp
    utStream.endBlock(BZip2CompressorInputStream.java:349)
    at
    org.apache.commons.compress.compressors.bzip2.BZip2CompressorInp
    utStream.setupNoRandPartA(BZip2CompressorInputStream.java:819)
    at
    org.apache.commons.compress.compressors.bzip2.BZip2CompressorInp
    utStream.setupNoRandPartB(BZip2CompressorInputStream.java:868)
    at
    org.apache.commons.compress.compressors.bzip2.BZip2CompressorInp
    utStream.read0(BZip2CompressorInputStream.java:229)
    at
    org.apache.commons.compress.compressors.bzip2.BZip2CompressorInp
    utStream.read(BZip2CompressorInputStream.java:177)
    at
    org.apache.avro.file.BZip2Codec.decompress(BZip2Codec.java:73)
    at
    org.apache.avro.file.DataFileStream$DataBlock.decompressUsing(Da
    taFileStream.java:355)
    at
    org.apache.avro.file.DataFileStream.hasNext(DataFileStream.java:
    199)
    .
    The issue is a small scale corruption, typically within a 64bit
    memory write. How this corruption presents from a failure
    perspective depends on the context. The failure may not always
    present as an exception.
    The issue is caused by the JIT compiler Z code generator and
    therefore can only occur on IBM Z (zOS and zLinux).
    It is possible that the issue is easier to appear when using the
    "Balanced" GC policy with the "offHeap" enhancement (introduced
    in Java 8.0.8.50).
    

Local fix

  • There is no way to prevent the Z code generator from using the
    failing code sequence, but if the problem is occurring when
    using the "Balanced" GC policy, switching to the default
    "Gencon" policy will likely avoid the problem.
    

Problem summary

  • The JIT can use the "MVC" IBM Z instruction to performance a
    memory to memory copy, but in some rare cases we failed to
    ensure that the source and destination of the copy do not
    overlap. When there is overlapping, trailing parts of the source
    
    could get overwritten when writing to the destination.
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    IJ58601

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2026-06-08

  • Closed date

    2026-06-23

  • Last modified date

    2026-06-24

  • 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

    JIT

  • Fixed component ID

    620700124

Applicable component levels

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
24 June 2026