[Mono-dev] AOT compiler crash

Michael Bayne mdb at samskivert.com
Fri Jan 20 19:38:28 UTC 2012

I'm trying to get IKVM working with MonoTouch. That has required a lot
of crazy hackery, but now I'm crashing the AOT compiler, and I don't
think I'm going to be able to fix this one myself (since I don't have
the source). Here's what it reports:

AOT Compilation exited with code 134, command:
/Developer/MonoTouch/usr/bin/arm-darwin-mono --debug
Mono Ahead of Time compiler - compiling assembly .../IKVM.OpenJDK.Core.dll
* Assertion at ../../../../../mono/mono/metadata/marshal.c:2586,
condition `method && method->klass->parent ==
mono_defaults.multicastdelegate_class && !strcmp (method->name,
"BeginInvoke")' not met

(FWIW, this all runs fine in the simulator, which I presume uses the
JIT-compiling VM.)

I'm a complete newb to C# and Mono and had never touched Mono or IKVM
a week ago. But I've hacked compilers in the past, so hopefully I can
sort this out without being too big a pain in the rear.

IKVM does some backbending things to map delegates to Java and
additionally to handle by ref parameters. It did not support the
combination of the two, but between some ham fisted hackery on my part
and a more sophisticated patch from the IKVM author, it ostensibly
does support that combination now. But in any case, that may be
related to this failure. If there was a way I could find out what
class and method was being compiled when the compiler choked, that
would be a big help.

Can someone point me in the direction of what useful debugging
information I can obtain to help pin-point the issue (if it's
something weird that IKVM is doing, I can certainly fix that).


-- mdb at samskivert.com

More information about the Mono-devel-list mailing list