db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5421) NullPointerException during system.nstest.utils.Dbutil.update_one_row
Date Tue, 20 Sep 2011 23:22:09 GMT

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

Mamta A. Satoor commented on DERBY-5421:
----------------------------------------

While we are at it, I think the defensive logic in DbUtil.update_one_row can look as follows
		try {
			
			ps2 = conn.prepareStatement(" update nstesttab set " + column
					+ " = ? " + " where serialkey = " + skey);
			
		} catch (Exception e) {
			printException(
					"closing update prepared stmt in dbUtil.update_one_row() ",
					e);
			if (ps2 != null)
				ps2.close();
			return rowsUpdated;
		}

With this change, even if ps2 is null for some reason, we would not run into NPE and the exception
would be recorded for debugging. The similar error handling exists in DbUtil.pick_one.


> NullPointerException during system.nstest.utils.Dbutil.update_one_row
> ---------------------------------------------------------------------
>
>                 Key: DERBY-5421
>                 URL: https://issues.apache.org/jira/browse/DERBY-5421
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.8.2.1
>         Environment: Windows XP (embedded), SUSE Linux (10) (client/server), both with
ibm 1.6 SR9 FP1
>            Reporter: Myrna van Lunteren
>
> The nstest - both embedded (on Windows XP) and client/server configuration (on SUSE Linux
10) ran into a NullPointerException during the call to update_one_row.
> The test only ran for 5 days, vs. 10.8.1.2 8 days, and I've never seen this error before:
> sample (console) output:
> total memory: 20962816 free: 3036264 Wed Sep 14 00:28:00 PDT 2011
> TObj -->NULL error message detected
> TObj -->Here is the NULL exception - java.lang.NullPointerException
> TObj -->Stack trace of the NULL exception - java.lang.NullPointerException
>         at org.apache.derbyTesting.system.nstest.utils.DbUtil.update_one_row(DbUtil.java:275)
>         at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:162)
>         at org.apache.derbyTesting.system.nstest.tester.Tester2.startTesting(Tester2.java:109)
>         at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:555)
> TObj -->At this point - executing update_one_row, exception thrown was : null
> TObj -->NULL error message detected
> TObj -->Here is the NULL exception - java.lang.NullPointerException
> TObj -->Stack trace of the NULL exception - java.lang.NullPointerException
>         at org.apache.derbyTesting.system.nstest.utils.DbUtil.update_one_row(DbUtil.java:275)
>         at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:162)
>         at org.apache.derbyTesting.system.nstest.tester.Tester1.startTesting(Tester1.java:118)
>         at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:551)
> TObj -->At this point - executing update_one_row, exception thrown was : null
>  
> Looking at the source of nstest.utils.DbUtil.update_one_row it's calling ps2.close():
> ----------------------------
> ....
> 		column = colnames[ind % NUMTYPES]; // randomly gets one of the columns
> 		// of the table
> 		
> 		try {
> 			
> 			ps2 = conn.prepareStatement(" update nstesttab set " + column
> 					+ " = ? " + " where serialkey = " + skey);
> 			
> 		} catch (Exception e) {
> 			ps2.close();
> 			printException(
> 					"closing update prepared stmt in dbUtil.update_one_row() ",
> 					e);
> 			return rowsUpdated;
> 		}
> ....
> ----------------------------
> At first glance, this seems a test issue, but I think it possible the test is hiding
something more interesting, so I'm not marking this as component 'test'.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message