[Mono-bugs] [Bug 41450][Nor] New - System.Runtime.Remoting Bug
bugzilla-daemon@rocky.ximian.com
bugzilla-daemon@rocky.ximian.com
Wed, 16 Apr 2003 12:32:00 -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 yoros@wanadoo.es.
http://bugzilla.ximian.com/show_bug.cgi?id=41450
--- shadow/41450 Wed Apr 16 12:32:00 2003
+++ shadow/41450.tmp.8176 Wed Apr 16 12:32:00 2003
@@ -0,0 +1,89 @@
+Bug#: 41450
+Product: Mono/Class Libraries
+Version: unspecified
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: CORLIB
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: yoros@wanadoo.es
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: System.Runtime.Remoting Bug
+
+I've done an example program for Remoting (based in other two ones posted
+in mono-list). This program crashes a time after it is started. This
+message is writed out in the terminal:
+
+Unhandled Exception: System.NullReferenceException: A null value was found
+where an object instance was required
+in <0x00177> 00 .Runner:Start ()
+in <0x0005b> 01 System.MulticastDelegate:invoke_void ()
+
+The program desn't crash but now the server doesn't work (before that
+message, it worked right). I think that it is due to the finalization of
+the listening thread.
+
+I have seen that XSP shows the same message but it still works after that.
+
+In my remoting program, after looking at the trace output, I can see that
+it crashes because is called
+"System.Runtime.Remoting.Lifetime.LeaseManager:StopManager" method by
+"System.Runtime.Remoting.Lifetime.LeaseManager:ManageLeases". I don't know
+why it is stopping the manager, I think that it must be waiting "forever",
+but calling StopManager wouldn't crash the program.
+
+I saw the trace output of XSP server and I saw that it is affected by the
+bug because AppDomain.CreateDomain uses RemotingServices and XSP calls that
+method.
+
+My system is:
+- CVS version (15-04-2003) of MONO, MINI, MCS, libgc, etc...
+- Debian GNU/Linux Sid
+- Kernel 2.4.19-xfs
+- glibc 2.3.1-16
+- glib 2.2.1-3
+
+
+ Here I send my Remoting example if anyone wants to see the error
+message. For compiling that file you must write:
+
+ mcs -o Server.exe Server.cs -r System.Runtime.Remoting
+
+(if anybody wants me to send the Client.cs, mail me)
+
+ For reproducing the bug it's only needed the server. After compiling,
+execute the server (MONO or MINI) and wait a few minutes. It shows the
+exception message and waits.
+
+The Server.cs code is:
+---------------8<---------------
+using System;
+using System.Runtime.Remoting;
+using System.Runtime.Remoting.Channels;
+using System.Runtime.Remoting.Channels.Tcp;
+
+public class ServerClass {
+
+ public static void Main (string[] args) {
+ Console.WriteLine("Before TcpChannel.");
+ TcpChannel ch = new TcpChannel(4321);
+ Console.WriteLine("Before Register the Channel.");
+ ChannelServices.RegisterChannel(ch);
+ Uri u = new Uri("http://www.example.com", false);
+ Console.WriteLine("Before Marshaling.");
+ RemotingServices.Marshal(u, "URI");
+ Console.WriteLine("After Marshaling, waiting...");
+ Console.ReadLine();
+ ch.StopListening (null);
+ }
+
+}
+---------------8<---------------
+
+That's all now.