[Mono-bugs] [Bug 61184][Nor] New - XmlRpcCS client/server interaction hangs when using Mono
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Mon, 5 Jul 2004 20:49:07 -0400 (EDT)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by mattb@columbia.edu.
http://bugzilla.ximian.com/show_bug.cgi?id=61184
--- shadow/61184 2004-07-05 20:49:07.000000000 -0400
+++ shadow/61184.tmp.2120 2004-07-05 20:49:07.000000000 -0400
@@ -0,0 +1,116 @@
+Bug#: 61184
+Product: Mono: Class Libraries
+Version: unspecified
+OS:
+OS Details: OS X 10.3.4: Darwin localhost.local 7.4.0 Darwin Kernel Version 7.4.0: Wed May 12 16:58:24 PDT 2004; root:xnu/xnu-517.7.7.obj~7/RELEASE_PPC Power Macintosh powerpc
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: Sys.XML
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: mattb@columbia.edu
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: XmlRpcCS client/server interaction hangs when using Mono
+
+================================
+Description of Problem:
+
+XmlRpcCS hangs when using XmlRpcClientProxy on mono on non Windows platforms.
+
+Okay, I know there are like six dependencies other than Mono here (and I've
+already informed Nicholas Christopher, the author of XmlRpcCS), but I
+figure it might be helpful to bring this up.
+
+================================
+Steps to reproduce the problem:
+
+1. Compile the attached file test.cs with XmlRpcCS 1.10 (found at
+http://opaque.ods.org/XmlRpcCS/) on a non windows platform (I'm using OS X
+10.3.4 with mono 0.91 from fink):
+
+ mcs -out:xmlrpccs.dll -target:library XmlRpcCS/src/nwc/xmlrpc/*.cs
+ mcs -out:test.exe -reference:xmlrpccs.dll test.cs
+
+2. Run test.exe with no arguments to run the server on port 5050 (this will
+block):
+
+ mono test.exe
+
+3. Run test.exe with a command to run the client:
+
+ mono test.exe test
+ mono test.exe halt
+
+Alternatively, if you're running a sniffer like tcpmon
+(http://ws.apache.org/axis/java/user-guide.html), you can tell the client
+to connect to a different port by specifying it as a second command line
+argument:
+
+ mono test.exe test 5051
+ mono test.exe halt 5051
+
+================================
+Expected Results:
+
+After issuing the test command from the client, the server should print to
+stderr:
+
+ test() called
+
+After issuing the halt command from the client, the server should print to
+stderr:
+
+ halt() called
+
+It should then exit with an exception.
+
+================================
+Actual Results:
+
+After issuing the command, both the client and the server hang. I looked at
+the stuff going over the wire via tcpmon, and I saw that the client was
+sending (what looked like) good data:
+
+ POST / HTTP/1.1
+ Content-Type: text/xml
+ Content-Length: 112
+ Expect: 100-continue
+ Connection: keep-alive
+ Host: 127.0.0.1
+
+
+ <?xml version="1.0"
+encoding="us-ascii"?><methodCall><methodName>tester.test</methodName><params
+/></methodCall>
+
+But there was no response from the server until I killed the client, but
+then the server's response was incomplete:
+
+ HTTP/1.1 200 OK
+ Connection: close
+ Server: XmlRpcServer
+ Content-Type: text/xml
+
+
+Just before it issues the incomplete response, it does in fact print the
+desired message (but only after I kill the client):
+
+ test() called
+
+Again, I believe this is a mono issue (at least on OS X), but I could be
+blatantly off my rocker here.
+
+================================
+How often does this happen?
+
+Every single time.
+
+================================
+Additional Information:
+
+None that I can think of, but I'm kind of slow, so I wouldn't be surprised
+if there was something I missed....