ArrayIndexOutOfBoundsException in DDMReader, on a specific data size
--------------------------------------------------------------------

                 Key: DERBY-1533
                 URL: http://issues.apache.org/jira/browse/DERBY-1533
             Project: Derby
          Issue Type: Bug
          Components: Network Server
    Affects Versions: 10.1.3.1, 10.1.2.1
         Environment: --------- Derby Network Server Information --------
Version: CSS10011/10.1.3.1  Build: 417277  DRDA Product Id: CSS10011
-- listing properties --
derby.drda.maxThreads=0
derby.drda.keepAlive=true
derby.drda.minThreads=0
derby.drda.portNumber=1527
derby.drda.logConnections=false
derby.drda.timeSlice=0
derby.drda.startNetworkServer=false
derby.drda.host=localhost
derby.drda.traceAll=false
------------------ Java Information ------------------
Java Version:    1.4.2_08
Java Vendor:     Sun Microsystems Inc.
OS name:         Windows XP
OS architecture: x86
OS version:      5.1
java.specification.name: Java Platform API Specification
java.specification.version: 1.4
--------- Derby Information --------
JRE - JDBC: J2SE 1.4.2 - JDBC 3.0
[C:\dev\derby\lib\derby.jar] 10.1.3.1 - (417277)
[C:\dev\derby\lib\derbytools.jar] 10.1.3.1 - (417277)
[C:\dev\derby\lib\derbynet.jar] 10.1.3.1 - (417277)
------------------------------------------------------
            Reporter: Wiktor Lisowicz


As far as I know, this bug is not related to DERBY-428 bug.
I got this bug both on 10.1.3.1 and 10.1.2.1 - an 
ArrayIndexOutOfBoundsException in DDMReader (in Network Server).

To reproduce the bug:
1. Compile the attached DerbyTest.java
2. Start the Network Server (startNetworkServer.bat under Windows)
3. Run: java DerbyTest

On client side you get:
org.apache.derby.client.am.DisconnectException: The DDM object is not 
supported.  Unsupported DDM object code point: 0x0
        at 
org.apache.derby.client.net.NetConnectionReply.doObjnsprmSemantics(Unknown 
Source)
        at 
org.apache.derby.client.net.NetConnectionReply.parseCommonError(Unknown Source)
        at 
org.apache.derby.client.net.NetStatementReply.parseExecuteError(Unknown Source)
        at 
org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown 
Source)
        at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown 
Source)
        at org.apache.derby.client.net.StatementReply.readExecute(Unknown 
Source)
        at 
org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown Source)
        at org.apache.derby.client.am.PreparedStatement.readExecute(Unknown 
Source)
        at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown 
Source)
        at org.apache.derby.client.am.PreparedStatement.executeX(Unknown Source)
        at org.apache.derby.client.am.PreparedStatement.execute(Unknown Source)
        at DerbyTest.main(DerbyTest.java:479)

On server side you get:
java.lang.ArrayIndexOutOfBoundsException
        at java.lang.System.arraycopy(Native Method)
        at org.apache.derby.impl.drda.DDMReader.compressBLayerData(Unknown 
Source)
        at 
org.apache.derby.impl.drda.DDMReader.ensureBLayerDataInBuffer(Unknown Source)
        at org.apache.derby.impl.drda.DDMReader.readNetworkShort(Unknown Source)
        at org.apache.derby.impl.drda.DDMReader.readLDStringData(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.readAndSetParams(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.parseSQLDTA_work(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.parseSQLDTA(Unknown Source)
        at 
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
agentThread[DRDAConnThread_11,5,main]
null
java.lang.ArrayIndexOutOfBoundsException
        at java.lang.System.arraycopy(Native Method)
        at org.apache.derby.impl.drda.DDMReader.compressBLayerData(Unknown 
Source)
        at 
org.apache.derby.impl.drda.DDMReader.ensureBLayerDataInBuffer(Unknown Source)
        at org.apache.derby.impl.drda.DDMReader.readNetworkShort(Unknown Source)
        at org.apache.derby.impl.drda.DDMReader.readLDStringData(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.readAndSetParams(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.parseSQLDTA_work(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.parseSQLDTA(Unknown Source)
        at 
org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(Unknown Source)
        at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown 
Source)
        at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)


-- 
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

        

Reply via email to