IBM Support

PH34338: ABEND0C4 DURING LIBERTY SERVER SHUTDOWN

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Abend occurred when libzNativeServices.so::onThreadEnd
    called
    threadTerminating() due to a invalid J9Object pointer.
    This abend occurred because there is a path where the global
    ref
    can be deleted on one thread while it is being used to call
    into
    java on another thread.
    .
    This problem is similar to PH23817.
    .
    
    The stack is as follows.
    .
    runCallInMethod +0000042C                   Exception
    gpProtectedRunCallInMethod(void*) +000000BC Call
    gpCheckCallin +0000004C                     Call
    callVirtualVoidMethod +00000046             Call
    onThreadEnd +00000040                       Call
    jvmtiHookThreadEnd +0000011E                Call
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty for z/OS                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: ABEND0C4/ABENDS0C4 during server stop   *
    *                      when native routine onThreadEnd calls   *
    *                      Java routine threadTerminating()        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    ABEND0C4/ABENDSOC4 during server stop when native routine
    libzNativeServices.so:onThreadEnd calls Java routine
    ThreadTracker.threadTerminating().
    
    Following  is the flow that leads to the abend.
    Thread 1 in onThreadEnd gets suspended after checking if the
    global reference is valid.
    While suspended threadTrackerDeregistration runs on another
    thread and deletes the global reference.
    Thread 1 resumes and abends when calling
    ThreadTracker.threadTerminating() because the global reference
    in no longer valid.
    
    traceback for abending thread is:
      DSA      Entry       E  Offset  Statement   Load Mod
    Program
    
    1        _TDUMP      +000000C2              *PATHNAM
    _TDUMP
    ...
      19       CEEOSIGG    +00000000              CELQLIB
    CEEOSIGG
      20       CELQHROD    +00000266              CELQLIB
    CELQHROD
      21       runCallInMethod
    +0000042C              *PATHNAM                     EXCEPTION
      22       gpProtectedRunCallInMethod(void*)
    +000000BC              *PATHNAM
      23       gpCheckCallin
    +0000004C              *PATHNAM
      24       callVirtualVoidMethod
    +00000046              *PATHNAM
      25       onThreadEnd +00000040  *PATHNAM
      26       jvmtiHookThreadEnd
    +0000011E              *PATHNAM
      27       J9HookDispatch(J9HookInterface**,unsigned long,void*)
    +0000029C              *PATHNAM
      28       javaProtectedThreadProc
    +000002BC              *PATHNAM
      29       omrsig_protect
    +000008CA              *PATHNAM
      30       javaThreadProc
    +0000008C              *PATHNAM
      31       thread_wrapper
    +000009BA              *PATHNAM
      32       CELQPCMM    +00000F80              CELQLIB
    CELQPCMM
    

Problem conclusion

  • Updated the code so the global reference used to call
    ThreadTracker.threadTerminating() or
    ThreadTracker.threadStarted() will still be valid when used by
    onThreadEnd or onThreadStart.
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 21.0.0.3.  Please refer to the Recommended Updates page for
    delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH34338

  • Reported component name

    LIBERTY PROF -

  • Reported component ID

    5655W6514

  • Reported release

    CD0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-02-09

  • Closed date

    2021-02-23

  • Last modified date

    2021-02-23

  • 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

    LIBERTY PROF -

  • Fixed component ID

    5655W6514

Applicable component levels

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF054","label":"z\/OS"}],"Version":"CD0"}]

Document Information

Modified date:
27 February 2021