[Mono-bugs] [Bug 31817][Nor] Changed - exceptions not properly handled in therads with mono

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
6 Oct 2002 07:08:59 -0000


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 vladimir@pobox.com.

http://bugzilla.ximian.com/show_bug.cgi?id=31817

--- shadow/31817	Sun Oct  6 01:29:02 2002
+++ shadow/31817.tmp.10503	Sun Oct  6 03:08:59 2002
@@ -1,14 +1,14 @@
 Bug#: 31817
 Product: Mono/Runtime
 Version: unspecified
-OS: 
+OS: unknown
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Normal
 Component: misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: vladimir@pobox.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -64,6 +64,58 @@
 
 Note that while the generated code PEVerify'd correctly under windows, it
 did not run correctly.  It locked as soon as ./bar.exe was started and had
 to be killed from the task manager.  Compiling bar.cs on windows gave the
 desired behaviour; copying the resulting (csc-compiled) assembly back to
 linux gave the same results as the mcs-compiled executable.
+
+------- Additional Comments From vladimir@pobox.com  2002-10-06 03:08 -------
+More info on this:
+
+the following:
+/**startcode**/
+using System;
+using System.Threading;
+using System.Runtime.InteropServices;
+
+class TT {
+    public TT () {
+        tt_thread = new Thread (new ThreadStart (TT_Thread));
+        tt_thread.Name = "foo";
+        tt_thread.Start ();
+    }
+
+    public Thread tt_thread;
+
+    void TT_Thread ()
+    {
+        Thread t = Thread.CurrentThread;
+        if (t == null) {
+                Console.WriteLine ("t is null!");
+        } else {
+                Console.WriteLine ("Self: " + Thread.CurrentThread.Name);
+        }
+    }
+}
+
+class Driver {
+    static TT tt;
+
+    static void Main (string[] args) {
+        Thread.CurrentThread.Name = "main";
+        Console.WriteLine ("Main: " + Thread.CurrentThread.Name);
+        tt = new TT();
+        while (true) {
+        }
+    }
+}
+/**endcode**/
+
+produces:
+
+Main: main
+t is null!
+
+under mono.
+
+Under mint, the correct values are printed.
+