Skip to content

[Wasm][AOT] Assertion: should not be reached at src/mono/mono/metadata/class-accessors.c:83 #45304

@jeromelaban

Description

@jeromelaban

Description

The following error happens when running the repro below, when using FullAOT or mixed mode AOT.

Assertion: should not be reached at /__w/1/s/runtime/src/mono/mono/metadata/class-accessors.c:83
 | monoeg_assertion_message | @ | 03c9f416:0x2bdb81
  | mono_assertion_message_unreachable | @ | 03c9f416:0x2bdbdb
  | mono_class_get_flags | @ | 03c9f416:0x2db994
  | mono_aot_get_method_from_vt_slot | @ | 03c9f416:0x36867f
  | resolve_vcall | @ | 03c9f416:0x37c431
  | mini_llvmonly_init_vtable_slot | @ | 03c9f416:0x37c2e8
  | aot_wrapper_icall_mini_llvmonly_init_vtable_slot | @ | 03c9f416:0x13fc5
  | corlib_System_Text_ValueStringBuilder_AppendFormatHelper_System_IFormatProvider_string_System_ParamsArray | @ | 03c9f416:0x3ed3e
  | corlib_string_FormatHelper_System_IFormatProvider_string_System_ParamsArray | @ | 03c9f416:0x3de8c
  | corlib_string_Format_string_object | @ | 03c9f416:0x3dcef
  | BugDelegateUnknown_Test_Run | @ | 03c9f416:0x12f80
  | BugDelegateUnknown__Program___Main__string__ | @ | 03c9f416:0x12e26

repro:

using System;

Test.Run();

public class Test
{
	delegate void MyTargetHandler(object sender, MyTest args);

	public static void Run()
	{
		MyTargetHandler handler = MyTarget;

		var r = handler.DynamicInvoke(null, new MyTest());

		Console.WriteLine($"Result: {r}");
	}

	public static void MyTarget(object sender, MyTest args)
	{
		Console.WriteLine("test");
	}
}

public class MyTest : EventArgs
{
}

Runnable repro: https://github.com/jeromelaban/Wasm.Samples/tree/master/Bug45304/Bug45304

Configuration

commitID: c6e5ef1

Regression?

No

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions