Return-Path: Delivered-To: apmail-ws-axis-c-dev-archive@www.apache.org Received: (qmail 47521 invoked from network); 17 Mar 2006 17:13:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 17 Mar 2006 17:13:48 -0000 Received: (qmail 72342 invoked by uid 500); 17 Mar 2006 17:13:48 -0000 Delivered-To: apmail-ws-axis-c-dev-archive@ws.apache.org Received: (qmail 72321 invoked by uid 500); 17 Mar 2006 17:13:48 -0000 Mailing-List: contact axis-c-dev-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: "Apache AXIS C Developers List" Reply-To: "Apache AXIS C Developers List" Delivered-To: mailing list axis-c-dev@ws.apache.org Received: (qmail 72297 invoked by uid 99); 17 Mar 2006 17:13:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Mar 2006 09:13:47 -0800 X-ASF-Spam-Status: No, hits=0.5 required=10.0 tests=DNS_FROM_RFC_ABUSE,HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of HAWKINSJ@uk.ibm.com designates 195.212.29.134 as permitted sender) Received: from [195.212.29.134] (HELO mtagate1.uk.ibm.com) (195.212.29.134) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Mar 2006 09:13:46 -0800 Received: from d06nrmr1407.portsmouth.uk.ibm.com (d06nrmr1407.portsmouth.uk.ibm.com [9.149.38.185]) by mtagate1.uk.ibm.com (8.12.10/8.12.10) with ESMTP id k2HHDPnk159074 for ; Fri, 17 Mar 2006 17:13:25 GMT Received: from d06av02.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by d06nrmr1407.portsmouth.uk.ibm.com (8.12.10/NCO/VER6.8) with ESMTP id k2HHDk74223280 for ; Fri, 17 Mar 2006 17:13:46 GMT Received: from d06av02.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av02.portsmouth.uk.ibm.com (8.12.11/8.13.3) with ESMTP id k2HHDOjO016472 for ; Fri, 17 Mar 2006 17:13:24 GMT Received: from d06ml068.portsmouth.uk.ibm.com (d06ml068.portsmouth.uk.ibm.com [9.149.38.194]) by d06av02.portsmouth.uk.ibm.com (8.12.11/8.12.11) with ESMTP id k2HHDOYE016467 for ; Fri, 17 Mar 2006 17:13:24 GMT In-Reply-To: To: "Apache AXIS C Developers List" Subject: Re: monitor changes causing hang? MIME-Version: 1.0 X-Mailer: Lotus Notes Release 7.0 HF85 November 04, 2005 From: John Hawkins X-MIMETrack: S/MIME Sign by Notes Client on John Hawkins/UK/IBM(Release 7.0 HF85|November 04, 2005) at 17/03/2006 17:13:03, Serialize by Notes Client on John Hawkins/UK/IBM(Release 7.0 HF85|November 04, 2005) at 17/03/2006 17:13:03, Serialize complete at 17/03/2006 17:13:03, S/MIME Sign failed at 17/03/2006 17:13:03: The cryptographic key was not found, Serialize by Router on D06ML068/06/M/IBM(Release 6.53HF247 | January 6, 2005) at 17/03/2006 17:13:45, Serialize complete at 17/03/2006 17:13:45 Message-ID: Date: Fri, 17 Mar 2006 17:13:44 +0000 Content-Type: multipart/alternative; boundary="=_alternative 005E943580257134_=" X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multipart message in MIME format. --=_alternative 005E943580257134_= Content-Type: text/plain; charset="US-ASCII" Oh ! And I just remembered - there appears to be a case when the connection is closed (e.g. by SimpleAxisServer) where the monitor doesn't close the conn and the client timeouts - I'm just looking into this now as it's hitting me. But this has always been the case so is not a new "feature" ;-) John Hawkins/UK/IBM@IBMGB 17/03/2006 17:08 Please respond to "Apache AXIS C Developers List" To "Apache AXIS C Developers List" cc Subject Re: monitor changes causing hang? 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 17/03/2006 16:59 Please respond to "Apache AXIS C Developers List" To "Apache AXIS C Developers List" 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 = [exec] MockServerThread#run():Got an envelope [exec] Constructing org.apache.test.ResponseSender [exec] -------------------------------MockServer new request--------------------------------- [exec] MockServerThread#run(): Going round again java.io.BufferedReader@8f9c22ff [exec] ResponseSender: Sent response To Client [exec] About to go around again [exec] MockServerThread#run(): Got some more bytes 613 [exec] MockServerThread#run():EnvelopeString = [exec] MockServerThread#run():Got an envelope [exec] Constructing org.apache.test.ResponseSender [exec] -------------------------------MockServer new request--------------------------------- [exec] MockServerThread#run(): Going round again java.io.BufferedReader@8f9c22ff [exec] ResponseSender: Sent response To Client [exec] About to go around again [exec] MockServerThread#run(): Got some more bytes 603 [exec] MockServerThread#run():EnvelopeString = [exec] MockServerThread#run():Got an envelope [exec] Constructing org.apache.test.ResponseSender [exec] -------------------------------MockServer new request--------------------------------- [exec] MockServerThread#run(): Going round again java.io.BufferedReader@8f9c22ff [exec] ResponseSender: Sent response To Client [exec] About to go around again [exec] MockServerThread#run(): Got some more bytes 656 [exec] MockServerThread#run():EnvelopeString = [exec] MockServerThread#run():Got an envelope [exec] Constructing org.apache.test.ResponseSender [exec] -------------------------------MockServer new request--------------------------------- [exec] MockServerThread#run(): Going round again java.io.BufferedReader@8f9c22ff [exec] ResponseSender: Sent response To Client [exec] About to go around again [exec] MockServerThread#run(): Got some more bytes 642 [exec] MockServerThread#run():EnvelopeString = [exec] MockServerThread#run():Got an envelope [exec] Constructing org.apache.test.ResponseSender [exec] -------------------------------MockServer new request--------------------------------- [exec] MockServerThread#run(): Going round again java.io.BufferedReader@8f9c22ff [exec] ResponseSender: Sent response To Client [exec] About to go around again [exec] MockServerThread#run(): Got some more bytes 651 [exec] MockServerThread#run():EnvelopeString = [exec] MockServerThread#run():Got an envelope [exec] Constructing org.apache.test.ResponseSender [exec] -------------------------------MockServer new request--------------------------------- [exec] MockServerThread#run(): Going round again java.io.BufferedReader@8f9c22ff [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 --=_alternative 005E943580257134_= Content-Type: text/html; charset="US-ASCII"
Oh ! And I just remembered - there appears to be a case when the connection is closed (e.g. by SimpleAxisServer) where the monitor doesn't close the conn and the client timeouts - I'm just looking into this now as it's hitting me. But this has always been the case so is not a new "feature" ;-)




John Hawkins/UK/IBM@IBMGB

17/03/2006 17:08
Please respond to
"Apache AXIS C Developers List" <axis-c-dev@ws.apache.org>

To
"Apache AXIS C Developers List" <axis-c-dev@ws.apache.org>
cc
Subject
Re: monitor changes causing hang?






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 <amra@us.ibm.com>

17/03/2006 16:59
Please respond to
"Apache AXIS C Developers List" <axis-c-dev@ws.apache.org>

To
"Apache AXIS C Developers List" <axis-c-dev@ws.apache.org>
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
java.io.BufferedReader@8f9c22ff
      [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
java.io.BufferedReader@8f9c22ff
      [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
java.io.BufferedReader@8f9c22ff
      [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
java.io.BufferedReader@8f9c22ff
      [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
java.io.BufferedReader@8f9c22ff
      [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
java.io.BufferedReader@8f9c22ff
      [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


--=_alternative 005E943580257134_=--