John, Is there any reason to do "socket.setReuseAddress(true);" on client sockets? The client sockets do not explicity bind to any address so I do not think that setReuseAddress() is appropriate, and I am not even sure what the ramifications are in invoking this method. I am going to test commenting this out but was wondering if there was a reason behind the call.
Nadir K. Amra John Hawkins <[EMAIL PROTECTED]> wrote on 03/17/2006 11:08:08 AM: > > hi Ndair, > > the recent changes weren't for chunk sizes (to my knowledge) that's > been in for ages. The changes were all about closing the sockets > down correctly and, ensuring that they were created a litlle bit > smarter e.g reuseaddr(true). > > We've run the tests on aix, win and linux yesterday and it worked fine. > > I would suggest you look at how many sockets are open and see if > many are in the wait state or such like. "netstat 1" was very > helpful when I was doing this work ! > > > cheers, > John. > > > > Nadir Amra <[EMAIL PROTECTED]> > 17/03/2006 16:59 > > Please respond to > "Apache AXIS C Developers List" <[email protected]> > > To > > "Apache AXIS C Developers List" <[email protected]> > > cc > > Subject > > monitor changes causing hang? > > > > > I am having problems running testcases since the changes to > tests/utils/monitor code a few days ago to handle chunk size errors. > Basically as the unit test bucket is being run, it eventually hangs with > the following information: > > startMockServer: > [echo] Starting mockserver > [echo] testport = 3260 > [java] Constructing org.apache.test.MockServer > [java] Information - Response file is chunked. > [java] Warning: Chunksize is not correct > [java] chunk.length = 511 > [java] ChunkSize = 513 > [java] chunkString 201 > > [java] Warning: Chunksize is not correct. Attempting to correct > with additional \r\n > [java] Attempt to correct the chunksize failed > [java] Information - Response file is chunked. > [java] Warning: Chunksize is not correct > [java] chunk.length = 497 > [java] ChunkSize = 499 > [java] chunkString 1f3 > > [java] Warning: Chunksize is not correct. Attempting to correct > with additional \r\n > [java] Attempt to correct the chunksize failed > [java] Information - Response file is chunked. > [java] Warning: Chunksize is not correct > [java] chunk.length = 472 > [java] ChunkSize = 474 > [java] chunkString 1da > > [java] Warning: Chunksize is not correct. Attempting to correct > with additional \r\n > [java] Attempt to correct the chunksize failed > [java] Information - Response file is chunked. > [java] Warning: Chunksize is not correct > [java] chunk.length = 515 > [java] ChunkSize = 517 > [java] chunkString 205 > > [java] Warning: Chunksize is not correct. Attempting to correct > with additional \r\n > [java] Attempt to correct the chunksize failed > [java] Information - Response file is chunked. > [java] Warning: Chunksize is not correct > [java] chunk.length = 524 > [java] ChunkSize = 526 > [java] chunkString 20e > > [java] Warning: Chunksize is not correct. Attempting to correct > with additional \r\n > [java] Attempt to correct the chunksize failed > [java] Information - Response file is chunked. > [java] Warning: Chunksize is not correct > [java] chunk.length = 534 > [java] ChunkSize = 536 > [java] chunkString 218 > > [java] Warning: Chunksize is not correct. Attempting to correct > with additional \r\n > [java] Attempt to correct the chunksize failed > [java] MockServer got 6 responses > MockServer listening on port: 3260 > Returning Output file: > /home/amra/axis/L1.1.0/src/ws-axis/c/../../.. > /obj/test/generated/cpp/UnitTest_XSD_dateTime/UnitTest_XSD_da > teTimeServerResponse.expected > Mockserver#run(): About to wait for incoming client request > > startMonitor: > [echo] Starting monitor forwarding to localhost:3260 > [java] TCPMonitor Listening on port 13260 > [java] Constructing org.apache.test.TCPMonitor > [java] Constructing org.apache.test.TestClientListener > [echo] Running Test UnitTest_XSD_dateTime > http://127.0.0.1:13260/axis/XSD_dateTime > TestClientListener#run(): Waiting for a new client request > [exec] TestClientListener#run():Got a client new client request > > [exec] Constructing org.apache.test.TestClientThread > [exec] Mockserver#run(): Got a new client request > [exec] Constructing org.apache.test.MockServerThread > [exec] Constructing org.apache.test.ClientReturner > > [exec] MockServerThread(): entry > [exec] MockServerThread#run():About to wait for stop msg > [exec] ----------------------------------MockServer Thread new > Request------------------------ > [exec] MockServerThread#run(): Got some bytes: 8 > [exec] TestClientListener#run(): Waiting for a new client request > > [exec] MockServerThread#run(): Got some bytes: 14 > [exec] Got message POST /axis/XSD_dateTim > [exec] MockServerThread(): exit > [exec] Mockserver#run(): About to wait for incoming client request > > [exec] MockServerThread#run(): About to wait on the inputstream > > [exec] MockServerThread#run(): Got some more bytes 603 > [exec] MockServerThread#run():EnvelopeString = > </SOAP-ENV:Envelope> > > > [exec] MockServerThread#run():Got an envelope > [exec] Constructing org.apache.test.ResponseSender > [exec] -------------------------------MockServer new > request--------------------------------- > [exec] MockServerThread#run(): Going round again > [EMAIL PROTECTED] > [exec] ResponseSender: Sent response To Client > [exec] About to go around again > [exec] MockServerThread#run(): Got some more bytes 613 > [exec] MockServerThread#run():EnvelopeString = > </SOAP-ENV:Envelope> > > > [exec] MockServerThread#run():Got an envelope > [exec] Constructing org.apache.test.ResponseSender > [exec] -------------------------------MockServer new > request--------------------------------- > [exec] MockServerThread#run(): Going round again > [EMAIL PROTECTED] > [exec] ResponseSender: Sent response To Client > [exec] About to go around again > [exec] MockServerThread#run(): Got some more bytes 603 > [exec] MockServerThread#run():EnvelopeString = > </SOAP-ENV:Envelope> > [exec] MockServerThread#run():Got an envelope > [exec] Constructing org.apache.test.ResponseSender > [exec] -------------------------------MockServer new > request--------------------------------- > [exec] MockServerThread#run(): Going round again > [EMAIL PROTECTED] > [exec] ResponseSender: Sent response To Client > [exec] About to go around again > [exec] MockServerThread#run(): Got some more bytes 656 > [exec] MockServerThread#run():EnvelopeString = > </SOAP-ENV:Envelope> > > > [exec] MockServerThread#run():Got an envelope > [exec] Constructing org.apache.test.ResponseSender > [exec] -------------------------------MockServer new > request--------------------------------- > [exec] MockServerThread#run(): Going round again > [EMAIL PROTECTED] > [exec] ResponseSender: Sent response To Client > [exec] About to go around again > [exec] MockServerThread#run(): Got some more bytes 642 > [exec] MockServerThread#run():EnvelopeString = > </SOAP-ENV:Envelope> > > > [exec] MockServerThread#run():Got an envelope > [exec] Constructing org.apache.test.ResponseSender > [exec] -------------------------------MockServer new > request--------------------------------- > [exec] MockServerThread#run(): Going round again > [EMAIL PROTECTED] > [exec] ResponseSender: Sent response To Client > [exec] About to go around again > [exec] MockServerThread#run(): Got some more bytes 651 > [exec] MockServerThread#run():EnvelopeString = > </SOAP-ENV:Envelope> > > > [exec] MockServerThread#run():Got an envelope > [exec] Constructing org.apache.test.ResponseSender > [exec] -------------------------------MockServer new > request--------------------------------- > [exec] MockServerThread#run(): Going round again > [EMAIL PROTECTED] > [exec] ResponseSender: Sent response To Client > [exec] About to go around again > [stopwatch] [UnitTest_XSD_dateTime.timer: 0.451 sec] > [echo] UnitTest_XSD_dateTime - Execution Time - 0.451 sec > > stopMonitor: > [java] StopTCPMonitor#stopMonitor(): Sending stop message to > monitor > [java] TestClientListener#run():Got a client new client request > [java] Constructing org.apache.test.TestClientThread > [java] Closing org.apache.test.TestClientThread > [java] Closed org.apache.test.TestClientThread > [java] TestClientListener got a Stop monitor message > [java] TCPMonitor#close(): Flushing and closing the output files > > [java] About to call super.close > [java] Closing org.apache.test.TCPMonitor > [java] Closing org.apache.test.TestClientListener > [java] Closing org.apache.test.TestClientThread > > And that is where it hangs. Any clues? > > Nadir K. Amra >
