Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
GitHub or Developer Community with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Created attachment 926 [details]
Mono from 2.10 branch segfaults while exiting from application that uses DynamicMethod (or more generally - when runtime decides to free the DynamicMethod):
* Assertion at mono-debug-debugger.c:68, condition `initialized' not met
Mono compiled from official 2.10.6 sources doesn't show such problem. Probably the commit that is causing this error is ad8e7c929f53542c571f54b60e69aad47d4cdf1a (this is just a wild guess but it seems to change (mono_debug_remove_method) implementation.
Running provided example with --debug switch prevents mono from segfaulting.
Created attachment 927 [details]
Call mono_debug_remove_method only when debugger is initialized
mono_debug_remove_method code will only be called when mono_debug_initialized is set. Since I'm not much into mono runtime I'm not sure whether some variables should not be g_freed in case mono is not run with --debug flag.
Fixed in HEAD/2.10 branch.