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.
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:
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.
Document Information
Modified date:
27 October 2021