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

Knut Anders Hatlen updated DERBY-4873:
--------------------------------------

    Attachment: logMsg.diff

The NPE is raised at BaseDataFileFactory.java:471, which looks like this:

    istream.println(LINE);

I don't know why istream is null here with the IBM VM, but I think this line is 
buggy, or at least not consistent with how printing to istream happens in the 
rest of the file. Normally, the helper method logMsg() is used, which checks if 
istream is null before calling println(), and initializes the field if 
necessary.

The attached patch logMsg.diff makes BaseDataFileFactory.stop() use the helper 
method too.
Committed revision 1028633.

This should at least take care of the NPE, but I don't know if it is enough to 
make the test pass on that platform.

> NullPointerException in testBoundaries with ibm jvm 1.6 
> --------------------------------------------------------
>
>                 Key: DERBY-4873
>                 URL: https://issues.apache.org/jira/browse/DERBY-4873
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.7.1.0
>         Environment: Windows XP with ibm jvm 1.6 SR8
>            Reporter: Myrna van Lunteren
>         Attachments: derby.log, logMsg.diff
>
>
> With the line skipping the testBoundaries fixture of the 
> InternationalConnectTest commented out, I get the following stack when I run 
> the test with ibm 1.6:
> 1) 
> testBoundaries(org.apache.derbyTesting.functionTests.tests.jdbcapi.InternationalConnectTest)java.sql.SQLException:
>  DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC: 
> java.lang.NullPointerExceptionXJ001.U
>       at 
> org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:96)
>       at 
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:358)
>       at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:149)
>       at java.sql.DriverManager.getConnection(DriverManager.java:322)
>       at java.sql.DriverManager.getConnection(DriverManager.java:273)
>       at 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.InternationalConnectTest.testBoundaries(InternationalConnectTest.java:111)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:109)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>       at junit.extensions.TestSetup.run(TestSetup.java:23)
>       at 
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>       at junit.extensions.TestSetup.run(TestSetup.java:23)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
>       at junit.extensions.TestSetup.run(TestSetup.java:23)
>       at 
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: SQLCODE: 
> -1, SQLSTATE: XJ001, SQLERRMC: java.lang.NullPointerExceptionXJ001.U
>       at 
> org.apache.derby.client.am.Connection.completeSqlca(Connection.java:2117)
>       at 
> org.apache.derby.client.net.NetConnectionReply.parseRdbAccessFailed(NetConnectionReply.java:541)
>       at 
> org.apache.derby.client.net.NetConnectionReply.parseAccessRdbError(NetConnectionReply.java:434)
>       at 
> org.apache.derby.client.net.NetConnectionReply.parseACCRDBreply(NetConnectionReply.java:297)
>       at 
> org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(NetConnectionReply.java:121)
>       at 
> org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessRdb(NetConnection.java:846)
>       at 
> org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessRdb(NetConnection.java:769)
>       at 
> org.apache.derby.client.net.NetConnection.flowUSRIDONLconnect(NetConnection.java:601)
>       at 
> org.apache.derby.client.net.NetConnection.flowConnect(NetConnection.java:408)
>       at 
> org.apache.derby.client.net.NetConnection.<init>(NetConnection.java:218)
>       at 
> org.apache.derby.client.net.NetConnection40.<init>(NetConnection40.java:77)
>       at 
> org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(ClientJDBCObjectFactoryImpl40.java:269)
>       at org.apache.derby.jdbc.ClientDriver.connect(ClientDriver.java:140)
>       ... 35 more
> This is after the latest check in for DERBY-4836 (revision 1028035).
> I'll attach derby.log.

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

Reply via email to