Details
-
Bug
-
Resolution: Duplicate
-
Medium
-
None
-
None
Description
In logs quite often you can see errors like the one pasted below. I investigated this stuff a bit and it looks like transaction state changes to one of non-commit states (don't remember which one now) just before the commit itself happens. This results in a try to roll back the commit/transaction but it fails because it appears that the stack for this transaction was empty. It is a bit tricky to notice all this if you don't resolve the task that is linked to this one.
2010-04-19 12:39:15,702 ERROR [org.jboss.blog.session.update.UpdateManager] Exception when rolling back the transaction
java.util.EmptyStackException
at java.util.Stack.peek(Stack.java:85)
at java.util.Stack.pop(Stack.java:67)
at org.jboss.seam.transaction.SeSynchronizations.afterTransactionRollback(SeSynchronizations.java:45)
at org.jboss.seam.transaction.UTTransaction.rollback(UTTransaction.java:70)
at org.jboss.blog.session.update.UpdateThread.executeInTransaction(UpdateThread.java:89)
at org.jboss.blog.session.update.UpdateThread.run(UpdateThread.java:41)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)