Hi,
We've implemented page hierarchies in Confluence using Parent/Child relationships. When a user tries to add a child on an existing hierarchy 3 levels deep, we get an assertion failure. This _only_ occurs under Jboss. It works fine on all other major app servers (resin, tomcat, orion)
Hibernate version: 2.1.6
Full stack trace of any exception that occurs:
09:55:55,968 ERROR [AssertionFailure] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely
due to unsafe use of the session)
net.sf.hibernate.AssertionFailure: collection was not processed by flush()
at net.sf.hibernate.impl.SessionImpl$CollectionEntry.postFlush(SessionImpl.java:367)
at net.sf.hibernate.impl.SessionImpl.postFlush(SessionImpl.java:2834)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2241)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:463)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManag
er.java:373)
at com.atlassian.confluence.util.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:167)
at
Also,
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:782)
at java.util.HashMap$ValueIterator.next(HashMap.java:812)
at net.sf.hibernate.impl.Printer.toString(Printer.java:82)
at net.sf.hibernate.impl.SessionImpl.flushEverything(SessionImpl.java:2281)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2239)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:463)
Name and version of the database you are using:
HSQL db 1.7.1 (rrelevant as we can reproduce against all dbs)
Any hints on where to start investigating this would be appreciated.
Thanks,
Dave
|