db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-4549) NPE in JBitSet
Date Tue, 16 Feb 2010 09:38:27 GMT

     [ https://issues.apache.org/jira/browse/DERBY-4549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kristian Waagan updated DERBY-4549:
-----------------------------------

    Affects Version/s: 10.6.0.0

Ran repro on trunk, which also has the bug. Stack trace with line numbers below:

ERROR XJ001: Java exception: ': java.lang.NullPointerException'.
java.sql.SQLException: Java exception: ': java.lang.NullPointerException'.
[ snip ]
Caused by: java.lang.NullPointerException
	at org.apache.derby.iapi.util.JBitSet.or(JBitSet.java:241)
	at org.apache.derby.impl.sql.compile.ReferencedTablesVisitor.visit(ReferencedTablesVisitor.java:77)
	at org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:735)
	at org.apache.derby.impl.sql.compile.SubqueryNode.acceptChildren(SubqueryNode.java:2294)
	at org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:738)
	at org.apache.derby.impl.sql.compile.ValueNode.getTablesReferenced(ValueNode.java:790)
	at org.apache.derby.impl.sql.compile.BinaryRelationalOperatorNode.selfComparison(BinaryRelationalOperatorNode.java:531)
	at org.apache.derby.impl.sql.compile.BinaryRelationalOperatorNode.optimizableEqualityNode(BinaryRelationalOperatorNode.java:1400)
	at org.apache.derby.impl.sql.compile.PredicateList.hasOptimizableEqualityPredicate(PredicateList.java:389)
	at org.apache.derby.impl.sql.compile.FromBaseTable.isOneRowResultSet(FromBaseTable.java:4432)
	at org.apache.derby.impl.sql.compile.FromBaseTable.isOneRowResultSet(FromBaseTable.java:3864)
	at org.apache.derby.impl.sql.compile.FromBaseTable.nextAccessPath(FromBaseTable.java:441)
	at org.apache.derby.impl.sql.compile.ProjectRestrictNode.nextAccessPath(ProjectRestrictNode.java:188)
	at org.apache.derby.impl.sql.compile.OptimizerImpl.getNextDecoratedPermutation(OptimizerImpl.java:1551)
	at org.apache.derby.impl.sql.compile.SelectNode.optimize(SelectNode.java:1912)
	at org.apache.derby.impl.sql.compile.DMLStatementNode.optimizeStatement(DMLStatementNode.java:315)
	at org.apache.derby.impl.sql.compile.CursorNode.optimizeStatement(CursorNode.java:558)
	at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:381)
	at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:90)
	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:828)
	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:606)
	... 14 more


> NPE in JBitSet
> --------------
>
>                 Key: DERBY-4549
>                 URL: https://issues.apache.org/jira/browse/DERBY-4549
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.5.3.0, 10.6.0.0
>            Reporter: Murat Knecht
>
> A NPE occurs at org.apache.derby.iapi.util.JBitSet.or().
> A NPE occured at the same location before: http://issues.apache.org/jira/browse/DERBY-1574
> The bug was confirmed by Bryan Pendleton to show in the HEAD as well: http://mail-archives.apache.org/mod_mbox/db-derby-user/201002.mbox/%3C4B79F74E.1000005@amberpoint.com%3E
> To reproduce:
> ----------------------
> CREATE TABLE ABC (ID int PRIMARY KEY NOT NULL);
> CREATE TABLE DEF (ID int PRIMARY KEY NOT NULL);
> SELECT * 
> FROM ABC t1
> WHERE (SELECT DISTINCT t2.ID FROM DEF t2) 
>         IN (SELECT t3.ID FROM DEF t3) 
> ----------------------
> Leads to 
> error message: 
> Error: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC: java.lang.NullPointerExceptionXJ001.U
> SQLState:  XJ001
> ErrorCode: -1
> Stacktrace:
> java.lang.NullPointerException
> 	at org.apache.derby.iapi.util.JBitSet.or(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.OptimizerImpl.<init>(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.Level2OptimizerImpl.<init>(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.Level2OptimizerFactoryImpl.getOptimizerImpl(Unknown
Source)
> 	at org.apache.derby.impl.sql.compile.OptimizerFactoryImpl.getOptimizer(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.ResultSetNode.getOptimizer(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.SelectNode.optimize(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.SubqueryNode.optimize(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.SubqueryList.optimize(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.SelectNode.optimize(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.DMLStatementNode.optimizeStatement(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.CursorNode.optimizeStatement(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
> 	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown
Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source)
> 	at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAStatement.prepare(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAStatement.explicitPrepare(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.parsePRPSQLSTT(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
> Cleanup action completed

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


Mime
View raw message