You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Rami Ojares / PDF-Comics Oy <ra...@absinth.fi> on 2010/01/14 23:29:08 UTC

ASSERT FAILED RowChanger already open

Has anybody any ideas what this exception could mean.

It comes when I am inserting rows in a table using a PreparedStatement.
Every once in a while I rollback a statement or two and continue inserting.

Here is the trace from server side:
2010-01-14 22:17:50.692 GMT Thread[DRDAConnThread_3,5,main] (XID = 
1870301), (SESSIONID = 3), (DATABASE = TV7), (DRDAID = 
NF000001.O795-435440525464302481{2}), Cleanup action starting
2010-01-14 22:17:50.692 GMT Thread[DRDAConnThread_3,5,main] (XID = 
1870301), (SESSIONID = 3), (DATABASE = TV7), (DRDAID = 
NF000001.O795-435440525464302481{2}), Failed Statement is: INSERT INTO 
PROGRAM_BROADCAST (ID, START_5MIN, PROGRAM_ID) VALUES (?, ?, ?) with 3 
parameters begin parameter #1: 422 :end parameter begin parameter #2: 
3851920 :end parameter begin parameter #3: 58672 :end parameter
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED 
RowChanger already open
    at 
org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:120)
    at 
org.apache.derby.impl.sql.execute.RowChangerImpl.openForUpdate(RowChangerImpl.java:293)
    at 
org.apache.derby.impl.sql.execute.RowChangerImpl.open(RowChangerImpl.java:268)
    at 
org.apache.derby.impl.sql.execute.RowChangerImpl.open(RowChangerImpl.java:250)
    at 
org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(InsertResultSet.java:919)
    at 
org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:495)
    at 
org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:416)
    at 
org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:297)
    at 
org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1235)
    at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1675)
    at 
org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1330)
    at 
org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:672)
    at 
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:4280)
    at 
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:4084)
    at 
org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:1003)
    at 
org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:290)
(Skipping thread dump because of insufficient permissions:
java.security.AccessControlException: access denied 
(java.lang.RuntimePermission getStackTrace))

Oh, and there is a security exception again.
I am not even allowed to see exceptions because of Derby's paranoia ;-)
Please let me use my software on my own computer!

- rami