Fix (APAR): PK78101 Status: Fix Release: 6.1.0.9,6.1.0.7,6.1.0.5,6.1.0.3,6.1.0.23,6.1.0.21,6.1.0.19,6.1.0.17,6.1.0.15,6.1.0.13,6.1.0.11,6.1.0.1 Operating System: AIX,HP-UX,Linux,Linux pSeries,Linux zSeries,Solaris,Windows Supersedes Fixes: PK67880, PK48483 CMVC Defect: xxxxxx Byte size of APAR: 10794 Date: 2009-04-30 Abstract: Local transaction being committed withing global transaction causes javax.jms.IllegalStateException Description/symptom of problem: PK78101 resolves the following problem: ERROR DESCRIPTION: A transaction rollback error can be seen in the Servant Region as such: Trace: 2008/12/18 21:20:43.662 01 t=8B4080 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 934 error message: BBOO0221W: WTRN0051E: An attempt by the transaction manager to call rollback on a transactional resource has resulted in an unexpected error. The XA error code was -6. The FFDC log can show the following: Exception = javax.jms.IllegalStateException Source = com.ibm.ws.scheduler.tasks.MessageTaskInfoWork.sendMessage probeid = 252 Stack Dump = javax.jms.IllegalStateException: CWSIA0053E: An exception was received during the call to the method JmsSessionImpl.commitTransaction (#2): javax.resource.spi.LocalTransactionException: CWSJR1138E: An internal error has occurred. An unexpected exception has occurred. A call was made to commitLocalTransaction but there is no local transaction.. at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.commitTransaction(Jms SessionImpl.java:2683) at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.commit(JmsSessionImpl .java:706) at com.ibm.ws.scheduler.tasks.MessageTaskInfoWork.sendMessage(Messa geTaskInfoWork.java:344) at com.ibm.ws.scheduler.tasks.MessageTaskInfoWork.doWork(MessageTas kInfoWork.java:252) at com.ibm.ws.scheduler.AlarmListener.executeTaskWithNotification(A larmListener.java:799) at com.ibm.ws.scheduler.AlarmListener.access$700(AlarmListener.java :119) at com.ibm.ws.scheduler.AlarmListener$TaskWork.doWork(AlarmListener .java:430) at com.ibm.ws.scheduler.AlarmListener$TaskWork.run(AlarmListener.ja va:216) at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java :258) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.jav a(Compiled Code)) at javax.security.auth.Subject.doAs(Subject.java:477) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:11 8) at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.jav a:325) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.jav a(Compiled Code)) at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:709) at com.ibm.ws.asynchbeans.ExecutionContextImpl.go(ExecutionContextI mpl.java:85) at com.ibm.ws.scheduler.AlarmListener.fireTask(AlarmListener.java:1 404) at com.ibm.ws.scheduler.AlarmListener.fired(AlarmListener.java:1322 ) at com.ibm.ws.asynchbeans.AlarmImpl.callListenerMethod(AlarmImpl.ja va:320) at com.ibm.ws.asynchbeans.timer.GenericTimer.run(GenericTimer.java: 216) at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java :254) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.jav a(Compiled Code)) at javax.security.auth.Subject.doAs(Subject.java:477) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:11 8) at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.jav a:325) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.jav a(Compiled Code)) at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:1027) at com.ibm.ws.asynchbeans.AlarmImpl.runListenerAsCJWork(AlarmImpl.j ava:170) at com.ibm.ws.asynchbeans.am._Alarm.fireAlarm(_Alarm.java:332) at com.ibm.ws.asynchbeans.am._Alarm.run(_Alarm.java:229) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(CompiledCo de)) Caused by: javax.resource.spi.LocalTransactionException: CWSJR1138E: An internal error has occurred. An unexpected exception has occurred. A call was made to commitLocalTransaction but there is no local transaction. at com.ibm.ws.sib.api.jmsra.impl.JmsJcaSessionImpl.commitLocalTrans action(JmsJcaSessionImpl.java:440) at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.commitTransaction(Jms SessionImpl.java:2661) ... 34 more DUP: defect 507571.2 LOCAL FIX: N/A PROBLEM SUMMARY USERS AFFECTED: All users of WebSphere Application Server V6.0.1 for z/OS PROBLEM DESCRIPTION: Local transaction being committed withing global transaction causes javax.jms.IllegalStateException RECOMMENDATION: None The following rollback error shows periodically in the job log: Trace: 2008/12/18 21:20:43.662 01 t=8B4080 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 934 error message: BBOO0221W: WTRN0051E: An attempt by the transaction manager to call rollback on a transactional resource has resulted in an unexpected error. The XA error code was -6. FFDC file generated by the error shows the following data: Exception = javax.jms.IllegalStateException Source = com.ibm.ws.scheduler.tasks.MessageTaskInfoWork.sendMessage probeid = 252 Stack Dump = javax.jms.IllegalStateException: CWSIA0053E: An exception was received during the call to the method JmsSessionImpl.commitTransaction (#2): javax.resource.spi.LocalTransactionException: CWSJR1138E: An internal error has occurred. An unexpected exception has occurred. A call was made to commitLocalTransaction but there is no local transaction.. at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.commitTransaction (JmsSessionImpl.java:2683) at com.ibm.ws.sib.api.jms.impl.JmsSessionImpl.commit (JmsSessionImpl.java:706) at com.ibm.ws.scheduler.tasks.MessageTaskInfoWork.sendMessage (MessageTaskInfoWork.java:344) at com.ibm.ws.scheduler.tasks.MessageTaskInfoWork.doWork (MessageTaskInfoWork.java:252) at com.ibm.ws.scheduler.AlarmListener.executeTaskWithNotification (AlarmListener.java:799) at com.ibm.ws.scheduler.AlarmListener.access$700 (AlarmListener.java:119) at com.ibm.ws.scheduler.AlarmListener$TaskWork.doWork (AlarmListener.java:430) at com.ibm.ws.scheduler.AlarmListener$TaskWork.run (AlarmListener.java:216) ... PROBLEM CONCLUSION: Problem has been corrected -- only the local transactions is committed, not the global one, by MessageTaskInfoWork.sendMessage(). APAR PK78101 is currently targeted for inclusion in Service Level (Fix Pack) 6.0.2.35 of WebSphere Application Server V6.0.1 for z/OS. Please refer to URL: //www.ibm.com/support/docview.wss?rs=404&uid=swg27006970 for Fix Pack availability. Directions to apply fix: NOTE: Choose the: 1) Release the fix applies to 2) The Editions that apply 3) Delete the Editions & Methods that do not apply and this Note Fix applies to Editions: Release 6.0 __ Application Server (Express or BASE) __ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components __ Developer __ Extended Deployment (XD) Install Fix to: Method: __ Application Server Nodes __ Deployment Manager Nodes __ Both NOTE: The user must: * Have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V6.1.0.13 or newer of the Update Installer. Certain iFixes may require a newer version of the Update Installer and the Update Installer will inform you during the installation process if a newer version is required. This can be checked by reviewing the level of the Update Installer in file /updateinstaller/version.txt. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 For detailed instructions to Extract the Update Installer see the following Technote: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205400 Note that there are two different methods for delivering iFixes, depending on the contents. The fix may be delivered either as a single file with a .pak extension (such as 6.1.0.11-WS-WAS-IFPK12345.pak) or a single file with a .zip extension (such as 6.1.0.11-WS-WAS-IFPK12345.zip) which then contains one or more files with a .pak extension. 1) If your iFix is delivered as a single file with a .pak extension, Copy the .pak file directly to the maintenance directory. If your iFix is delivered as a single file with a .zip extension, unzip the file into the maintenance directory. 2) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that maintenance is being applied to. 3) Launch Update Installer and click the Next button on the Welcome page. 4) Enter the directory path of the installation location of the WebSphere product you want to update, and click the Next button. 5) Select the "Install maintenance package" operation and click the Next button. 6) Enter the directory path of your maintenance directory where you have the maintenance packages (.pak files) and click the Next button. 7) The Available Maintenance Package to Install page should list all maintenance packages (.pak files) that it finds in the directory path provided in the previous step. The Update Installer will select the correct maintenance packages based on your system configuration and will not allow an invalid combination to be installed. Please keep the Update Installer recommendations and click the Next button and continue with the installation of the maintenance package. 8) Please note that in the future, if a Feature Pack is installed or uninstalled, a different set of iFixes will be needed. Use the Update Installer again at that time, with the maintenance directory location where these maintenance packages are stored, to determine the required interim fixes for the new WebSphere and Feature Pack(s) combination. 9) The maintenance packages could have one of a set of names, and these names will help determine which maintenance package you need to install. The APAR name (PKxxxxx) should appear as part of the filename. Between the APAR number and the .pak extension there will be 0 to 2 characters added. The table below indicates the usage of each of the maintenance packages with respect to which Feature Packs, if any, are installed. |.pak File Names |No Feature Packs|EJB3 Only|WebServices Only| Both | |6.1.0.x-WS-WAS-IFPK12345 | X | X | X | X | |6.1.0.x-WS-WAS-IFPK12345C | X | | | | |6.1.0.x-WS-WAS-IFPK12345CE | | X | X | X | |6.1.0.x-WS-WAS-IFPK12345W | X | X | | | |6.1.0.x-WS-WAS-IFPK12345WE | | | X | X | |6.1.0.x-WS-WAS-IFPK12345E | X | | X | | |6.1.0.x-WS-WAS-IFPK12345EE | | X | | X | 10) Restart WebSphere Directions to remove fix: NOTE: * The user must have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * FIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED * DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED * YOU MAY REAPPLY ANY REMOVED FIX Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, fix2 removed, and fix3 re-applied. 1) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that uninstall is being run against. 2) Start Update Installer 3) Enter the installation location of the WebSphere product you want to remove the fix. 4) Select "Uninstall maintenance package" operation. 5) Select file name of the maintenance package to uninstall (for example, 6.1.0.11-WS-WAS-IFPK12345.pak). 6) Verify the Uninstallation Summary and continue with the uninstall. 7) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere. Additional Information: This ifix contains PK78101, PK67880, and PK48483