Skip to content

[mono] crash in class-setup-vtable with re-abstracted covariant returns #76312

@lambdageek

Description

@lambdageek

Repro:

namespace ReproMAUI6811;

public static class Program
{
    public static void Main()
    {
        new Leaf();
    }
}

public abstract class Base {
    public abstract I getI();
}

public class PseudoBase : Base {
    public override I getI() => null;
}

public abstract class Itermediate : PseudoBase {
    public override abstract I getI();
}

public class Leaf : Itermediate {
    public Leaf() {}
    public override C getI() { return null; }
}

public interface I {}

public class C : I {}

Build with

$ dotntet run -p:UseMonoRuntime=true --self-contained -r <YOUR_RID>

Expected result:

(no output)

Actual result:

Crash

	0x100d657c0 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_class_setup_vtable_general
	0x100d657c0 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_class_setup_vtable_general
	0x100d64588 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_class_setup_vtable_full
	0x100db29c0 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_class_vtable_checked
	0x100ea6948 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_method_to_ir
	0x100e743e8 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mini_method_compile
	0x100e76d28 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_jit_compile_method_inner
	0x100e7b2e8 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : jit_compile_method_with_opt
	0x100e7edc8 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_jit_runtime_invoke
	0x100db1cac - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_runtime_invoke_checked
	0x100db994c - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : do_exec_main_checked
	0x100ed2238 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_jit_exec
	0x100ed4cd4 - /Users/alklig/work/bugs/android-6811/q/bin/Debug/net7.0/osx-arm64/libcoreclr.dylib : mono_main

Foudn in dotnet/maui#6811

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions