[Mono-bugs] [Bug 74081][Nor] New - Mono unable to act as remoting server on Win2K across real network (non-localhost) interfaces
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Thu, 24 Mar 2005 17:50:35 -0500 (EST)
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 ravitch@nrtc.northrop.com.
http://bugzilla.ximian.com/show_bug.cgi?id=74081
--- shadow/74081 2005-03-24 17:50:35.000000000 -0500
+++ shadow/74081.tmp.21375 2005-03-24 17:50:35.000000000 -0500
@@ -0,0 +1,115 @@
+Bug#: 74081
+Product: Mono: Class Libraries
+Version: 1.1
+OS: other
+OS Details: Windows 2000
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: System
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: ravitch@nrtc.northrop.com
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Mono unable to act as remoting server on Win2K across real network (non-localhost) interfaces
+
+Description of Problem:
+
+Mono's remoting hangs or prematurely closes the connection when running
+a server on Windows 2000. The problem only happens when the connection
+is across a network. I.e., when both client and server are on the same
+machine, everything works.
+
+With the TCP transport, the server closes the connection almost instantly.
+(Looking at a packet dump, you can see the RST instead of a response.)
+
+With the HTTP transport, the server appears to just not answer.
+
+Steps to reproduce the problem:
+1. Edit client.conf so that your server host is given in the URL.
+2. Run server.exe under Mono on the server. The server should be
+ a Windows 2000 machine.
+3. Run client.exe under Mono on the client. The client machine can
+ run any operating system (well, I've tried Win2K and Fedora Core 3)
+
+Actual Results:
+
+[NOTE: These results are with TCP as the transport - with HTTP as the
+transport you eventually get a timeout exception from the client]
+
+---- BEGIN CLIENT OUTPUT ----
+Client: Creating object
+
+Unhandled Exception: System.Runtime.Remoting.RemotingException: Tcp
+transport error.
+
+Server stack trace:
+in <0x00084>
+System.Runtime.Remoting.Channels.Tcp.TcpMessageIO:ReceiveMessageStatus
+(System.IO.Stream,byte[])
+in <0x00186>
+System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink:ProcessMessage
+(System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream,System.Runtime.Remoting.Channels.ITransportHeaders&,System.IO.Stream&)
+in <0x0006b>
+System.Runtime.Remoting.Channels.SoapClientFormatterSink:SyncProcessMessage
+(System.Runtime.Remoting.Messaging.IMessage)
+in <0x002ee> System.Runtime.Remoting.Proxies.RemotingProxy:Invoke
+(System.Runtime.Remoting.Messaging.IMessage)
+in <0x002cf> System.Runtime.Remoting.Proxies.RealProxy:PrivateInvoke
+(System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&)
+
+
+Exception rethrown at [0]:
+ ---> System.Runtime.Remoting.RemotingException: Connection closed
+in <0x0006e> System.Runtime.Remoting.Channels.Tcp.TcpMessageIO:StreamRead
+(System.IO.Stream,byte[],int)
+in <0x00044>
+System.Runtime.Remoting.Channels.Tcp.TcpMessageIO:ReceiveMessageStatus
+(System.IO.Stream,byte[])
+--- End of inner exception stack trace ---
+
+in <0x00084>
+System.Runtime.Remoting.Channels.Tcp.TcpMessageIO:ReceiveMessageStatus
+(System.IO.Stream,byte[])
+in <0x00186>
+System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink:ProcessMessage
+(System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream,System.Runtime.Remoting.Channels.ITransportHeaders&,System.IO.Stream&)
+in <0x0006b>
+System.Runtime.Remoting.Channels.SoapClientFormatterSink:SyncProcessMessage
+(System.Runtime.Remoting.Messaging.IMessage)
+in <0x002ee> System.Runtime.Remoting.Proxies.RemotingProxy:Invoke
+(System.Runtime.Remoting.Messaging.IMessage)
+in <0x002cf> System.Runtime.Remoting.Proxies.RealProxy:PrivateInvoke
+(System.Runtime.Remoting.Proxies.RealProxy,System.Runtime.Remoting.Messaging.IMessage,System.Exception&,object[]&)
+---- END CLIENT OUTPUT ----
+
+There's no output from the server.
+
+Expected Results:
+
+---- BEGIN CLIENT OUTPUT ----
+Client: Creating object
+Client: Asking object to say "hello"
+Client: ALL DONE!
+---- END CLIENT OUTPUT -----
+
+---- BEGIN SERVER OUTPUT -----
+Press [Enter] to stop server.
+RemoteObject: New object created
+Hello, World!
+---- END SERVER OUTPUT -----
+
+How often does this happen?
+
+Always.
+
+Additional Information:
+
+The sample code has been tested with the server on Mono under Linux as
+well as on MS .Net Framework under Windows 2000. In all such cases, it
+runs successfully.
+
+(Will add sample code as attachments)