Created attachment 17422 [details]
We expect a System.OverflowException when initializing an array with a negative size. Mono ends up throwing a System.OutOfMemoryException instead. This only occurs on 64-bit Mono.
This is a 64 bit only problem, it happens because the JIT passes a 32 bit int to the managed allocator method which takes a native int, and we don't do sign extension.