APAR status
Closed as program error.
Error description
This error was reported when using SPARK on zOS. Multiple threads connected to a single console output results in the offset of CharsetDecoder updated by many threads, leading to an IllegalArgumentException and an eventual hang . An IllegalStateException may also be reported .
Local fix
Problem summary
The console writer uses a shared CharsetDecoder for the Java runtime. It uses an instance variable to keep track of the byte offset and it can be updated by multiple threads. This can lead to an invalid new position for the Buffer which result in the IllegalArgumentException. The issue is more prominent with Spark workloads where multiple executors can be connected to a worker and each executor console output is tracked by different threads in the worker. When the exception is thrown, the output stream became unusable and as a result the worker/executors gets hung as its writer buffer is full and waiting for the buffer to be cleared.
Problem conclusion
The JDK has been updated to use method variables for storing the intermediate value of byte/char offset in the CharsetDecoder to avoid the thread race condition. . This APAR will be fixed in the following Java Releases: 8 SR3 FP11 (8.0.3.11) . Contact your IBM Product's Service Team for these Service Refreshes and Fix Packs. For those running stand-alone, information about the available Service Refreshes and Fix Packs can be found at: https://www.ibm.com/developerworks/java/jdk/
Temporary fix
Comments
APAR Information
APAR number
IV87779
Reported component name
JAVA CLASS LIBS
Reported component ID
620700130
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-08-09
Closed date
2016-08-18
Last modified date
2016-08-18
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
R800 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":"8.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]
Document Information
Modified date:
22 February 2022