1 2 Previous Next 21 Replies Latest reply on May 17, 2006 9:23 AM by marklittle Go to original post
      • 15. Re: java.lang.OutOfMemoryError: Requested array size exceeds
        marklittle

        If you have a stand-alone test case that illustrates the problem let us know: we can try it at our side against Oracle. However, from what you've just said about the CachedConnectionManager, that does look like a culprit. But until we can reproduce the problem, we can't be sure.

        • 16. Re: java.lang.OutOfMemoryError: Requested array size exceeds
          peter_p

          Sorry for the delay. Now I'm able to reproduce the error using context interception.

          In most cases I got the following exception stacktrace. It is independent of the orb version ( 2.2.1 or 2.2.1 patch 1 ) and independent of the CachedConnectionManager ( see my last posting ).
          Setting the debug attribute of the CachedConnectionManager to false the messages are suppressed but the exception still occurs.

          11:37:40,796 INFO [CachedConnectionManager] Closing a connection for you. Please close them yourself: org.jboss.resource.adapter.jdbc.WrappedConnection@12dc320
          11:38:09,953 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
          11:38:09,953 ERROR [JDBCExceptionReporter] Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException); - nested throwable: (org.jboss.resource.JBossResourceException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException))
          11:38:09,953 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
          11:38:09,953 ERROR [JDBCExceptionReporter] Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException); - nested throwable: (org.jboss.resource.JBossResourceException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException))
          11:38:09,953 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
          org.hibernate.exception.GenericJDBCException: Cannot open connection
          at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:91)
          at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:79)
          at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
          at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
          at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:314)
          at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:114)
          at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:93)
          at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:86)
          at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2165)
          at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2117)
          at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2373)
          at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:84)
          at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
          at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
          at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
          at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
          at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
          at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:877)
          at org.springframework.orm.hibernate3.SessionFactoryUtils$SpringSessionSynchronization.beforeCommit(SessionFactoryUtils.java:884)
          at org.springframework.orm.hibernate3.SessionFactoryUtils$JtaSessionSynchronization.beforeCompletion(SessionFactoryUtils.java:1018)
          at com.arjuna.ats.internal.jta.resources.jts.orbspecific.SynchronizationImple.before_completion(SynchronizationImple.java:128)
          at org.omg.CosTransactions.SynchronizationPOA._invoke(Unknown Source)
          at org.jacorb.poa.RequestProcessor.invokeOperation(Unknown Source)
          at org.jacorb.poa.RequestProcessor.process(Unknown Source)
          at org.jacorb.poa.RequestProcessor.run(Unknown Source)
          Caused by: org.jboss.util.NestedSQLException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException); - nested throwable: (org.jboss.resource.JBossResourceException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException))
          at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:79)
          at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:80)
          at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:311)
          ... 20 more
          Caused by: org.jboss.resource.JBossResourceException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException)
          at org.jboss.resource.JBossResourceException.rethrowAsResourceException(JBossResourceException.java:49)
          at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:337)
          at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:462)
          at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:894)
          at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:73)
          ... 22 more
          Caused by: javax.transaction.SystemException
          at com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple.getTransaction(TransactionManagerImple.java:82)
          at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.getTransaction(BaseTransactionManagerDelegate.java:106)
          at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:329)
          ... 25 more
          11:38:09,968 ERROR [SessionFactoryUtils] beforeCommit callback threw exception
          org.springframework.orm.hibernate3.HibernateJdbcException: JDBC exception on Hibernate data access: Cannot open connection; nested exception is org.jboss.util.NestedSQLException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException); - nested throwable: (org.jboss.resource.JBossResourceException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException))
          org.jboss.util.NestedSQLException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException); - nested throwable: (org.jboss.resource.JBossResourceException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException))
          at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:79)
          at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:80)
          at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:311)
          at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:114)
          at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:93)
          at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:86)
          at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2165)
          at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2117)
          at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2373)
          at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:84)
          at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
          at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
          at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
          at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
          at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
          at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:877)
          at org.springframework.orm.hibernate3.SessionFactoryUtils$SpringSessionSynchronization.beforeCommit(SessionFactoryUtils.java:884)
          at org.springframework.orm.hibernate3.SessionFactoryUtils$JtaSessionSynchronization.beforeCompletion(SessionFactoryUtils.java:1018)
          at com.arjuna.ats.internal.jta.resources.jts.orbspecific.SynchronizationImple.before_completion(SynchronizationImple.java:128)
          at org.omg.CosTransactions.SynchronizationPOA._invoke(Unknown Source)
          at org.jacorb.poa.RequestProcessor.invokeOperation(Unknown Source)
          at org.jacorb.poa.RequestProcessor.process(Unknown Source)
          at org.jacorb.poa.RequestProcessor.run(Unknown Source)
          Caused by: org.jboss.resource.JBossResourceException: Error checking for a transaction.; - nested throwable: (javax.transaction.SystemException)
          at org.jboss.resource.JBossResourceException.rethrowAsResourceException(JBossResourceException.java:49)
          at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:337)
          at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:462)
          at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:894)
          at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:73)
          ... 22 more
          Caused by: javax.transaction.SystemException
          at com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple.getTransaction(TransactionManagerImple.java:82)
          at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.getTransaction(BaseTransactionManagerDelegate.java:106)
          at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:329)
          ... 25 more
          11:38:09,984 WARN [loggerI18N] [com.arjuna.ats.internal.jts.orbspecific.coordinator.generror] ArjunaTransactionImple.doBeforeCompletion caught exception: org.omg.CORBA.UNKNOWN: Server-side Exception: vmcid: 0x0 minor code: 0 completed: No
          11:38:10,171 ERROR [LogInterceptor] TransactionRolledbackException in method: public abstract void de.mydomain.testclasses.tx2pc.ejb.interfaces.TxXchgServiceEjbFassade.xchgVerein(int,int,de.mydomain.testclasses.tx2pc.TxParam) throws de.mydomain.testclasses.txapp.exception.MyDataAccessException,java.rmi.RemoteException, causedBy:
          javax.transaction.RollbackException
          at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.commit(TransactionImple.java:261)
          at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:486)
          at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:346)
          at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
          at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
          at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
          at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
          at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
          at org.jboss.ejb.Container.invoke(Container.java:873)
          at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:324)
          at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
          at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
          at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
          at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:324)
          at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
          at sun.rmi.transport.Transport$1.run(Transport.java:148)
          at java.security.AccessController.doPrivileged(Native Method)
          at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
          at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
          at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
          at java.lang.Thread.run(Thread.java:536)


          One time I noticed the following exception:

          Server 1:
          10:29:41,703 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_36] - BasicAction.End() - prepare phase of action-id a2b026f:1064:44698a0c:e4 failed.
          10:29:41,703 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_38] - Action Aborting
          10:29:41,718 WARN [loggerI18N] [com.arjuna.ats.internal.jts.resources.rrcaught] ResourceRecord.topLevelAbort caught exception: org.omg.CORBA.UNKNOWN: Server-side Exception: java.lang.NullPointerException vmcid: 0x0 minor code: 0 completed: No
          10:29:41,734 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_54] - Top-level abort of action a2b026f:1064:44698a0c:e4 received TwoPhaseOutcome.FINISH_ERROR from <ClassName:RecordType.OTS_RECORD>
          10:29:41,828 ERROR [LogInterceptor] TransactionRolledbackException in method: public abstract void de.mydomain.testclasses.tx2pc.ejb.interfaces.TxXchgServiceEjbFassade.xchgVerein(int,int,de.mydomain.testclasses.tx2pc.TxParam) throws de.mydomain.testclasses.txapp.exception.MyDataAccessException,java.rmi.RemoteException, causedBy:
          javax.transaction.RollbackException
          at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.commit(TransactionImple.java:261)
          at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:486)
          at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:346)
          at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
          at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
          at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
          at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
          at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
          at org.jboss.ejb.Container.invoke(Container.java:873)
          at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:324)
          at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
          at org.jboss.invocation.jrmp.server.JRMPInvoker$MBeanServerAction.invoke(JRMPInvoker.java:805)
          at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:406)
          at sun.reflect.GeneratedMethodAccessor192.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:324)
          at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
          at sun.rmi.transport.Transport$1.run(Transport.java:148)
          at java.security.AccessController.doPrivileged(Native Method)
          at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
          at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
          at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
          at java.lang.Thread.run(Thread.java:536)


          Server 2:
          10:29:41,625 WARN [loggerI18N] [com.arjuna.ats.internal.jts.context.genfail] ContextManager caught exception: org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x0 minor code: 0 completed: No
          10:29:41,625 WARN [loggerI18N] [com.arjuna.ats.internal.jts.orbspecific.jacorb.interceptors.context.srie] ContextServerRequestInterceptorImpl::send_reply caught an unexpected exception: org.omg.CORBA.UNKNOWN: org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x0 minor code: 0 completed: No vmcid: 0x0 minor code: 0 completed: No
          10:29:41,640 WARN [loggerI18N] [com.arjuna.ats.internal.jts.orbspecific.coordinator.generror] ArjunaTransactionImple.doBeforeCompletion caught exception: org.omg.CORBA.UNKNOWN: Server-side Exception: org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x0 minor code: 0 completed: No vmcid: 0x0 minor code: 0 completed: No
          10:29:41,671 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_43] - Transaction a2b026f:1064:44698a0c:e4 marked as rollback only. Will abort.
          10:29:41,671 ERROR [controller] rid: 4 opname: prepare invocation: throwable was thrown (java.lang.NullPointerException)
          java.lang.NullPointerException
          at com.arjuna.ats.internal.jts.orbspecific.interposition.resources.arjuna.ServerTopLevelAction.rollback(ServerTopLevelAction.java:325)
          at com.arjuna.ats.internal.jts.orbspecific.interposition.resources.arjuna.ServerTopLevelAction.prepare(ServerTopLevelAction.java:254)
          at org.omg.CosTransactions.ResourcePOATie.prepare(ResourcePOATie.java:64)
          at org.omg.CosTransactions.ResourcePOA._invoke(ResourcePOA.java:100)
          at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:299)
          at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:593)
          at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:735)
          10:29:41,718 ERROR [controller] rid: 10 opname: rollback invocation: throwable was thrown (java.lang.NullPointerException)
          java.lang.NullPointerException
          at com.arjuna.ats.internal.jts.orbspecific.interposition.resources.arjuna.ServerTopLevelAction.rollback(ServerTopLevelAction.java:325)
          at org.omg.CosTransactions.ResourcePOATie.rollback(ResourcePOATie.java:54)
          at org.omg.CosTransactions.ResourcePOA._invoke(ResourcePOA.java:47)
          at org.jacorb.poa.RequestProcessor.invokeOperation(RequestProcessor.java:299)
          at org.jacorb.poa.RequestProcessor.process(RequestProcessor.java:593)
          at org.jacorb.poa.RequestProcessor.run(RequestProcessor.java:735)


          Using the interposition interceptor and jacorb 2.2.1 patch 1 my transactions are processed as expected. No error occurs.
          I can configure the interceptor in the jacorb.properties file or in the iiop-services.xml file. The CachedConnectionManager does not try to close my connections. ( if debug is enabled )

          Unfortunately my testapp is no stand-alone testcase. It is a complete demo application, using hibernate for persistence and spring to encapsulate session beans.

          • 17. Re: java.lang.OutOfMemoryError: Requested array size exceeds
            marklittle

            There are a couple of things.

            "peter_p" wrote:

            10:29:41,828 ERROR [LogInterceptor] TransactionRolledbackException in method: public abstract void de.mydomain.testclasses.tx2pc.ejb.interfaces.TxXchgServiceEjbFassade.xchgVerein(int,int,de.mydomain.testclasses.tx2pc.TxParam) throws de.mydomain.testclasses.txapp.exception.MyDataAccessException,java.rmi.RemoteException, causedBy:
            javax.transaction.RollbackException


            Do you at any point mark the transaction for rollback yourself? Do you know if any transaction related timeouts are going off?


            Using the interposition interceptor and jacorb 2.2.1 patch 1 my transactions are processed as expected. No error occurs.
            I can configure the interceptor in the jacorb.properties file or in the iiop-services.xml file. The CachedConnectionManager does not try to close my connections. ( if debug is enabled )


            I'm not quite sure I understand. You can get it to work with the JacORB patch supplied?

            • 18. Re: java.lang.OutOfMemoryError: Requested array size exceeds
              marklittle

              Also, if you can't provide a stand-alone test case, would it be possible to attach a debugger and get more information?

              • 19. Re: java.lang.OutOfMemoryError: Requested array size exceeds
                peter_p

                Thank you for your quick reply.

                Do you at any point mark the transaction for rollback yourself? Do you know if any transaction related timeouts are going off?


                No, I did not mark the transaction for rollback and the whole TX can be processed in less than 1 second. I haven't modified any TX-timing
                parameters and have no idl-timout tag in my datasource deployment descriptors.

                You can get it to work with the JacORB patch supplied?

                Yes, my sample works without any problems if I configure the interposition interceptor, as shown below. (iiop-service.xml)
                The OutOfMemory Exception will disappear using the new ORB and interposition.
                 <mbean code="org.jboss.iiop.CorbaORBService"
                 name="jboss:service=CorbaORB">
                 <attribute name="ORBClass">org.jacorb.orb.ORB</attribute>
                 <attribute name="ORBSingletonClass">org.jboss.system.ORBSingleton</attribute>
                 <attribute name="ORBSingletonDelegate">org.jacorb.orb.ORBSingleton</attribute>
                 <attribute name="ORBPropertiesFileName">jacorb.properties</attribute>
                 <!-- uncomment the attribute below to interoperate with IONA's ASP 6.0
                 <attribute name="SendSASAcceptWithExceptionEnabled">false</attribute>
                 -->
                 <attribute name="PortableInterceptorInitializers">
                 <interceptor-initializers>
                 <!-- the two initializers below are required - do not remove them -->
                 <initializer>org.jboss.iiop.codebase.CodebaseInterceptorInitializer</initializer>
                 <initializer>org.jboss.iiop.csiv2.CSIv2Initializer</initializer>
                 <!-- comment out to generate IORs with no transaction policy info -->
                 <initializer>org.jboss.tm.iiop.TxIORInterceptorInitializer</initializer>
                 <!-- JBoss TS interceptor -->
                 <!--initializer>com.arjuna.ats.jts.orbspecific.jacorb.interceptors.context.ContextORBInitializerImpl</initializer-->
                 <initializer>com.arjuna.ats.jts.orbspecific.jacorb.interceptors.interposition.InterpositionORBInitializerImpl</initializer>
                 <!-- comment out to disable the Security Attribute Service -->
                 <initializer>org.jboss.iiop.csiv2.SASInitializer</initializer>
                 </interceptor-initializers>
                 </attribute>
                 <!-- uncomment to use IIOP over SSL
                 <attribute name="SecurityDomain">java:/jaas/IIOP+SSL</attribute>
                 <depends>jboss.security:service=JaasSecurityDomain,domain=IIOP+SSL</depends>
                 -->
                 </mbean>
                


                If I change the xml-comment and activate the context.ContextORBInitializerImpl Interceptor then the exceptions, I described in my last posting, will occur.
                ( even in the version 2.2.1 patch 1 of the java ORB )

                I posted this stacktrace because of your last statement:
                Using the context interceptor versus the interposition interceptor should make no difference to the outcome of your transactions.

                In my demo - application, the TX will be rolled back, if I use context interception.

                Attaching a debugger ( Eclipse ) to both server is no problem.


                • 20. Re: java.lang.OutOfMemoryError: Requested array size exceeds
                  marklittle

                   

                  "peter_p" wrote:
                  Thank you for your quick reply.


                  No problem.


                  Do you at any point mark the transaction for rollback yourself? Do you know if any transaction related timeouts are going off?


                  No, I did not mark the transaction for rollback and the whole TX can be processed in less than 1 second. I haven't modified any TX-timing
                  parameters and have no idl-timout tag in my datasource deployment descriptors.


                  OK, thanks.


                  You can get it to work with the JacORB patch supplied?

                  Yes, my sample works without any problems if I configure the interposition interceptor, as shown below. (iiop-service.xml)
                  The OutOfMemory Exception will disappear using the new ORB and interposition.
                   <mbean code="org.jboss.iiop.CorbaORBService"
                   name="jboss:service=CorbaORB">
                   <attribute name="ORBClass">org.jacorb.orb.ORB</attribute>
                   <attribute name="ORBSingletonClass">org.jboss.system.ORBSingleton</attribute>
                   <attribute name="ORBSingletonDelegate">org.jacorb.orb.ORBSingleton</attribute>
                   <attribute name="ORBPropertiesFileName">jacorb.properties</attribute>
                   <!-- uncomment the attribute below to interoperate with IONA's ASP 6.0
                   <attribute name="SendSASAcceptWithExceptionEnabled">false</attribute>
                   -->
                   <attribute name="PortableInterceptorInitializers">
                   <interceptor-initializers>
                   <!-- the two initializers below are required - do not remove them -->
                   <initializer>org.jboss.iiop.codebase.CodebaseInterceptorInitializer</initializer>
                   <initializer>org.jboss.iiop.csiv2.CSIv2Initializer</initializer>
                   <!-- comment out to generate IORs with no transaction policy info -->
                   <initializer>org.jboss.tm.iiop.TxIORInterceptorInitializer</initializer>
                   <!-- JBoss TS interceptor -->
                   <!--initializer>com.arjuna.ats.jts.orbspecific.jacorb.interceptors.context.ContextORBInitializerImpl</initializer-->
                   <initializer>com.arjuna.ats.jts.orbspecific.jacorb.interceptors.interposition.InterpositionORBInitializerImpl</initializer>
                   <!-- comment out to disable the Security Attribute Service -->
                   <initializer>org.jboss.iiop.csiv2.SASInitializer</initializer>
                   </interceptor-initializers>
                   </attribute>
                   <!-- uncomment to use IIOP over SSL
                   <attribute name="SecurityDomain">java:/jaas/IIOP+SSL</attribute>
                   <depends>jboss.security:service=JaasSecurityDomain,domain=IIOP+SSL</depends>
                   -->
                   </mbean>
                  


                  If I change the xml-comment and activate the context.ContextORBInitializerImpl Interceptor then the exceptions, I described in my last posting, will occur.
                  ( even in the version 2.2.1 patch 1 of the java ORB )


                  OK, so that's good to know. At least there's a route for you to make forward progress if we can't figure this out in the short term.


                  I posted this stacktrace because of your last statement:
                  Using the context interceptor versus the interposition interceptor should make no difference to the outcome of your transactions.

                  In my demo - application, the TX will be rolled back, if I use context interception.

                  Attaching a debugger ( Eclipse ) to both server is no problem.


                  • 21. Re: java.lang.OutOfMemoryError: Requested array size exceeds
                    marklittle

                    One thing you might want to check is how Hibernate gets its reference to the transaction service. Hopefully it's via JNDI, but if it's not then it may be trying to use the old JBoss transaction service implementation at the same time as JBossTS.

                    1 2 Previous Next