IBM Support

HeuristicMixedExceptions occur in the Transaction Manager

Troubleshooting


Problem

If you are running IBM WebSphere Application Server Version 7.0.0.3 or 7.0.0.5 on the Solaris operating system and the AggressiveOpts Java™ virtual machine (JVM) argument is configured, a HeuristicMixedExceptions might occur in the Transaction Manager. These exceptions typically show up for applications that use Enterprise JavaBeans (EJB) files and container-managed transactions.

Symptom

An application that is running on the Solaris operating system under a heavy workload issues the following exceptions:

Exception created : javax.ejb.EJBTransactionRolledbackException: ;
nested exception is:
javax.transaction.HeuristicMixedException
        at
com.ibm.tx.jta.RegisteredResources.flowCommitOnePhase
(RegisteredResources.java:2513)
        at
com.ibm.tx.jta.TransactionImpl.commitXAResources
(TransactionImpl.java:1768)
        at
com.ibm.ws.tx.jta.TransactionImpl.stage1CommitProcessing
(TransactionImpl.java:499)
        at
com.ibm.tx.jta.TransactionImpl.processCommit
(TransactionImpl.java:978)
        at
com.ibm.tx.jta.TransactionImpl.commit
(TransactionImpl.java:913)
        at
com.ibm.ws.tx.jta.TranManagerImpl.commit
(TranManagerImpl.java:369)

Cause

The Sun Java Development Kit (JDK) Version 1.6 SR update that is included in WebSphere Application Server Version 7.0.0.3 and 7.0.0.5 causes these errors to occur when the AggressiveOpts JVM argument is used as an application server start up option.

Environment

This issue occurs on the Solaris operating system that is running on SPARC hardware. The JVM, which is included in Version 7.0.0.3 and 7.0.0.5, is configured with the AggressiveOpts JVM argument.

Resolving The Problem

Disable the autoboxing optimization by replacing the AggressiveOpts JVM argument with the following JVM arguments:

 -XX:+AggressiveOpts -XX:-EliminateAutoBox

You must specify these JVM arguments in the indicated order. The -XX:-EliminateAutoBox argument must follow the -XX:+AggressiveOpts argument because the command line is parsed from left to right.

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Java SDK","Platform":[{"code":"PF027","label":"Solaris"}],"Version":"7.0.0.5;7.0.0.3","Edition":"Base;Express;Network Deployment","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21380137