[Mono-bugs] [Bug 82244][Nor] Changed - Message Box popup preventing continuation of execution

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Sep 12 04:31:32 EDT 2007

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 massi at ximian.com.


--- shadow/82244	2007-08-17 11:25:52.000000000 -0400
+++ shadow/82244.tmp.15536	2007-09-12 04:31:32.000000000 -0400
@@ -53,6 +53,36 @@
 ------- Additional Comments From miguel at ximian.com  2007-08-17 11:23 -------
 This is also what hangs the buildbots for Windows in our office.   I
 never knew what it was, but they do happen.
 We should fix this.
+------- Additional Comments From massi at ximian.com  2007-09-12 04:31 -------
+AFAICS g_log_set_default_handler cannot be used to fix this: the
+MessageBox call is inside g_logv, which cannot be replaced.
+(g_logv, then, calls the user supplied logging function[s]).
+Windows does not offer a facility like LD_FPRELOAD.
+See "http://fy.chalmers.se/~appro/nt/DLL_PRELOAD" for a couple of
+ways to implement it, but both are definitely too intrusive for our
+needs IMHO.
+In a more simple way, it might be possible to just iterate the
+Import Address Tables from within the process, and redirect the
+call to MessageBox, borrowing ideas from here:
+However, this would have the "side effect" of preventing completely
+the use of MessageBox.
+For instance, imagine a Windows GUI application embedding the Mono
+runtime... clearly this redirection should be disabled in that
+Having glib fix the issue would be better, they should provide a
+settable property stating if the app should be debugged or not.
+Or we could just switch to eglib...
+That said, walking the Import Address Tables can be attempted, it
+could work at least in the majority of cases (apps which do not
+need MessageBox).

More information about the mono-bugs mailing list