You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2009/08/03 18:43:15 UTC

[jira] Issue Comment Edited: (DERBY-4330) NullPointerException or assert failure when re-executing PreparedStatement after lock timeout

    [ https://issues.apache.org/jira/browse/DERBY-4330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738418#action_12738418 ] 

Dag H. Wanvik edited comment on DERBY-4330 at 8/3/09 9:42 AM:
--------------------------------------------------------------

Uploading a new repro, showing another incarnation of this problem, this time with a UNION query, which relies on the UnionResultSet. That class' openCore has a similar weakness as JoinResultSet's.

With sane code I see this:
ERROR XJ001: Java exception: 'ASSERT FAILED UnionResultSet already open: org.apache.derby.shared.common.sanity.AssertFailure'.

      was (Author: dagw):
    Uploading a new repro, showing another incarnation of this problem, this time with a UNION query, which relies on the SetOpResultSet. That class' openCore has a similar weakness as JoinResultSet's.

With sane code I see this:
ERROR XJ001: Java exception: 'ASSERT FAILED UnionResultSet already open: org.apache.derby.shared.common.sanity.AssertFailure'.
  
> NullPointerException or assert failure when re-executing PreparedStatement after lock timeout
> ---------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4330
>                 URL: https://issues.apache.org/jira/browse/DERBY-4330
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.3.1.4, 10.3.2.1, 10.3.3.0, 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.2.0, 10.6.0.0
>            Reporter: Knut Anders Hatlen
>         Attachments: derby-4330a.diff, repro-union.sql, repro.sql
>
>
> I came across a query that failed with a NullPointerException (insane jars) or an assert failure (sane jars) when a PreparedStatement was re-executed after a lock timeout. I'm able to reproduce this on 10.3.1.4 and later. 10.2.2.0 and earlier don't fail. Another fallout from DERBY-827? I've also seen other manifestations of the problem, apparently depending on the actual rows in the tables, including "No current connection" and "The heap container with container id Container(0, 1120) is closed".
> Stack trace for the assert failure:
> org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED JoinResultSet already open
>         at org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:120)
>         at org.apache.derby.impl.sql.execute.JoinResultSet.openCore(JoinResultSet.java:144)
>         at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(ProjectRestrictResultSet.java:169)
>         at org.apache.derby.impl.sql.execute.SortResultSet.openCore(SortResultSet.java:248)
>         at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(ProjectRestrictResultSet.java:169)
>         at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(BasicNoPutResultSetImpl.java:248)
>         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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.