Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-4352

With 10.3 or later client and 10.1 server NullPointerException attempting to execute closed cursor

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 10.5.3.0
    • None
    • Network Client
    • None
    • Newcomer, Repro attached
    • Regression

    Description

      Using 10.5 client and 10.1 server I get a NullPointerException with the following script:
      [C:/test] java -Dij.exceptionTrace=true org.apache.derby.tools.ij
      ij version 10.1
      ij> run 'repro.sql';
      ij> connect 'jdbc:derby://localhost:1527/wombat;create=true';
      Connection number: 3.
      ij> drop table t1;
      0 rows inserted/updated/deleted
      ij> create table t1 (c1 int);
      0 rows inserted/updated/deleted
      ij> insert into t1 (c1) values (1),(2),(3);
      3 rows inserted/updated/deleted
      ij> get cursor curs1 as 'select * from t1 for update of c1';
      ij> prepare curs1 as 'update t1 set c1=c1 where current of curs1';
      ij> next curs1;
      C1
      -----------
      1
      ij> close curs1;
      ij> execute curs1;
      JAVA ERROR: java.lang.NullPointerException
      java.lang.NullPointerException
      at org.apache.derby.client.am.SectionManager.getPositionedUpdateResultSet(SectionManager.java:193)
      at org.apache.derby.client.am.PreparedStatement.flowExecute(PreparedStatement.java:2018)
      at org.apache.derby.client.am.PreparedStatement.executeX(PreparedStatement.java:1594)
      at org.apache.derby.client.am.PreparedStatement.execute(PreparedStatement.java:1579)
      at org.apache.derby.impl.tools.ij.ij.ExecuteStatement(Unknown Source)
      at org.apache.derby.impl.tools.ij.ij.ijStatement(Unknown Source)
      at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
      at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
      at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
      at org.apache.derby.impl.tools.ij.Main14.main(Unknown Source)
      at org.apache.derby.tools.ij.main(Unknown Source)

      I used the following script to set up my environment.
      export JAVA_HOME=C:/p4/marsden_trunk/ibm15
      export PATH="$JAVA_HOME/bin;$PATH"
      export JUNIT="C:/svn/tools/junit.jar"
      export ORO="C:/svn/tools/jakarta-oro-2.0.8.jar"
      export TEN5JARS=C:/kmarsden/projects/10.5.3testing/db-derby-10.5.3.0-lib-debug/lib
      export TEN1JARS=c:/kmarsden/svnreleases/jars/10.1.3.1
      export CLASSPATH=".;$JUNIT;$ORO;$TEN1JARS/derby.jar;$TEN1JARS/derbynet.jar;$TEN1JARS/derbytools.jar;$TEN5JARS/derbyclien
      t.jar;$TEN1JARS/derbyTesting.jar"
      java org.apache.derby.tools.sysinfo

      [C:\kmarsden\svnreleases\jars\10.1.3.1\derby.jar] 10.1.3.1 - (417277)
      [C:\kmarsden\svnreleases\jars\10.1.3.1\derbynet.jar] 10.1.3.1 - (417277)
      [C:\kmarsden\svnreleases\jars\10.1.3.1\derbytools.jar] 10.1.3.1 - (417277)
      [C:\kmarsden\projects\10.5.3testing\db-derby-10.5.3.0-lib-debug\lib\derbyclient.jar] 10.5.3.0 - (802917)

      I actually found the failure by running derbynetclientmats in this environment and saw it in the forupdate test.

      Attachments

        1. repro.sql
          0.3 kB
          Katherine Marsden

        Activity

          People

            Unassigned Unassigned
            kmarsden Katherine Marsden
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: