IBM Support

PM34178: JAVA.LANG.OUTOFMEMORYERROR OCCURRED AFTER REDEPLOYING JAX-RPC APPLICATIONS

Fixes are available

7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
8.0.0.2: WebSphere Application Server V8.0 Fix Pack 2
8.0.0.3: WebSphere Application Server V8.0 Fix Pack 3
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
8.0.0.4: WebSphere Application Server V8.0 Fix Pack 4
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
8.0.0.5: WebSphere Application Server V8.0 Fix Pack 5
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
6.1.0.47: WebSphere Application Server V6.1 Fix Pack 47
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
6.1.0.43: Java SDK 1.5 SR13 Cumulative Fix for WebSphere Application Server
6.1.0.45: Java SDK 1.5 SR14 Cumulative Fix for WebSphere Application Server
6.1.0.47: Java SDK 1.5 SR16 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server
Obtain the fix for this APAR.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Customer experienced an OutOfMemory error after redeployment of
    JAX-RPC applications. The problem is similar to PM18807 but
    happens in a different field. PM18807 fixed the
    contextClassLoader field of the timer thread object but this
    APAR address the accessControlContext field of the timer
    thread object.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V6.1.0 and higher using JAX-RPC web  *
    *                  service clients.                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: JAVA.LANG.OUTOFMEMORYERROR occurred     *
    *                      when using JAX-RPC applications.        *
    ****************************************************************
    * RECOMMENDATION:  Install a fixpack that contains this APAR.  *
    ****************************************************************
    JAVA.LANG.OUTOFMEMORYERROR occurred
    when using JAX-RPC applications.
    This is a timer leak created in OutboundConnectionCache class.
    0x3c9a9a68 com/ibm/ws/classloader/CompoundClassLoader@54d341e4
    (503 classes)
    0x3b498fd0 java/security/ProtectionDomain@4c7e81da
    0x3cb9c8c8 Ç?Ljava/security/ProtectionDomain;@4e4641e5
    0x3cb98178 java/security/AccessControlContext@4c0bc1e5
    0x3c9f2150 java/util/TimerThread@790a81e4
    Ç?truncating at running thread LEAK
    Parents:
    0x3c2f6e00 Ç?Ljava/lang/Thread;@7b7001e1
    0x3ca0cb60 java/util/Timer@65b01e5
    Children:
    0x3cb98158 java/lang/String@4c0ac1e5
    0x33a83040 java/lang/ThreadGroup@4182019d
    0x3c9a9a68
    com/ibm/ws/classloader/CompoundClassLoader@54d341e4
    0x3da34578
    java/lang/ThreadLocal$ThreadLocalMap@1a2bc1ed
    0x3cb98178 java/security/AccessControlContext@4c0bc1e5
    0x3cb98190 java/lang/Thread$ThreadLock@4c0c81e5
    0x3cb981a0
    java/lang/ThreadLocal$ThreadLocalMap@4c0d01e5
    0x3c9f70e0 java/util/TaskQueue@7b8701e4
    J9Object at 0x3c9f2150 {
    struct J9Class* clazz = !j9class 0x32d2c548   //
    java/util/TimerThread
    U_32 flags = 0x4e2800e;
    UDATA monitor = 0x0;
    J threadRef = 0x5317780000000000 (offset=0)
    J stackSize = 0x0 (offset=8)
    Z started = 1 (offset=72)
    Ljava/lang/String; name = !j9object 0x3CB98158 (offset=24)
    I priority = 5 (offset=76)
    Z isDaemon = 1 (offset=80)
    Ljava/lang/ThreadGroup; threadGroup = !j9object 0x33A83040
    (offset=28)
    Ljava/lang/Runnable; runnable = !j9object 0x00000000
    (offset=32)
    Ljava/lang/Throwable; stopThrowable = !j9object 0x00000000
    (offset=36)
    Ljava/lang/ClassLoader; contextClassLoader = !j9object
    0x3C9A9A68 (offset=40)
    Ljava/lang/ThreadLocal$ThreadLocalMap; threadLocals =
    !j9object 0x3DA34578 (offset=44)
    Ljava/security/AccessControlContext; accessControlContext
    = !j9object 0x3CB98178 (offset=48)
    Ljava/lang/Object; lock = !j9object 0x3CB98190 (offset=52)
    Ljava/lang/ThreadLocal$ThreadLocalMap;
    inheritableThreadLocals = !j9object 0x3CB981A0
    (offset=56)
    Lsun/nio/ch/Interruptible; blockOn = !j9object 0x00000000
    (offset=60)
    Ljava/lang/Thread$UncaughtExceptionHandler;
    exceptionHandler = !j9object 0x00000000 (offset=64)
    J uniqueId = 0xd9 (offset=16)
    Ljava/lang/Object; parkBlocker = !j9object 0x00000000
    (offset=68)
    Z newTasksMayBeScheduled = 1 (offset=88)
    Ljava/util/TaskQueue; queue = !j9object 0x3C9F70E0
    (offset=84)
    }
    The javastack of this timer thread was
    !stack 0x53177800
    <53177800>
    <53177800> *** BEGIN STACK WALK, flags = 00000001, walkThread
    = 53177800, walkState = 224E46A0 ***
    <53177800>      RECORD_BYTECODE_PC_OFFSET
    <53177800> Initial values: walkSP = 5BC580F4, PC = 00000003,
    literals =
    00000000, A0 = 5BC58114, j2iFrame = 00000000, ELS = 5377890C,
    decomp =   0000000
    <53177800> JIT INL transition frame: bp = 5BC58104, sp =
    5BC580F4, pc =
    00000003, cp = 00000000, arg0EA = 5BC58114, flags = 40000000
    <53177800>      Method: java/lang/Object.wait(JI)V !j9method
    31222528
    <53177800> JIT frame: bp = 5BC58124, pc = 30369520, unwindSP =
    5BC58108,
    cp = 31222548, arg0EA = 5BC58130, jitInfo = 30B28E9C
    <53177800>      Method: java/lang/Object.wait(J)V !j9method
    31222518
    <53177800>      Bytecode index = 3, inlineDepth = 0, PC offset
    =  00000044
    <53177800> I2J values: PC = 32E89BF1, A0 = 5BC58168, walkSP =
    5BC58134,
    literals = 32D2C678, JIT PC = 795F2A78, pcAddress = 53778920,
    decomp = 00000000
    <53177800> Bytecode frame: bp = 5BC5813C, sp = 5BC58134, pc =
    32E89BF1,
    cp = 32D2C688, arg0EA = 5BC58168, flags = 00000000
    <53177800>      Method: java/util/TimerThread.mainLoop()V
    !j9method
    32D2C678 <53177800>      Bytecode index = 201
    <53177800> Bytecode frame: bp = 5BC58174, sp = 5BC5816C, pc =
    32E89A65,
    cp = 32D2C688, arg0EA = 5BC5818C, flags = 00000000
    <53177800>      Method: java/util/TimerThread.run()V !j9method
    32D2C668 <53177800>      Bytecode index = 1
    <53177800> JNI call-in frame: bp = 5BC581A0, sp = 5BC58190, pc
    = 33437C94, cp = 00000000, arg0EA = 5BC581A0, flags = 00020000
    <53177800>      New ELS = 00000000
    <53177800> JNI native method frame: bp = 5BC581B4, sp =
    5BC581A4, pc =
    00000007, cp = 00000000, arg0EA = 5BC581B4, flags = 00000000
    <53177800> <end of stack>
    <53177800> *** END STACK WALK (rc = 0) ***
    The object being waited was saved at arg0EA=5BC58130 which is
    0x3C9F70E0.
    !j9object 0x3C9F70E0
    J9Object at 0x3c9f70e0 {
    struct J9Class* clazz = !j9class 0x32d2bff8   //
    java/util/TaskQueue
    U_32 flags = 0x458800e;
    UDATA monitor = 0x53a67499;
    [Ljava/util/TimerTask; queue = !j9object 0x3C9F7400
    (offset=0)
    I size = 1 (offset=4)
    }
    The queue handling the timer was
    !j9object 0x3C9F7400
    J9IndexableObject at 0x3c9f7400 {
    struct J9Class* clazz = !j9arrayclass 0x32d2c418   // [L
    U_32 flags = 0x45e8001;
    UDATA monitor = 0x0;
    U_32 size = 0x80;
    [0] = null
    [1] = !j9object 0x3c9f70f8
    [2] = null
    [3] = null
    [4] = null
    [5] = null
    So the class handling the timer was
    J9Object at 0x3c9f70f8 {
    struct J9Class* clazz = !j9class 0x5bd644d8   //
    com/ibm/ws/webservices/engine/transport/channel/OutboundConnecti
    onCache$CleanupTask
    U_32 flags = 0x612800e;
    UDATA monitor = 0x0;
    Ljava/lang/Object; lock = !j9object 0x3C9F7610 (offset=16)
    I state = 1 (offset=20)
    J nextExecutionTime = 0x12dc4526f3a (offset=0)
    J period = 0xfffffffffffd40e0 (offset=8)
    Lcom/ibm/ws/webservices/engine/transport/channel/OutboundConnect
    ionCache; this$0 = !j9object 0x3CA0CB38 (offset=24)
    }
    

Problem conclusion

  • The code was updated to remove the classLoader reference prior
    to creating the timer thread and restored the classLoader
    afterwards.  This removed the reference to the
    CompoundClassLoader.
    
    APAR PM34178 is currently targeted for inclusion in Service
    Level (Fix Pack) 6.1.0.43 of WebSphere Application Server V6.1
    and Fix Pack 8.0.0.2 of WebSphere Application Server V8.0.
    
    The fix will also be delivered as sysrouted APAR PM47539 in
    WebSphere Application Server V7.0 for z/OS Fix Pack 7.0.0.21.
    
    Please refer to URL:
    //www.ibm.com/support/docview.wss?rs=404&uid=swg27006970
    for Fix Pack availability.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM34178

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / CST

  • Submitted date

    2011-03-04

  • Closed date

    2011-08-29

  • Last modified date

    2012-04-09

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

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

    PM47539

Fix information

  • Fixed component name

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

  • R610 PSY UK76696

       UP12/03/18 P F203

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
27 October 2021