Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/8.0] [Mono] Fix unsafe accessor related issue for full AOT #91270

Merged
merged 2 commits into from
Aug 29, 2023

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 29, 2023

Backport of #91216 to release/8.0

/cc @fanyang-mono

Customer Impact

Prior to this PR, the customer might hit an assertion or a SIGSEGV, when using UnsafeAccessor with full AOT. This PR fixes those issues by

  1. Skip type parameter check, when it is a wrapper of WRAPPER_SUBTYPE_UNSAFE_ACCESSOR
  2. Only encode when member_name is not NULL

Testing

Local testing:

  • Prior to this PR, full aot compilation for UnsafeAccessorsTests.dll encountered an assertion:
$ MONO_ENV_OPTIONS=--aot=full,llvm,llvm-path=$PWD/bin/mono/osx.x64.Debug obj/mono/osx.x64.Debug/mono/mini/mono-sgen tests/coreclr/osx.x64.Debug/baseservices/compilerservices/UnsafeAccessors/UnsafeAccessorsTests/UnsafeAccessorsTests.dll
Mono Ahead of Time compiler - compiling assembly /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/tests/coreclr/osx.x64.Debug/baseservices/compilerservices/UnsafeAccessors/UnsafeAccessorsTests/UnsafeAccessorsTests.dll
AOTID 8F3DEAB0-F411-CE52-1D92-7B714F55D60F
Failed to load methodspec 0x2b000003 due to Could not load file or assembly 'TestLibrary, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies..
Run with MONO_LOG_LEVEL=debug for more information.
Failed to load methodspec 0x2b000004 due to Could not load file or assembly 'TestLibrary, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies..
Run with MONO_LOG_LEVEL=debug for more information.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass UnsafeAccessorsTests:CallPrivateConstructorClass ()' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass UnsafeAccessorsTests:CallPrivateConstructorClass (string)' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataValue UnsafeAccessorsTests:CallPrivateConstructorValue (string)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:_MVV (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:_mvv (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:Verify_InvalidTargetUnsafeAccessor ()' due to: 'Could not load file or assembly 'TestLibrary, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.'.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass UnsafeAccessorsTests:<Verify_CallCtorWithEmptyNotNullName>g__CallPrivateConstructorWithEmptyName|11_0 ()' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_CallCtorAsMethod>g__CallPrivateConstructor|12_0 (UnsafeAccessorsTests/UserDataClass,string)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_CallCtorAsMethodValue>g__CallPrivateConstructor|13_0 (UnsafeAccessorsTests/UserDataValue&,string)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_AccessStaticFieldClass>g__GetPrivateStaticField|14_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_AccessFieldClass>g__GetPrivateField|15_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_AccessStaticFieldValue>g__GetPrivateStaticField|16_0 (UnsafeAccessorsTests/UserDataValue)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_AccessFieldValue>g__GetPrivateField|17_0 (UnsafeAccessorsTests/UserDataValue&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_AccessStaticMethodClass>g__GetPrivateStaticMethod|18_0 (UnsafeAccessorsTests/UserDataClass,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_AccessMethodClass>g__GetPrivateMethod|19_0 (UnsafeAccessorsTests/UserDataClass,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_AccessStaticMethodVoidClass>g__GetPrivateStaticMethod|22_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_AccessMethodVoidClass>g__GetPrivateMethod|23_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_AccessStaticMethodValue>g__GetPrivateStaticMethod|24_0 (UnsafeAccessorsTests/UserDataValue,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_AccessMethodValue>g__GetPrivateMethod|25_0 (UnsafeAccessorsTests/UserDataValue&,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_IgnoreCustomModifier>g__CallPrivateGetter|26_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_IgnoreCustomModifier>g__CallPrivateSetter|26_1 (UnsafeAccessorsTests/UserDataClass,string)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_PreciseMatchCustomModifier>g__CallPrivateMethod|27_0 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_UnmanagedCallConvBitAreTreatedAsCustomModifiersAndIgnored>g__CallCdeclMethod|28_0 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_UnmanagedCallConvBitAreTreatedAsCustomModifiersAndIgnored>g__CallStdcallMethod|28_1 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_ManagedUnmanagedFunctionPointersDontMatch>g__CallCdeclMethod|29_2 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_ManagedUnmanagedFunctionPointersDontMatch>g__CallManagedMethod|29_3 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__OnBase|32_2 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__BaseVirtual|32_3 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__OnDerived|32_4 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__Abstract|32_5 (UnsafeAccessorsTests/InheritanceBase)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__Virtual|32_6 (UnsafeAccessorsTests/InheritanceBase)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__NewVirtual|32_7 (UnsafeAccessorsTests/InheritanceBase)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InheritanceFieldResolution>g__FieldOnBase|33_1 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InheritanceFieldResolution>g__FieldOnDerived|33_2 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__MethodNotFound|34_9 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__StaticMethodNotFound|34_10 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__FieldNotFound|34_11 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__FieldNotFoundStaticMismatch1|34_12 (UnsafeAccessorsTests/UserDataValue&)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__FieldNotFoundStaticMismatch2|34_13 (UnsafeAccessorsTests/UserDataValue)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__StaticFieldNotFound|34_14 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__CallPointerMethod|34_15 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'int UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__StaticMethodWithDifferentReturnType|34_16 (UnsafeAccessorsTests/UserDataClass,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessorAmbiguousMatch>g__CallAmbiguousMethod|35_1 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__FieldReturnMustBeByRefClass|38_16 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__FieldReturnMustBeByRefValue|38_17 (UnsafeAccessorsTests/UserDataValue&)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__FieldArgumentMustBeByRef|38_18 (UnsafeAccessorsTests/UserDataValue)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__FieldMustHaveSingleArgument|38_19 (UnsafeAccessorsTests/UserDataClass,int)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__StaticFieldMustHaveSingleArgument|38_20 (UnsafeAccessorsTests/UserDataClass,int)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidKindValue|38_21 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidCtorSignatureClass|38_22 ()' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataValue& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidCtorSignatureValue|38_23 ()' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidCtorName|38_24 ()' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidCtorType|38_25 ()' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__LookUpFailsOnPointers|38_26 (void*)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__LookUpFailsOnFunctionPointers|38_27 (*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvokeMethodOnValueWithoutRef|38_28 (UnsafeAccessorsTests/UserDataValue,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests/Invalid:NonStatic (string)' due to: 'Method has zero rva'.
* Assertion at /Users/yangfan/Documents/work/dotnet_3/runtime/src/mono/mono/mini/method-to-ir.c:6456, condition `!sig->has_type_parameters' not met


=================================================================
	Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
	Native stacktrace:
=================================================================
	0x10eca9747 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : dump_native_stacktrace
	0x10eca96b1 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mono_dump_native_crash_info
	0x10eb9c230 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mono_handle_native_crash
	0x10eca8ed9 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : sigabrt_signal_handler
	0x7ff8035445ed - /usr/lib/system/libsystem_platform.dylib : _sigtramp
	0xd - Unknown
	0x7ff80343db45 - /usr/lib/system/libsystem_c.dylib : abort
	0x10e861302 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : monoeg_assert_abort
	0x10e879596 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mono_log_write_logfile
	0x10e8764e1 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : structured_log_adapter
	0x10e861c1a - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : monoeg_g_logstr
	0x10e8617bb - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : monoeg_g_logv_nofree
	0x10e86198d - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : monoeg_assertion_message
	0x10e8619fc - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mono_assertion_message
	0x10ea9eab8 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mono_method_to_ir
	0x10ea73c27 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mini_method_compile
	0x10eb661f2 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : compile_method
	0x10eb5c1fc - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : compile_methods
	0x10eb56086 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : aot_assembly
	0x10eb53369 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mono_aot_assemblies
	0x10eb4a4b5 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : main_thread_handler
	0x10eb48da2 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mono_main
	0x10e7a7c68 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : mono_main_with_options
	0x10e7a7c32 - /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/obj/mono/osx.x64.Debug/mono/mini/mono-sgen : main
	0x7ff8031bd41f - /usr/lib/dyld : start

=================================================================
	External Debugger Dump:
=================================================================

=================================================================
	Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x7ff8034df202):0x7ff8034df1f2  ff ff c3 90 90 90 b8 48 01 00 02 49 89 ca 0f 05  .......H...I....
0x7ff8034df202  73 08 48 89 c7 e9 df 9a ff ff c3 90 90 90 b8 53  s.H............S
0x7ff8034df212  00 00 02 49 89 ca 0f 05 73 08 48 89 c7 e9 c7 9a  ...I....s.H.....
0x7ff8034df222  ff ff c3 90 90 90 b8 83 01 00 02 49 89 ca 0f 05  ...........I....
Abort trap: 6
  • With this fix, full aot compilation for UnsafeAccessorsTests.dll finished without error:
$ MONO_ENV_OPTIONS=--aot=full obj/mono/osx.x64.Debug/mono/mini/mono-sgen tests/coreclr/osx.x64.Debug/baseservices/compilerservices/UnsafeAccessors/UnsafeAccessorsTests/UnsafeAccessorsTests.dll
Mono Ahead of Time compiler - compiling assembly /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/tests/coreclr/osx.x64.Debug/baseservices/compilerservices/UnsafeAccessors/UnsafeAccessorsTests/UnsafeAccessorsTests.dll
AOTID C5C2367F-8ED9-67C5-FB74-D8B534ECE071
Failed to load methodspec 0x2b000003 due to Could not load file or assembly 'TestLibrary, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies..
Run with MONO_LOG_LEVEL=debug for more information.
Failed to load methodspec 0x2b000004 due to Could not load file or assembly 'TestLibrary, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies..
Run with MONO_LOG_LEVEL=debug for more information.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass UnsafeAccessorsTests:CallPrivateConstructorClass ()' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass UnsafeAccessorsTests:CallPrivateConstructorClass (string)' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataValue UnsafeAccessorsTests:CallPrivateConstructorValue (string)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:_MVV (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:_mvv (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:Verify_InvalidTargetUnsafeAccessor ()' due to: 'Could not load file or assembly 'TestLibrary, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.'.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass UnsafeAccessorsTests:<Verify_CallCtorWithEmptyNotNullName>g__CallPrivateConstructorWithEmptyName|11_0 ()' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_CallCtorAsMethod>g__CallPrivateConstructor|12_0 (UnsafeAccessorsTests/UserDataClass,string)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_CallCtorAsMethodValue>g__CallPrivateConstructor|13_0 (UnsafeAccessorsTests/UserDataValue&,string)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_AccessStaticFieldClass>g__GetPrivateStaticField|14_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_AccessFieldClass>g__GetPrivateField|15_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_AccessStaticFieldValue>g__GetPrivateStaticField|16_0 (UnsafeAccessorsTests/UserDataValue)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_AccessFieldValue>g__GetPrivateField|17_0 (UnsafeAccessorsTests/UserDataValue&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_AccessStaticMethodClass>g__GetPrivateStaticMethod|18_0 (UnsafeAccessorsTests/UserDataClass,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_AccessMethodClass>g__GetPrivateMethod|19_0 (UnsafeAccessorsTests/UserDataClass,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_AccessStaticMethodVoidClass>g__GetPrivateStaticMethod|22_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_AccessMethodVoidClass>g__GetPrivateMethod|23_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_AccessStaticMethodValue>g__GetPrivateStaticMethod|24_0 (UnsafeAccessorsTests/UserDataValue,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_AccessMethodValue>g__GetPrivateMethod|25_0 (UnsafeAccessorsTests/UserDataValue&,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_IgnoreCustomModifier>g__CallPrivateGetter|26_0 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_IgnoreCustomModifier>g__CallPrivateSetter|26_1 (UnsafeAccessorsTests/UserDataClass,string)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_PreciseMatchCustomModifier>g__CallPrivateMethod|27_0 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_UnmanagedCallConvBitAreTreatedAsCustomModifiersAndIgnored>g__CallCdeclMethod|28_0 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_UnmanagedCallConvBitAreTreatedAsCustomModifiersAndIgnored>g__CallStdcallMethod|28_1 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_ManagedUnmanagedFunctionPointersDontMatch>g__CallCdeclMethod|29_2 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_ManagedUnmanagedFunctionPointersDontMatch>g__CallManagedMethod|29_3 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__OnBase|32_2 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__BaseVirtual|32_3 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__OnDerived|32_4 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__Abstract|32_5 (UnsafeAccessorsTests/InheritanceBase)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__Virtual|32_6 (UnsafeAccessorsTests/InheritanceBase)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InheritanceMethodResolution>g__NewVirtual|32_7 (UnsafeAccessorsTests/InheritanceBase)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InheritanceFieldResolution>g__FieldOnBase|33_1 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InheritanceFieldResolution>g__FieldOnDerived|33_2 (UnsafeAccessorsTests/InheritanceDerived)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__MethodNotFound|34_9 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__StaticMethodNotFound|34_10 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__FieldNotFound|34_11 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__FieldNotFoundStaticMismatch1|34_12 (UnsafeAccessorsTests/UserDataValue&)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__FieldNotFoundStaticMismatch2|34_13 (UnsafeAccessorsTests/UserDataValue)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__StaticFieldNotFound|34_14 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__CallPointerMethod|34_15 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'int UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessor>g__StaticMethodWithDifferentReturnType|34_16 (UnsafeAccessorsTests/UserDataClass,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidTargetUnsafeAccessorAmbiguousMatch>g__CallAmbiguousMethod|35_1 (UnsafeAccessorsTests/UserDataClass,*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__FieldReturnMustBeByRefClass|38_16 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__FieldReturnMustBeByRefValue|38_17 (UnsafeAccessorsTests/UserDataValue&)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__FieldArgumentMustBeByRef|38_18 (UnsafeAccessorsTests/UserDataValue)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__FieldMustHaveSingleArgument|38_19 (UnsafeAccessorsTests/UserDataClass,int)' due to: 'Method has zero rva'.
Unable to compile method 'string& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__StaticFieldMustHaveSingleArgument|38_20 (UnsafeAccessorsTests/UserDataClass,int)' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidKindValue|38_21 (UnsafeAccessorsTests/UserDataClass)' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidCtorSignatureClass|38_22 ()' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataValue& UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidCtorSignatureValue|38_23 ()' due to: 'Method has zero rva'.
Unable to compile method 'UnsafeAccessorsTests/UserDataClass UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidCtorName|38_24 ()' due to: 'Method has zero rva'.
Unable to compile method 'void UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvalidCtorType|38_25 ()' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__LookUpFailsOnPointers|38_26 (void*)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__LookUpFailsOnFunctionPointers|38_27 (*())' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests:<Verify_InvalidUseUnsafeAccessor>g__InvokeMethodOnValueWithoutRef|38_28 (UnsafeAccessorsTests/UserDataValue,string,string&,string&)' due to: 'Method has zero rva'.
Unable to compile method 'string UnsafeAccessorsTests/Invalid:NonStatic (string)' due to: 'Method has zero rva'.
Compiled: 160/222
Executing the native assembler: "clang"  -c -x assembler  -o /var/folders/5w/jj_7d0cn7qjc2hq2xb1tz2wm0000gn/T/mono_aot_YsV0VE.o /var/folders/5w/jj_7d0cn7qjc2hq2xb1tz2wm0000gn/T/mono_aot_YsV0VE
Executing the native linker: "clang" --shared -o /Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/tests/coreclr/osx.x64.Debug/baseservices/compilerservices/UnsafeAccessors/UnsafeAccessorsTests/UnsafeAccessorsTests.dll.dylib.tmp  /var/folders/5w/jj_7d0cn7qjc2hq2xb1tz2wm0000gn/T/mono_aot_YsV0VE.o  "-Wl,-install_name,UnsafeAccessorsTests.dll.dylib"
Executing dsymutil: dsymutil "/Users/yangfan/Documents/work/dotnet_3/runtime/artifacts/tests/coreclr/osx.x64.Debug/baseservices/compilerservices/UnsafeAccessors/UnsafeAccessorsTests/UnsafeAccessorsTests.dll.dylib"
JIT time: 54 ms, Generation time: 10 ms, Assembly+Link time: 1267 ms.

Risk

Low risk.

@fanyang-mono fanyang-mono added this to the 8.0.0 milestone Aug 29, 2023
@lambdageek lambdageek added the Servicing-consider Issue for next servicing release review label Aug 29, 2023
@fanyang-mono
Copy link
Member

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@fanyang-mono
Copy link
Member

CI failures are all know issues.

@SamMonoRT SamMonoRT added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Aug 29, 2023
@SamMonoRT
Copy link
Member

cc @carlossanlop - this is ready to be merged. Thank you

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Codegen-AOT-mono Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants