[Mono-bugs] [Bug 422836] New: Clicking OK in the "Fatal error in gc" dialog doesn' t terminate Mono

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Sep 3 17:01:06 EDT 2008


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: lupus at novell.com
        ReportedBy: tlillqvist at novell.com
         QAContact: mono-bugs at lists.ximian.com
          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.


More information about the mono-bugs mailing list