Running the following code (in F#) results in consistent crashing of the mono runtime:
let p = System.Diagnostics.Process.GetCurrentProcess()
with the following error
* Assertion at processes.c:2595, condition `mp' not met
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Diagnostics.Process.ExitCode_internal (intptr) <0xffffffff>
at System.Diagnostics.Process.get_ExitCode () <0x0002f>
What mono version is this ? Please try at least mono 3.12, many process crashes etc. were fixed in that version.
It's mono 3.12 from the beta channel of OSX
Mono JIT compiler version 3.12.0 ((detached/a813491 Thu Dec 11 12:24:44 EST 2014)
I can reproduce this.
Fixed in mono master b1038846342d5b7bb030c58ec4c463de6d12f06e.
When this fix will be released? I am unable to pull it from mono masters.
Xamarin Studio currently is :
Version 5.7 (build 661)
Installation UUID: fccf861a-7e5e-44b3-bba1-fa9c8372a28f
Mono 3.12.0 ((detached/a813491)
GTK+ 2.24.23 (Raleigh theme)
Package version: 312000068
It will be in the next major mono release after 3.12. As a workaround, avoid calling HasExited on
the current process, i.e.
if (proc != Process.CurrentProcess)
The recent official debian packages (http://origin-download.mono-project.com/repo/debian) seem to be affected, too. And there is no way back for Linux users (ok only the distribution packages, which are quite old on e.g. Ubuntu).
Is there no way to merge the fix into the 3.12 branch for the official debian release?
Duplicate to https://bugzilla.xamarin.com/show_bug.cgi?id=26514 ?
Fixed by b103884?
The workaround doesn't work in this code https://github.com/fsprojects/Paket/commit/25c363a0d35ca7fd8e3ef48c34ccd74d0071f0da
Try proc.Id != Process.GetCurrentProcess ().Id. That seems to work in 3.12 too.