Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 15028 invoked from network); 17 Aug 2009 13:39:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Aug 2009 13:39:33 -0000 Received: (qmail 41870 invoked by uid 500); 17 Aug 2009 13:39:39 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 41848 invoked by uid 500); 17 Aug 2009 13:39:39 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 41840 invoked by uid 99); 17 Aug 2009 13:39:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Aug 2009 13:39:39 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Aug 2009 13:39:36 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id EEA0B234C1EB for ; Mon, 17 Aug 2009 06:39:14 -0700 (PDT) Message-ID: <324572348.1250516354976.JavaMail.jira@brutus> Date: Mon, 17 Aug 2009 06:39:14 -0700 (PDT) From: "Rick Hillegas (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-4352) With 10.3 or later client and 10.1 server NullPointerException attempting to execute closed cursor In-Reply-To: <1168104601.1250281994811.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-4352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rick Hillegas updated DERBY-4352: --------------------------------- Summary: With 10.3 or later client and 10.1 server NullPointerException attempting to execute closed cursor (was: With 10.5 client and 10.1 server NullPointerException attempting to execute closed cursor) Changing the description since it appears that this behavior has been in the codeline since 10.3. I find that I get an NPE if the client is 10.3 or later and the server is 10.1. I ran my experiments with a 10.1.3.1 server and various clients. I observed the following results If the client is 10.3.3.0, 10.4.2.0, or 10.5.1.1, then I get an NPE on the final statement. If the client is 10.2.2.0, then I get this error on the final statement: "ERROR XCL16: ResultSet not open. Verify that autocommit is OFF." If the client is 10.1.3.1, then I get this error on the final statement: "ERROR (no SQLState): ResultSet for cursor CURS1 is closed." I am curious about the original experiment: The ij output indicates that the client is at 10.1, not 10.5. Perhaps I am misunderstanding this bug. > With 10.3 or later client and 10.1 server NullPointerException attempting to execute closed cursor > -------------------------------------------------------------------------------------------------- > > Key: DERBY-4352 > URL: https://issues.apache.org/jira/browse/DERBY-4352 > Project: Derby > Issue Type: Bug > Components: Network Client > Affects Versions: 10.5.3.0 > Reporter: Kathey Marsden > Attachments: repro.sql > > > 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. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.