IBM Support

IV87779: JAVA/LANG/ILLEGALARGUMENTEXCEPTION THROWN FROM JAVA/NIO/BUFFER.P OSITION

Subscribe

You can track all active APARs for this component.

 

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