IV19966: NON-ATOMIC VARIABLE-LENGTH ARRAYSET
Closed as program error.
Error Message: The following assertion in the GC was observed: 0xf69800 j9mm.107 * ** ASSERTION FAILED ** at MarkingScheme.cpp:299: ((isHeapObject(objectPtr))) . Stack Trace: N/A .
This issue can be avoided using the -Xjit:disableIdiomRecognition,disableSequentialStoreSimplificati on,disableLoopReduction option. This option may cause a noticeable performance degradation.
The inlined sequence for variable-length non-byte arrayset generated by the Java JIT Compiler includes a single-byte XC instruction to handle residual (<256 bytes) elements. As a result of this single byte clearing, a partially cleared and invalid element value may be visible to other threads concurrently examining that array. This issue only impacts JDKs on Linux on Z and zOS.
This defect will be fixed in: 6.0.1 SR2 7.0.0 SR1 . The JVM has been updated to remove the single-byte XC instruction and generate an atomic sequence for all arrayset.
Reported component name
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels