[hibernate-issues] [Hibernate-JIRA] Commented: (EJB-437) StacKOverflowError on a simple Entity load attempt

Gilbert (JIRA) noreply at atlassian.com
Mon May 11 11:47:14 EDT 2009


    [ http://opensource.atlassian.com/projects/hibernate/browse/EJB-437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33141#action_33141 ] 

Gilbert commented on EJB-437:
-----------------------------

In fact i noticed also that at the same time for which this error occurs a 'Protocol Violation Oracle errors ORA 17401' appreas in the ffdc(first failure data capture) Websphere log file.
I was wondering what causes what ? is the Protocol violation error that causes the StackOverflowError or vice versa ?

here's the stack for this error : 
com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.rollback 2001
Exception = com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException
Source = com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.rollback
probeid = 2001
Stack Dump = com.ibm.ws.exception.WsException: DSRA0080E: An exception was received by the Data Store Adapter. See original exception message: Protocol violation. with SQL State : null SQL Code : 17401
	at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.setLinkedException(DataStoreAdapterException.java:425)
	at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.mapException(InternalGenericDataStoreHelper.java:518)
	at com.ibm.ws.rsadapter.AdapterUtil.translateSQLException(AdapterUtil.java:1035)
	at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processLocalTransactionRolledbackEvent(WSRdbManagedConnectionImpl.java:1888)
	at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.rollback(WSJdbcConnection.java:2346)
	at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
	at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
	at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:594)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:742)
	at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:719)
	at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:153)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java(Compiled Code))

Thanks in advance, 
Gilbert

> StacKOverflowError on a simple Entity load attempt
> --------------------------------------------------
>
>                 Key: EJB-437
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-437
>             Project: Hibernate Entity Manager
>          Issue Type: Bug
>          Components: EntityManager
>    Affects Versions: 3.1beta7
>         Environment: Hibernate 3.1.3, Oracle 10g, WinXp, Websphere 6.0.2.33
>            Reporter: Gilbert
>            Priority: Critical
>   Original Estimate: 3 days
>  Remaining Estimate: 3 days
>
> hello everyone, 
>          sometimes i get a StackOverflowError in my application(i found this error in the SystemErr Websphere log file). It always occurs at the same place where i load an object from the database from its identifier using the HibernateTemplate method : getHibernateTemplate().get(objType, id);
> notice : in fact i make a loop over this method to get a list of objects from their identifiers(all this in the same HibernateTransaction) 
> here's the stack i get (as u can see a part of this stack is repeated many times):
> java.lang.StackOverflowError
> 	at oracle.jdbc.driver.OraclePreparedStatement.setLong(OraclePreparedStatement.java(Compiled Code))
> 	at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.setLong(WSJdbcPreparedStatement.java(Compiled Code))
> 	at org.hibernate.type.LongType.set(LongType.java(Compiled Code))
> 	at org.hibernate.type.NullableType.nullSafeSet(NullableType.java(Compiled Code))
> 	at org.hibernate.type.NullableType.nullSafeSet(NullableType.java(Compiled Code))
> 	at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQuery(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.loadEntity(Loader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java(Inlined Compiled Code))
> 	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolve(EntityType.java(Compiled Code))
> 	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java(Compiled Code))
> 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQuery(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.loadEntity(Loader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java(Inlined Compiled Code))
> 	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolve(EntityType.java(Compiled Code))
> 	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java(Compiled Code))
> 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQuery(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.loadEntity(Loader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java(Inlined Compiled Code))
> 	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolve(EntityType.java(Compiled Code))
> 	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java(Compiled Code))
> 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQuery(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.loadEntity(Loader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java(Inlined Compiled Code))
> 	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolve(EntityType.java(Compiled Code))
> 	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java(Compiled Code))
> 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQuery(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.loadEntity(Loader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java(Compiled Code))
> 	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java(Compiled Code))
> 	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java(Inlined Compiled Code))
> 	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java(Compiled Code))
> 	at org.hibernate.type.EntityType.resolve(EntityType.java(Compiled Code))
> 	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java(Compiled Code))
> 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQuery(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java(Compiled Code))
> 	at org.hibernate.loader.Loader.loadEntity(Loader.java(Compiled Code))
> ....and the stack continues 
> Thank your for your help.
> Gilbert

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list