PQ80962: The nested exception logged in SystemOut.log when WTRN0008W is logged
 Downloadable files
 
Abstract
The nested exception logged in SystemOut.log when WTRN0008W is logged is generic and hides the underlying cause of the problem.
 
Download Description
The WebSphere Application Server source code in the XARecoveryData logic catches one exception when a XARecoveryFailure occurs trying to recover units of work (transactions) that are in the
WebSphere/AppServer/logs/serverName/tranlog file, but then it throws a generic exception back to the caller of com.ibm.ejs.jts.jta.recovery.XARecoveryData.replay, which results in the nested exception (the root cause exception) being described as a java.lang.Exception rather than being the real exception that caused the failure in the first place.

The original exception in the log is WTRN0008W: Object cannot be deserialized. The exception stack
trace follows: java.lang.reflect.InvocationTargetException:
java.io.InvalidClassException:
com.ibm.ejs.j2c.J2CXAResourceInfo; Local class not compatible:
stream classdesc serialVersionUID=-3960254616107858224 local class serialVersionUID=-175344259732450552
.
This results in the following message being logged later in SystemOut.log
[11/6/03 12:41:24:031 CST] 3a6e5c WsServer E WSVR0003E:
Server server1 failed to start
com.ibm.ws.exception.RuntimeError: Transaction Service recovery failure
at
com.ibm.ws.runtime.component.TxServiceImpl.start(TxServiceImpl.java:214)
at
com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:543)
at
com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:418)
at
com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:117)
at
com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:543)
at
com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:418)
at
com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:183)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
---- Begin backtrace for nested exception
java.lang.Exception
at
com.ibm.ejs.jts.jta.recovery.XARecoveryData.replay(XARecoveryData.java:467)
at
com.ibm.ejs.jts.jta.recovery.XARecoveryManager.init(XARecoveryManager.java:259)
.
This java.lang.Exception really should be the InvokationTargetException that is logged previously.

During recovery, the transaction code recovers certain classes from the transaction log files. In the course of this objects are deserialized, and certain exceptions were explicitly being caught - and being reported correctly. When another exception was rasied, a generic exception was being thrown, which resulted in a java.lang.Exception being reported. This made problem determination more difficult.
 
Prerequisites
Please download the UpdateInstaller below to install this fix.
 
URL LANGUAGE SIZE(Bytes)
UpdateInstaller US English 7000000
 
 
Installation instructions
Please review the readme.txt for detailed installation instructions.
 
URL LANGUAGE SIZE(Bytes)
Readme US English 2531
 
Download package
What is DD?
DOWNLOAD RELEASE DATE LANGUAGE SIZE(Bytes) Download Options
PQ80962 2/3/2004 US English 15183 FTP DD
 
Technical support
1-800-IBM-SERV (U.S. Only)
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
Problems (APARs) fixed
PQ80962
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Java Transaction Service (JTS)
Operating system(s): Windows
Software version: 5.0.2
Software edition:
Reference #: 4006353
IBM Group: Software Group
Modified date: Feb 3, 2004