https://bugzilla.novell.com/show_bug.cgi?id=422836
Summary: Clicking OK in the "Fatal error in gc" dialog doesn't
terminate Mono
Product: Mono: Runtime
Version: 1.2.6
Platform: i686
OS/Version: Windows XP
Status: NEW
Severity: Normal
Priority: P5 - None
Component: GC
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]
QAContact: [email protected]
Found By: ---
On Windows, if a program causes the "Fatal error in gc" dialog to be displayed
(from libgc/misc.c), after clicking on "OK" (the only button) the process
doesn't terminate, but continues, presumably now in a badly mixed up state.
Apparently the DebugBreak() call doesn't work as documented ("If the process is
not being debugged, the function uses the search logic of a standard exception
handler. In most cases, this causes the calling process to terminate because of
an unhandled breakpoint exception."), at least not if the code is built with
gcc. It would probably be safer to do something like:
if (IsDebuggerPresent())
DebugBreak();
else
abort();
It might be that in a mono built with MSVC the DebugBreak() works as
documented. I suggest using the above snipped unconditionally, though, as one
can't be sure that even if the mono runtime is built with MSVC it isn't
embedded statically into a gcc-built program, can one?
(The reason why the program in question caused this dialog is probably that it
run out of memory. At least the VM size was close to 2 GB.)
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
mono-bugs maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs