PM64410: JAVA UNIXPROCESS CODE DOES NOT PROPERLY TRANSLATE MESSAGES TO UTF-8 CAUSING A CRASH

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • In certain error situations, the JVM does not properly convert
    messages to UTF-8 prior to throwing an exception, which causes a
    crash. The crash specifically happens when launching a new
    process using java/lang/Runtime.exec
    
    The stack trace looks something like this:
    
    1        _TDUMP      +000000C2              *PATHNAM
    2        j9dump_create
                         +00000418              *PATHNAM
    3        doSystemDump+0000034A              *PATHNAM
    4        protectedDumpFunction
                         +0000002C              *PATHNAM
    5        j9sig_protect
                         +0000071A              *PATHNAM
    6        runDumpAgent+00000356              *PATHNAM
    7        triggerDumpAgents
                         +000004AC              *PATHNAM
    8        fatalExit   +0000008E              *PATHNAM
    9        Z_COMPRESSUTF8
                         +00000166              *PATHNAM
    10       compressUTF8+00000026              *PATHNAM
    11       Z_FINDCLASS +0000021E              *PATHNAM
    12       findClass   +00000014              *PATHNAM
    13       gpCheckFindClass
                         +0000001E              *PATHNAM
    14       JNU_NewObjectByName
                         +00000066              *PATHNAM
    15       Java_java_lang_UNIXProcess_forkAndExec
                         +00000516              *PATHNAM
    
    KEYWORDS
    ABEND0C4 forkAndExec
    

Local fix

  • N/A
    

Problem summary

  • The crash happened while application invoke Runtime.exec() as
    the corresponding native library code did not encode the class
    file name in UTF-8 format for throwing an IOException. In zOS,
    it was encoded in the platform default encoding (IBM-1047) as
    the class name string literals were not explicitly encoded to
    UTF-8.
    Another symptom of this issue is to throw IOException with
    unreadable message. The error messages of java.io.IOException
    were not displayed properly as the error messages are expected
    to be in the UTF-8 format by the error processing routine and it
    was provided in the zOS default encoding which is EBCDIC
    (IBM-1047).
    

Problem conclusion

  • This defect will be fixed in:
    6.0.0 SR11
    6.0.1 SR3
    7.0.0 SR5
    .
    The class name literals and the error messages are encoded in
    UTF-8 format before providing to the appropriate native
    functions.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM64410

  • Reported component name

    JAVA Z/OS 64

  • Reported component ID

    620700104

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-05-10

  • Closed date

    2012-06-30

  • Last modified date

    2013-06-20

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PM66353

Fix information

  • Fixed component name

    JAVA Z/OS 64

  • Fixed component ID

    620700104

Applicable component levels

  • R600 PSY

       UP

  • R700 PSY

       UP



Rate this page:

(0 users)Average rating

Document information


More support for:

z/OS family

Software version:

6.0

Reference #:

PM64410

Modified date:

2013-06-20

Translate my page

Machine Translation

Content navigation