According to https://msdn.microsoft.com/en-us/library/system.reflection.customattributedata.attributetype%28v=vs.110%29.aspx, System.Reflection.CustomAttributeData.AttributeType is a virtual property.
StackTrace.ToString format was different from Exception.ToString. StackTrace.ToString had an identation of 3 spaces instead of 2, outputed "line " before the line number which Exception.ToString does not, and it did not print offsets. This change allows StackTrace.ToString output to be used by the mono-symbolicate tool.
In amd64 when i8const are use with values within the first 32 bits instructions and registers used can be optimized to their 32 bit versions. Setting MONO_DEBUG=single-imm-size variable disables such optimizations and guarantee that the the generated native code size is independent of the i8const values.
A GC Safepoint require the thread to be in GC unsafe mode to run properly. Both mono_threads_finish_blocking and mono_threads_reset_blocking_start are called in GC Safe mode, which would cause them to assert in checked-build. mono_threads_finish_blocking is called after a pinvoke finished, which means the thread will still be in blocking mode. mono_threads_reset_blocking_start is called by reverse pinvoke wrappers before calling managed code, so it will be in blocking mode too. This looks like something checked-build should catch by setting the polling variable more frequently.
… output on my system.