[Mono-bugs] [Bug 75729][Nor] Changed - Thread lock causing problems with the X layer interface

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Dec 21 06:48:39 EST 2005

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 peter at novonyx.com.


--- shadow/75729	2005-09-22 16:56:36.000000000 -0400
+++ shadow/75729.tmp.21971	2005-12-21 06:48:39.000000000 -0500
@@ -266,6 +266,62 @@
      for(int i = 0; i < s.Length; i++)
+------- Additional Comments From peter at novonyx.com  2005-12-21 06:48 -------
+Jackson, when running this on Windows, I die instantly because the 
+mutex was created by a different thread than the thread that's 
+calling AsyncMethodResult::Complete. When running on linux, the code 
+dies in the same line (the handle.ReleaseMutex() in 
+AsyncMethodResult), but after running for a several seconds. See 
+stack trace below. It seems that on Linux we end up with a null 
+We already talked about this code before, moving the ReleaseMutex 
+into the owning thread, I figure the code in this bug might help.
+Here the stack trace:
+pbartok2:/swf/winforms/bug # mono --debug bug.exe
+Mono System.Windows.Forms Assembly [Revision: 54007; built: 2005/12/6 
+Keyboard: United States keyboard layout (phantom key version)
+Gtk colorscheme read
+Unhandled Exception: System.NullReferenceException: Object reference 
+not set to an instance of an object
+in [0x00017] 
+(at /swf/mcs/class/Managed.Windows.Forms/System.Windows.Forms/AsyncMet
+hodResult.cs:80) System.Windows.Forms.AsyncMethodResult:Complete 
+(System.Object result)
+in [0x00062] 
+(at /swf/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUID
+(GCHandle gchandle)
+in [0x00d6c] 
+(at /swf/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX
+11.cs:2863) System.Windows.Forms.XplatUIX11:GetMessage 
+(System.Windows.Forms.MSG msg, IntPtr handle, Int32 wFilterMin, Int32 
+in [0x00009] 
+(at /swf/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.
+cs:451) System.Windows.Forms.XplatUI:GetMessage 
+(System.Windows.Forms.MSG msg, IntPtr hWnd, Int32 wFilterMin, Int32 
+in [0x00139] 
+(at /swf/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Applicat
+ion.cs:351) System.Windows.Forms.Application:Run ()
+in [0x0004a] 
+(at /swf/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Applicat
+ion.cs:382) System.Windows.Forms.Application:Run 
+(System.Windows.Forms.ApplicationContext context)
+in [0x0000c] 
+(at /swf/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Applicat
+ion.cs:373) System.Windows.Forms.Application:Run 
+(System.Windows.Forms.Form mainForm)
+in [0x00037] (at /swf/winforms/bug/bug.cs:83) Sharing1:Main 
+(System.String[] args)

More information about the mono-bugs mailing list