Sorry, 

I mentioned that in my previous e-mail but forgot the attachment:


2012-09-27 18:22:50,434 ERROR [Thread-1] (Context.java:282) Calling onError 
of com.myBizz.edmpb.addressbook.sm.UserDetailsState@1d56250 for 
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: 
could not execute query; uncategorized SQLException for SQL [select 
max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_]; SQL state 
[HY000]; error code [50000]; General error: "java.lang.RuntimeException: 
Unexpected code path"; SQL statement:
select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_ limit ? 
[50000-160]; nested exception is org.h2.jdbc.JdbcSQLException: General 
error: "java.lang.RuntimeException: Unexpected code path"; SQL statement:
select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_ limit ? 
[50000-160] 
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: 
could not execute query; uncategorized SQLException for SQL [select 
max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_]; SQL state 
[HY000]; error code [50000]; General error: "java.lang.RuntimeException: 
Unexpected code path"; SQL statement:
select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_ limit ? 
[50000-160]; nested exception is org.h2.jdbc.JdbcSQLException: General 
error: "java.lang.RuntimeException: Unexpected code path"; SQL statement:
select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_ limit ? 
[50000-160]
at 
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at 
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at 
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at 
org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
at 
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
at 
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
at 
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at 
org.springframework.orm.hibernate3.HibernateTemplate.findByCriteria(HibernateTemplate.java:1046)
at 
com.myBizz.edmpb.dao.ExtendedEntityDaoImpl.get(ExtendedEntityDaoImpl.java:213)
at 
com.myBizz.edmpb.dao.ExtendedEntityDaoImpl.getUnique(ExtendedEntityDaoImpl.java:231)
at 
com.myBizz.edmpb.dao.ExtendedEntityDaoImpl.getUnique(ExtendedEntityDaoImpl.java:222)
at 
com.myBizz.edmpb.services.communication.queueing.repositories.AbstractQueueRepository.lastQueuePosition(AbstractQueueRepository.java:538)
at 
com.myBizz.edmpb.services.communication.queueing.repositories.AbstractQueueRepository.findTailPackageId(AbstractQueueRepository.java:508)
at 
com.myBizz.edmpb.communication.queueing.Queue.findTailPackageId(Queue.java:95)
at 
com.myBizz.edmpb.communication.translation.builder.RawPackageBuilderImpl.buildPackage(RawPackageBuilderImpl.java:53)
at 
com.myBizz.edmpb.services.communication.translation.builder.SynchronizationPackageBuilderImpl.buildPackageOperation(SynchronizationPackageBuilderImpl.java:90)
[...]
Caused by: org.h2.jdbc.JdbcSQLException: General error: 
"java.lang.RuntimeException: Unexpected code path"; SQL statement:
select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_ limit ? 
[50000-160]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.command.Command.executeQuery(Command.java:189)
at 
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:96)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at 
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2136)
at org.hibernate.loader.Loader.list(Loader.java:2096)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at 
org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:1056)
at 
org.springframework.orm.hibernate3.HibernateTemplate$36.doInHibernate(HibernateTemplate.java:1)
at 
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
... 35 more
Caused by: java.lang.RuntimeException: Unexpected code path
at org.h2.message.DbException.throwInternalError(DbException.java:228)
at org.h2.message.DbException.throwInternalError(DbException.java:241)
at org.h2.index.PageDataCursor.previous(PageDataCursor.java:102)
at org.h2.index.MultiVersionCursor.step(MultiVersionCursor.java:73)
at org.h2.index.MultiVersionCursor.loadNext(MultiVersionCursor.java:57)
at org.h2.index.MultiVersionCursor.next(MultiVersionCursor.java:105)
at org.h2.index.MultiVersionCursor.previous(MultiVersionCursor.java:179)
at 
org.h2.index.MultiVersionIndex.findFirstOrLast(MultiVersionIndex.java:113)
at org.h2.expression.Aggregate.getValue(Aggregate.java:279)
at org.h2.expression.Alias.getValue(Alias.java:35)
at org.h2.command.dml.Select.queryQuick(Select.java:542)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:607)
at org.h2.command.dml.Query.query(Query.java:298)
at org.h2.command.dml.Query.query(Query.java:268)
at org.h2.command.dml.Query.query(Query.java:37)
at org.h2.command.CommandContainer.query(CommandContainer.java:82)
at org.h2.command.Command.executeQuery(Command.java:185)
... 49 more
2012-09-27 18:22:50,434 ERROR [Thread-1] (EpbaddressbookState.java:77) 
Hibernate operation: could not execute query; uncategorized SQLException 
for SQL [select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_]; 
SQL state [HY000]; error code [50000]; General error: 
"java.lang.RuntimeException: Unexpected code path"; SQL statement:
select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_ limit ? 
[50000-160]; nested exception is org.h2.jdbc.JdbcSQLException: General 
error: "java.lang.RuntimeException: Unexpected code path"; SQL statement:
select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_ limit ? 
[50000-160] 
2012-09-27 18:22:50,434 INFO  [Thread-1] (UserDetailsState.java:1023) 
EXITING UserDetailsState STATE 



We finally managed to reproduce the error and we suspect the conditions are:

 - thread 1 opens transaction
 - thread 2 opens transaction
 - thread 2 inserts Item in table Foo
 - thread 1 runs a select max(col) in table Foo

Or similar.
We could only see the error when both Threads were using transactions.


Thanks for the help!



On Saturday, September 29, 2012 1:26:42 AM UTC+2, Thomas Mueller wrote:
>
> Hi
>
> Could you post the rest of the stack tragen please? 
>
> Regards, Thomas 
> Am 28.09.2012 09:11 schrieb "Ignasi Marimon-Clos i Sunyol" <
> [email protected] <javascript:>>:
>
>> Hi all,
>>
>> we are long time users of H2 and have come to love it's versatility. This 
>> love is not free of bumps though.
>>
>> We've just faced the most strange one: 
>>
>> (excerpt stack trace, full stack trace at bottom)
>>
>> General error: "java.lang.RuntimeException: Unexpected code path"; SQL 
>> statement:
>> select max(this_.QUEUE_POSITION) as y0_ from HISTORY_QUEUE this_ limit ? 
>> [50000-160]
>> at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
>>  at org.h2.message.DbException.get(DbException.java:158)
>> at org.h2.message.DbException.convert(DbException.java:281)
>>  at org.h2.command.Command.executeQuery(Command.java:189)
>>
>>                   .... 
>>
>> We are using  *com.h2database:h2:1.3.160* and at this stage of the 
>> development we can't afford upgrading the version.
>>
>> We connect to the DB using the URL:
>>
>>
>> jdbc:h2:C:\path\to\db;MAX_MEMORY_UNDO=20000;MAX_OPERATION_MEMORY=20000;DB_CLOSE_DELAY=-1;LOCK_TIMEOUT=100000;IFEXISTS=TRUE;MVCC=TRUE;CIPHER=AES;DB_CLOSE_ON_EXIT=FALSE
>>  
>>
>>
>> All the information (symptoms) we have are :
>>
>> * We* can't *reproduce the error in a *single threaded* application with 
>> *high DB load*.
>> * We* can't* reproduce the error in a *multi threaded* application with *low 
>> DB load*.
>> * We* can* reproduce the error in a *multi threaded* application with *high 
>> DB load*.
>>
>>
>> Any help/feedback will be welcome. Thanks in advance,
>>
>> Ignasi
>>
>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "H2 Database" group.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msg/h2-database/-/AyAAqx58VuMJ.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> To unsubscribe from this group, send email to 
>> [email protected] <javascript:>.
>> For more options, visit this group at 
>> http://groups.google.com/group/h2-database?hl=en.
>>
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/h2-database/-/g0BhanVBHCcJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to