APAR status
Closed as program error.
Error description
EXTERNAL SYMPTOMS:
This problem will manifest itself as a performance problem.
The AppServer stops serving many requests.
It will likely also cause the AppServer jvm to crash with a
java.lang.StackOverflowError.
The CPU utilization will likely be higher, since one of the
WAS threads is in a tight loop. The loop is in the exception
processing of WebSphere. A thread dump taken at the time the
loop is executing would show one thread like this one:
"Servlet.Engine.Transports : 1" daemon prio=5 tid=0x14db590
nid=0x8b runnable [0xceeeb000..0xcef019d8]
at java.lang.Throwable.printStackTrace0(Native Method)
at java.lang.Throwable.printStackTrace(Throwable.java:204)
at
com.ibm.ejs.ras.RasHelper.printStackTrace(RasHelper.java:206)
at
com.ibm.ejs.ras.RasHelper.printStackTrace(RasHelper.java:245)
at
com.ibm.ejs.ras.RasHelper.printStackTrace(RasHelper.java:245)
at
com.ibm.ejs.ras.RasHelper.printStackTrace(RasHelper.java:245)
at
com.ibm.ejs.ras.RasHelper.printStackTrace(RasHelper.java:245)
(This last line will be repeated many, many times.)
at
com.ibm.ejs.ras.RasHelper.throwableToString(RasHelper.java:191)
at
com.ibm.ejs.ras.MessageEvent.convertParameters(MessageEvent.java
:438)
at com.ibm.ejs.ras.MessageEvent.<init>(MessageEvent.java:196)
at
com.ibm.ejs.ras.TraceEventGeneratorImpl.fireMessageEvent(Tr.java
:1389)
at com.ibm.ejs.ras.Tr.error(Tr.java:568)
at
com.ibm.ejs.j2c.ConnectionManager.parkHandle(ConnectionManager.j
ava:1246)
. This is all in one t
MESSAGES LOGGED:
[03/11/04 19:00:12:470 GMT] ff6e0 MCWrapper E J2CA0021E:
An exception occurred while trying to get a Connection from the
Managed Connection resource No longer available :
java.lang.NullPointerException
at com.ibm.ws.rsadapter.spi.WSConnectionRequestInfoImpl.
hasSameUserAndPassword(WSConnectionRequestInfoImpl.java:257)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.
replaceCRI(WSRdbManagedConnectionImpl.java:1363)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.
associateConnection(WSRdbManagedConnectionImpl.java:2405)
at com.ibm.ejs.j2c.MCWrapper.associateConnection(MCWrapper.
java:1618)
at com.ibm.ejs.j2c.ConnectionManager.parkHandle
(ConnectionManager.java:1239)
at com.ibm.ejs.j2c.HandleList.parkHandle(HandleList.java:378)
at com.ibm.ejs.j2c.HandleCollaborator.postInvoke
(HandleCollaborator.java:117)
The ffdc files for the AppServer will show that there is a
javax.resource.ResourceException that precedes the
NullPointerException that causes the recursive loop in
the RasHelper class. This ResourceException is occurring on a
call from
com.ibm.ejs.j2c.HandleList.parkHandle.
RECREATION STEPS:
A significant cause of this problem is a connection factory
defined in the resources.xml in that either it does not have the
parameter InactiveConnectionSupport in its parameters
or that parameter is set to false.
The trace will indicate if this is the case,
The trace shows the result of the missing property:
[04/11/04 12:22:02:054 GMT]
1f7708 ConnectionFac d InactiveConnectionSupport not
specified for
J2C Connection Factory SMART_Driver_CF. Default will be false
SEARCH KEYWORDS:
Hang java.lang.StackOverflowError StackOverflowError
parkHandle Connection Manager associate RASHelper
printStackTrace infinite loop J2CA0021E
Local fix
One possible fix is to Set the InactiveConnectionSupport to
True. This is in the resources.xml file. The line with
<resourceProperties xmi:id="J2EEResourceProperty_32"
name="InactiveConnectionSupport" type="java.lang.Boolean"
value="true"
description="Specify whether connection handles
support implicit reactivation. (Smart Handle support). Value may
be "true" or "false"."/>
A value of "false" can cause this problem to occur.
This line in defined for a
<resources.j2c:J2CResourceAdapter xmi:id="builtin_rra"
name="WebSphere Relational Resource Adapter"
description="Built-in Relational Resource Adapter for Container
Managed Persistence"
archivePath="${WAS_LIBS_DIR}/rsadapter.rar">
.
Another possible fix is to prevent the ResourceException that
led to this happening. This can be done by closing all
connections explicitly.
Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server customers who *
* use JCA functionality *
****************************************************************
* PROBLEM DESCRIPTION: A configuration error with respect to *
* the "InactiveConnectionSupport" *
* property could result in a JVM *
* OutOfMemory crash. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
A CMPConnectionFactory which referenced the Application Server
"builtin_rra" Resource Adapter for JDBC had inadvertently been
configured without the InactiveConnectionSupport property. A
transaction ended without a connection being closed. This put
the JCA code down an error path. In the error path a
ResourceException was created and its LinkedException field
was set to reference itself, rather than the underlying
exception. When the logging code tried to parse the
self-referencing exception, the recursion led to the
OutOfMemory crash of the JVM.
Problem conclusion
The self-referencing ResourceException was changed to reference
the underlying Exception.
The fix for this APAR is currently targeted for inclusion in
fixpack 5.0.2.10 and 5.1.1.3. Please refer to the Recommended
Updates page for delivery dates:
http://www-1.ibm.com/support/docview.wss?rs=180
&context=SSEQTP&uid=swg27004980
Temporary fix Comments
APAR information |
APAR number |
PQ97166 |
Reported component name |
WAS BASE 5.0 |
Reported component ID |
5630A3600 |
Reported release |
00S |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2004-11-12 |
Closed date |
2004-12-08 |
Last modified date |
2005-02-16 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PK68784
Modules/Macros
Publications Referenced
Applicable component levels |
R003 PSY |
UP |
R00A PSY |
UP |
R00H PSY |
UP |
R00I PSY |
UP |
R00P PSY |
UP |
R00S PSY |
UP |
R00W PSY |
UP |
R103 PSY |
UP |
R10A PSY |
UP |
R10H PSY |
UP |
R10I PSY |
UP |
R10P PSY |
UP |
R10S PSY |
UP |
R10W PSY |
UP |
|