Can somebody who has a reasonably current source tree please try to reproduce this problem for me and tell me if they can replicate my results? thanks, bryan -------- Original Message -------- Subject: Possible new DRDA bug -- can you reproduce? Date: Sat, 26 Nov 2005 16:22:35 -0800 From: Bryan Pendleton While trying to test my fixes for DERBY-614, I think I may have stumbled into an entirely unrelated DRDA protocol bug of some sort. I've backed out my changes for DERBY-614 and I still see this problem, so I don't think I've caused it; however, I might have blown it. :) Below are the steps to reproduce this problem; I'd appreciate it if somebody could have a look and see if they can observe the same problem on their system. thanks, bryan 1) Add the following code to java\testing\org\apache\derbyTesting\functionTests\util\ProcedureTest.java This code adds a new data-loading feature to the bigTestData() method. Index: java/testing/org/apache/derbyTesting/functionTests/util/ProcedureTest.java =================================================================== --- java/testing/org/apache/derbyTesting/functionTests/util/ProcedureTest.java(revision 348831) +++ java/testing/org/apache/derbyTesting/functionTests/util/ProcedureTest.java(working copy) @@ -214,6 +214,13 @@ ps.executeUpdate(); ps.close(); break; + case 9: + String lStringA32672 = new String(Formatters.repeatChar("a",32672)); + String lStringB32672 = new String(Formatters.repeatChar("b",32672)); + String lStringC32672 = new String(Formatters.repeatChar("c",32672)); + String lStringD32672 = new String(Formatters.repeatChar("d",32672)); + insertInBig(conn, lStringA32672, lStringB32672,lStringC32672, lStringD32672); + break; } conn.close(); } 2) Start up the network server and create a database called 'testBig'. 3) Connect with IJ, being sure that a) db2jcc.jar and db2jcc_license_c.jar are in your path b) you are authenticated (-Dij.user=APP -Dij.password=APP in the simple case) 4) Run the following small script: driver 'com.ibm.db2.jcc.DB2Driver'; connect 'jdbc:derby:net://localhost:1527/testBig'; create procedure INSERTDATA1(IN a int) language java parameter style java external name 'org.apache.derbyTesting.functionTests.util.ProcedureTest.bigTestData'; prepare p1 as 'call INSERTDATA1(?)'; drop table big; -- Mix clob and varchar in the table. create table big(c1 clob(32672), c2 varchar(32672), c3 varchar(32672), c4 clob(32672)); execute p1 using 'values 9'; execute p1 using 'values 9'; execute p1 using 'values 9'; get scroll insensitive cursor c1 as 'select * from big'; first c1; quit; In my case, what happens is that I get the following DRDAProtocolException: org.apache.derby.impl.drda.DRDAProtocolException at org.apache.derby.impl.drda.DRDAConnThread.throwSyntaxrm(DRDAConnThread.java:406) at org.apache.derby.impl.drda.DRDAConnThread.invalidValue(DRDAConnThread.java:6783) at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:3506) at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:868) at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:219) According to the server-side traces, the server is choking on the following EXCSQLSTT request from the client: (2005.11.26 14:17:19) Request fill DRDAConnThread_9 5 RECEIVE BUFFER: EXCSQLSTT (ASCII) (EBCDIC) 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 0123456789ABCDEF 0000 0058D05100010052 200B00442113A385 .X.Q...R ..D!... ..}...........te 0010 A2A3C28987404040 4040404040404040 .....@@@@@@@@@@@ stBig 0020 D5E4D3D3C9C44040 4040404040404040 ......@@@@@@@@@@ NULLID 0030 4040E2E8E2E2E3C1 E340404040404040 @@.......@@@@@@@ SYSSTAT 0040 404040405359534C 564C303100070005 @@@@SYSLVL01.... ...<.<...... 0050 2105F100052111F1 0024D0030001001E !....!...$...... ..1....1..}..... 0060 2412001000100676 D01B00040671E4D0 $......v.....q.. ........}.....U} 0070 0001000A147A0000 00008000 .....z...... .....:...... (2005.11.26 14:17:31) Reply flush DRDAConnThread_9 5 SEND BUFFER: SYNTAXRM (ASCII) (EBCDIC) 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 0123456789ABCDEF 0000 001BD00200010015 124C000611490008 .........L...I.. ..}......<...... 0010 0006000C21130005 114A14 ....!....J. ...........