[ http://issues.apache.org/jira/browse/DERBY-128?page=comments#action_12312611 ]
Kathey Marsden commented on DERBY-128:
--------------------------------------
I committed the Network Server part of this patch.
Sending drda\DRDAConnThread.java
Transmitting file data .
Committed revision 179927
> Network Server Gives NPE if SQLException has null arguments (e.g. for ERROR XBM0H)
> ------------------------------------------------------------------------------------
>
> Key: DERBY-128
> URL: http://issues.apache.org/jira/browse/DERBY-128
> Project: Derby
> Type: Bug
> Components: Network Server
> Versions: 10.0.2.1
> Environment: Linux
> Reporter: Kathey Marsden
> Assignee: Dyre Tjeldvoll
> Priority: Minor
> Attachments: derby-128.178332.diff, derby-128.178332.stat, derbyall_report.txt
>
> Network server
> Network Server throws an NPE because one of the arguments of the SQLException is null.
It shouldn't do so.
> To reproduce try to create a database in the root directory on Linux. Do not run in
security manager. The trace below came from an extra '/' in the url in NSinSameJVM.java
> The issues are:
> 1) Network Server throws an NPE because one of the arguments of the SQLException is
null in this code. It shouldn't do so.
> // arguments are variable part of a message
> Object[] args = ce.getArguments();
> for (int i = 0; args != null && i < args.length; i++)
> sqlerrmc += args[i].toString() + separator;
>
> 2) This exception seems to have null arguments which doesn't seem right.
> ERROR XBM0H: Directory /NSinSameJVMTestDB cannot be created.
> ERROR XBM0H: Directory /NSinSameJVMTestDB cannot be created.
> at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:322)
> at org.apache.derby.impl.services.monitor.PersistentServiceImpl$8.run(PersistentServiceImpl.java:668)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.apache.derby.impl.services.monitor.PersistentServiceImpl.createServiceRoot(PersistentServiceImpl.java:632)
> at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1756)
> at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(BaseMonitor.java:1018)
> at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Monitor.java:578)
> at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(EmbedConnection.java:1504)
> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:215)
> at org.apache.derby.impl.jdbc.EmbedConnection20.<init>(EmbedConnection20.java:56)
> at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
> at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
> at org.apache.derby.jdbc.Driver169.connect(Driver169.java:175)
> at org.apache.derby.impl.drda.Database.makeConnection(Database.java:245)
> at org.apache.derby.impl.drda.DRDAConnThread.getConnFromDatabaseName(DRDAConnThread.java:1160)
> at org.apache.derby.impl.drda.DRDAConnThread.verifyUserIdPassword(DRDAConnThread.java:1138)
> at org.apache.derby.impl.drda.DRDAConnThread.parseSECCHK(DRDAConnThread.java:2613)
> at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(DRDAConnThread.java:1001)
> at org.apache.derby.impl.drda.DRDAConnThread.exchangeServerAttributes(DRDAConnThread.java:950)
> at org.apache.derby.impl.drda.DRDAConnThread.sessionInitialState(DRDAConnThread.java:563)
> at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:219)
> Cleanup action completed
> 2005-01-21 01:12:12.794 GMT Thread[DRDAConnThread_2,5,derby.daemons] (DATABASE = /NSinSameJVMTestDB),
(DRDAID = {2}), Failed to create database '/NSinSameJVMTestDB', see the next exception for
details.
> 2005-01-21 01:12:12.795 GMT Thread[DRDAConnThread_2,5,derby.daemons] (DATABASE = /NSinSameJVMTestDB),
(DRDAID = {2}), Directory /NSinSameJVMTestDB cannot be created.
> 2005-01-21 01:12:12.816 GMT Thread[DRDAConnThread_2,5,derby.daemons] (DATABASE = /NSinSameJVMTestDB),
(DRDAID = NF000001.A9FB-4124733202448020360{2}), Failed to create database '/NSinSameJVMTestDB',
see the next exception for details.
> 2005-01-21 01:12:12.816 GMT Thread[DRDAConnThread_2,5,derby.daemons] (DATABASE = /NSinSameJVMTestDB),
(DRDAID = NF000001.A9FB-4124733202448020360{2}), null
> null
> java.lang.NullPointerException
> at org.apache.derby.impl.drda.DRDAConnThread.writeSQLCAGRP(DRDAConnThread.java:5076)
> at org.apache.derby.impl.drda.DRDAConnThread.writeSQLCARD(DRDAConnThread.java:4882)
> at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(DRDAConnThread.java:1042)
> at org.apache.derby.impl.drda.DRDAConnThread.exchangeServerAttributes(DRDAConnThread.java:950)
> at org.apache.derby.impl.drda.DRDAConnThread.sessionInitialState(DRDAConnThread.java:563)
> at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:219)
> null
> java.lang.NullPointerException
> at org.apache.derby.impl.drda.DRDAConnThread.writeSQLCAGRP(DRDAConnThread.java:5076)
> at org.apache.derby.impl.drda.DRDAConnThread.writeSQLCARD(DRDAConnThread.java:4882)
> at org.apache.derby.impl.drda.DRDAConnThread.parseDRDAConnection(DRDAConnThread.java:1042)
> at org.apache.derby.impl.drda.DRDAConnThread.exchangeServerAttributes(DRDAConnThread.java:950)
> at org.apache.derby.impl.drda.DRDAConnThread.sessionInitialState(DRDAConnThread.java:563)
> at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:219)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
|