In case of Oracle 11g: oracle.jdbc.xa.OracleXAException with cause java.sql.SQLRecoverableException: No more data to read from socket or, in case of JavaDB (included with GFv3): org.apache.derby.client.am.XaException: XAER_RMFAIL : A communications error has been detected: Software caused connection abort: recv failed. with cause org.apache.derby.client.am.DisconnectException: A communications error has been detected: Software caused connection abort: recv failed. is caught in Daemon Thread [p: thread-pool-1; w: 5] (Suspended) XAResourceImpl.commit(Xid, boolean) line: 82 OTSResourceImpl.commit() line: 115 RegisteredResources.distributeCommit() line: 795 TopCoordinator.commit() line: 2111 CoordinatorTerm.commit(boolean) line: 403 TerminatorImpl.commit(boolean) line: 251 CurrentImpl.commit(boolean) line: 623 TransactionManagerImpl.commit() line: 318 JavaEETransactionManagerJTSDelegate.commitDistributedTransaction() line: 159 JavaEETransactionManagerSimplified.commit() line: 844 StatefulSessionContainer(BaseContainer).completeNewTx(EJBContextImpl, Throwable, int) line: 5007 StatefulSessionContainer(BaseContainer).postInvokeTx(EjbInvocation) line: 4772 StatefulSessionContainer.postInvokeTx(EjbInvocation) line: 1646 StatefulSessionContainer(BaseContainer).postInvoke(EjbInvocation, boolean) line: 1971 StatefulSessionContainer(BaseContainer).postInvoke(EjbInvocation) line: 1922 EJBObjectInvocationHandler.invoke(Class, Method, Object[]) line: 209 EJBObjectInvocationHandlerDelegate.invoke(Object, Method, Object[]) line: 75 $Proxy117.ship(String, String, int) line: not available NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 ReflectiveTie.dispatchToMethod(Method, Remote, Object[]) line: 146 ReflectiveTie._invoke(String, InputStream, ResponseHandler) line: 176 CorbaServerRequestDispatcherImpl.dispatchToServant(Object, CorbaMessageMediator, byte[], ObjectAdapter) line: 682 CorbaServerRequestDispatcherImpl.dispatch(CorbaMessageMediator) line: 216 CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediator) line: 1841 CorbaMessageMediatorImpl.handleRequest(RequestMessage, CorbaMessageMediator) line: 1695 CorbaMessageMediatorImpl.handleInput(RequestMessage_1_2) line: 1078 RequestMessage_1_2.callback(MessageHandler) line: 221 CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediator) line: 797 CorbaMessageMediatorImpl.dispatch() line: 561 CorbaMessageMediatorImpl.doWork() line: 2558 ThreadPoolImpl$WorkerThread.performWork() line: 492 ThreadPoolImpl$WorkerThread.run() line: 528 The original exception (and cause) is discarded, and an INTERNAL(0,CompletionStatus.COMPLETED_MAYBE) is instantiated and thrown instead, in: Daemon Thread [p: thread-pool-1; w: 5] (Suspended) OTSResourceImpl.commit() line: 146 RegisteredResources.distributeCommit() line: 795 TopCoordinator.commit() line: 2111 CoordinatorTerm.commit(boolean) line: 403 TerminatorImpl.commit(boolean) line: 251 CurrentImpl.commit(boolean) line: 623 TransactionManagerImpl.commit() line: 318 JavaEETransactionManagerJTSDelegate.commitDistributedTransaction() line: 159 JavaEETransactionManagerSimplified.commit() line: 844 StatefulSessionContainer(BaseContainer).completeNewTx(EJBContextImpl, Throwable, int) line: 5007 StatefulSessionContainer(BaseContainer).postInvokeTx(EjbInvocation) line: 4772 StatefulSessionContainer.postInvokeTx(EjbInvocation) line: 1646 StatefulSessionContainer(BaseContainer).postInvoke(EjbInvocation, boolean) line: 1971 StatefulSessionContainer(BaseContainer).postInvoke(EjbInvocation) line: 1922 EJBObjectInvocationHandler.invoke(Class, Method, Object[]) line: 209 EJBObjectInvocationHandlerDelegate.invoke(Object, Method, Object[]) line: 75 $Proxy117.ship(String, String, int) line: not available NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 ReflectiveTie.dispatchToMethod(Method, Remote, Object[]) line: 146 ReflectiveTie._invoke(String, InputStream, ResponseHandler) line: 176 CorbaServerRequestDispatcherImpl.dispatchToServant(Object, CorbaMessageMediator, byte[], ObjectAdapter) line: 682 CorbaServerRequestDispatcherImpl.dispatch(CorbaMessageMediator) line: 216 CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediator) line: 1841 CorbaMessageMediatorImpl.handleRequest(RequestMessage, CorbaMessageMediator) line: 1695 CorbaMessageMediatorImpl.handleInput(RequestMessage_1_2) line: 1078 RequestMessage_1_2.callback(MessageHandler) line: 221 CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediator) line: 797 CorbaMessageMediatorImpl.dispatch() line: 561 CorbaMessageMediatorImpl.doWork() line: 2558 ThreadPoolImpl$WorkerThread.performWork() line: 492 ThreadPoolImpl$WorkerThread.run() line: 528 which is logged as: [#|2010-01-19T18:51:41.961+1100|SEVERE|glassfishv3.0|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions|_ThreadID=27;_ThreadName=Thread-1;|JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] on Resource [commit] operation.|#] Daemon Thread [p: thread-pool-1; w: 5] (Suspended) RegisteredResources.distributeCommit() line: 866 TopCoordinator.commit() line: 2111 CoordinatorTerm.commit(boolean) line: 403 TerminatorImpl.commit(boolean) line: 251 CurrentImpl.commit(boolean) line: 623 TransactionManagerImpl.commit() line: 318 JavaEETransactionManagerJTSDelegate.commitDistributedTransaction() line: 159 JavaEETransactionManagerSimplified.commit() line: 844 StatefulSessionContainer(BaseContainer).completeNewTx(EJBContextImpl, Throwable, int) line: 5007 StatefulSessionContainer(BaseContainer).postInvokeTx(EjbInvocation) line: 4772 StatefulSessionContainer.postInvokeTx(EjbInvocation) line: 1646 StatefulSessionContainer(BaseContainer).postInvoke(EjbInvocation, boolean) line: 1971 StatefulSessionContainer(BaseContainer).postInvoke(EjbInvocation) line: 1922 EJBObjectInvocationHandler.invoke(Class, Method, Object[]) line: 209 EJBObjectInvocationHandlerDelegate.invoke(Object, Method, Object[]) line: 75 $Proxy117.ship(String, String, int) line: not available NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 ReflectiveTie.dispatchToMethod(Method, Remote, Object[]) line: 146 ReflectiveTie._invoke(String, InputStream, ResponseHandler) line: 176 CorbaServerRequestDispatcherImpl.dispatchToServant(Object, CorbaMessageMediator, byte[], ObjectAdapter) line: 682 CorbaServerRequestDispatcherImpl.dispatch(CorbaMessageMediator) line: 216 CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediator) line: 1841 CorbaMessageMediatorImpl.handleRequest(RequestMessage, CorbaMessageMediator) line: 1695 CorbaMessageMediatorImpl.handleInput(RequestMessage_1_2) line: 1078 RequestMessage_1_2.callback(MessageHandler) line: 221 CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediator) line: 797 CorbaMessageMediatorImpl.dispatch() line: 561 CorbaMessageMediatorImpl.doWork() line: 2558 ThreadPoolImpl$WorkerThread.performWork() line: 492 ThreadPoolImpl$WorkerThread.run() line: 528 A new exception (org.omg.CORBA.INTERNAL(msg)) is created with that message, and thrown again: Daemon Thread [p: thread-pool-1; w: 5] (Suspended (breakpoint at line 943 in RegisteredResources)) RegisteredResources.distributeCommit() line: 943 TopCoordinator.commit() line: 2111 CoordinatorTerm.commit(boolean) line: 403 TerminatorImpl.commit(boolean) line: 251 CurrentImpl.commit(boolean) line: 623 TransactionManagerImpl.commit() line: 318 JavaEETransactionManagerJTSDelegate.commitDistributedTransaction() line: 159 JavaEETransactionManagerSimplified.commit() line: 844 StatefulSessionContainer(BaseContainer).completeNewTx(EJBContextImpl, Throwable, int) line: 5007 StatefulSessionContainer(BaseContainer).postInvokeTx(EjbInvocation) line: 4772 StatefulSessionContainer.postInvokeTx(EjbInvocation) line: 1646 StatefulSessionContainer(BaseContainer).postInvoke(EjbInvocation, boolean) line: 1971 StatefulSessionContainer(BaseContainer).postInvoke(EjbInvocation) line: 1922 EJBObjectInvocationHandler.invoke(Class, Method, Object[]) line: 209 EJBObjectInvocationHandlerDelegate.invoke(Object, Method, Object[]) line: 75 $Proxy117.ship(String, String, int) line: not available NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 ReflectiveTie.dispatchToMethod(Method, Remote, Object[]) line: 146 ReflectiveTie._invoke(String, InputStream, ResponseHandler) line: 176 CorbaServerRequestDispatcherImpl.dispatchToServant(Object, CorbaMessageMediator, byte[], ObjectAdapter) line: 682 CorbaServerRequestDispatcherImpl.dispatch(CorbaMessageMediator) line: 216 CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediator) line: 1841 CorbaMessageMediatorImpl.handleRequest(RequestMessage, CorbaMessageMediator) line: 1695 CorbaMessageMediatorImpl.handleInput(RequestMessage_1_2) line: 1078 RequestMessage_1_2.callback(MessageHandler) line: 221 CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediator) line: 797 CorbaMessageMediatorImpl.dispatch() line: 561 CorbaMessageMediatorImpl.doWork() line: 2558 ThreadPoolImpl$WorkerThread.performWork() line: 492 ThreadPoolImpl$WorkerThread.run() line: 528