VOOZH about

URL: https://www.ibm.com/support/pages/apar/PH67498

⇱ PH67498: FIX DEADLOCK ISSUE WITH -DJAVA.SECURITY.AUTH.DEBUG=ALL IN JAVA 8 Z/OS


PH67498: FIX DEADLOCK ISSUE WITH -DJAVA.SECURITY.AUTH.DEBUG=ALL IN JAVA 8 Z/OS

APAR status

  • Closed as program error.

Error description

  • Error Message: Users of Java 8 on z/OS may encounter a deadlock
    issue in a multithreaded environment when specifying
    -Djava.security.auth.debug=all.
    .
    Stack Trace: 1LKDEADLOCK Deadlock detected !!!
    NULL ---------------------
    NULL
    2LKDEADLOCKTHR Thread "Config-Thread-13" (0x000000003C281A00)
    3LKDEADLOCKWTR is waiting for:
    4LKDEADLOCKMON sys_mon_t:0x00000050C8B3DE08 infl_mon_t:
    0x00000050C8B3DE80:
    4LKDEADLOCKOBJ
    java/util/logging/ConsoleHandler@0x00000000805E6FC8
    3LKDEADLOCKOWN which is owned by:
    2LKDEADLOCKTHR Thread "Default Executor-thread-3"
    (0x000000003C71FF00)
    3LKDEADLOCKWTR which is waiting for:
    4LKDEADLOCKMON sys_mon_t:0x00000051712852C0 infl_mon_t:
    0x0000005171285338:
    4LKDEADLOCKOBJ
    java/util/logging/ConsoleHandler@0x000000008038FE88
    3LKDEADLOCKOWN which is owned by:
    2LKDEADLOCKTHR Thread "Config-Thread-13" (0x000000003C281A00)
    .
    Threads involved that are using loggers are from the IBMJCECCA
    provider and the IBMJCEHYBRID provider.
    3XMTHREADINFO "Config-Thread-13"
    J9VMThread:0x000000003C281A00, omrthread_t:0x000000507E44A958,
    java/lang/Thread:0x00000000808445E0, state:B, prio=5
    3XMJAVALTHREAD (java/lang/Thread getId:0x2E,
    isDaemon:true)
    3XMJAVALTHRCCL
    org/eclipse/osgi/internal/framework/ContextFinder(0x000000008012
    C5B8)
    3XMTHREADINFO1 (native thread ID:0x47BF00000000002A,
    native priority:0x5, native policy:UNKNOWN, vmstate:B, vm thread
    flags:0x00000201)
    3XMCPUTIME CPU usage total: 1.424000000 secs,
    current category="Application"
    3XMTHREADBLOCK Blocked on:
    java/util/logging/ConsoleHandler@0x00000000805E6FC8 Owned by:
    "Default Executor-thread-3" (J9VMThread:0x000000003C71FF00,
    java/lang/Thread:0x00000000824F1590)
    3XMHEAPALLOC Heap bytes allocated since last GC
    cycle=68936 (0x10D48)
    3XMTHREADINFO3 Java callstack:
    4XESTACKTRACE at
    java/util/logging/StreamHandler.publish(StreamHandler.java:217(C
    ompiled Code))
    5XESTACKTRACE (entered lock:
    java/util/logging/ConsoleHandler@0x00000000805E6FC8, entry
    count: 1)
    4XESTACKTRACE at
    java/util/logging/ConsoleHandler.publish(ConsoleHandler.java:127
    (Compiled Code))
    4XESTACKTRACE at
    java/util/logging/Logger.log(Logger.java:749(Compiled Code))
    ----------------
    3XMTHREADINFO "Default Executor-thread-3"
    J9VMThread:0x000000003C71FF00, omrthread_t:0x00000051A3951798,
    java/lang/Thread:0x00000000824F1590, state:B, prio=5
    3XMJAVALTHREAD (java/lang/Thread getId:0x41,
    isDaemon:true)
    3XMJAVALTHRCCL
    org/eclipse/osgi/internal/framework/ContextFinder(0x000000008012
    C5B8)
    3XMTHREADINFO1 (native thread ID:0x4AC208000000003C,
    native priority:0x5, native policy:UNKNOWN, vmstate:B, vm thread
    flags:0x00000201)
    3XMCPUTIME CPU usage total: 0.772000000 secs,
    current category="Application"
    3XMTHREADBLOCK Blocked on:
    java/util/logging/ConsoleHandler@0x000000008038FE88 Owned by:
    "Config-Thread-13" (J9VMThread:0x000000003C281A00,
    java/lang/Thread:0x00000000808445E0)
    3XMHEAPALLOC Heap bytes allocated since last GC
    cycle=65536 (0x10000)
    3XMTHREADINFO3 Java callstack:
    4XESTACKTRACE at
    java/util/logging/StreamHandler.publish(StreamHandler.java:217(C
    ompiled Code))
    5XESTACKTRACE (entered lock:
    java/util/logging/ConsoleHandler@0x000000008038FE88, entry
    count: 1)
    4XESTACKTRACE at
    java/util/logging/ConsoleHandler.publish(ConsoleHandler.java:127
    (Compiled Code))
    4XESTACKTRACE at
    java/util/logging/Logger.log(Logger.java:749(Compiled Code))
    

Local fix

  • Users can specify only the required component to the
    -Djava.security.auth.debug option, such as
    -Djava.security.auth.debug=ibmjcehybrid, to log ibmjcehybrid
    logs.
    

Problem summary

  • Users of Java 8 on z/OS may encounter a deadlock issue in a
    multithreaded environment when specifying
    -Djava.security.auth.debug=all.
    The root cause could be the race condition between the
    ibmjcehybrid, ibmjcecca, and ibmpkcs components, which are
    trying to use console handlers to log.
    

Problem conclusion

  • The ibmjcecca logger was changed to use a shared console handler
    to avoid a race condition between threads.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM Semeru Runtimes
    IBM SDK, Java Technology Edition
     8 SR8 FP55 (8.0.8.55)
    .
    Downloads and supplementary documentation can be found at the
    following locations:
    - For the z/OS operating system:
     - Java SDK Products on z/OS
     https://www.ibm.com/support/pages/java-sdk-products-zos
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH67498

  • Reported component name

    JAVA Z/OS 64

  • Reported component ID

    620700104

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-07-25

  • Closed date

    2025-07-26

  • Last modified date

    2025-07-26

  • 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 Z/OS 64

  • Fixed component ID

    620700104

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":"800","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
26 July 2025