-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
arch-wasmWebAssembly architectureWebAssembly architecturearea-VM-reflection-monoReflection issues specific to MonoVMReflection issues specific to MonoVMblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'linkable-frameworkIssues associated with delivering a linker friendly frameworkIssues associated with delivering a linker friendly framework
Description
oob -> Trimming browser-wasm out-of-band assemblies with ILLinker...
ILLink : error IL1012: IL Trimmer has encountered an unexpected error. Please report the issue at https://github.com/dotnet/linker/issues [/__w/1/s/src/libraries/oob.proj]
##[error]ILLink(0,0): error IL1012: (NETCORE_ENGINEERING_TELEMETRY=Build) IL Trimmer has encountered an unexpected error. Please report the issue at https://github.com/dotnet/linker/issues
Fatal error in IL Linker
Unhandled exception. System.InvalidOperationException: Operation is not valid due to the current state of the object.
at Mono.Linker.Dataflow.DiagnosticUtilities.GetMethodParameterFromIndex(MethodDefinition method, Int32 parameterIndex)
at ILLink.Shared.TrimAnalysis.FlowAnnotations.ValidateMethodAnnotationsAreSame(MethodDefinition method, MethodDefinition baseMethod)
at Mono.Linker.Steps.ValidateVirtualMethodAnnotationsStep.Process()
at Mono.Linker.Steps.BaseStep.Process(LinkContext context)
at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
at Mono.Linker.Pipeline.Process(LinkContext context)
at Mono.Linker.Driver.Run(ILogger customLogger, Boolean throwOnFatalLinkerException)
at Mono.Linker.Driver.Main(String[] args)
/_/src/mono/System.Private.CoreLib/src/System/Reflection/Emit/EnumBuilder.Mono.cs(245,13): Trim analysis error IL2094: System.Reflection.Emit.EnumBuilder.GetConstructors(BindingFlags): 'DynamicallyAccessedMemberTypes' in 'DynamicallyAccessedMembersAttribute' on the implicit 'this' parameter of method 'System.Reflection.Emit.EnumBuilder.GetConstructors(BindingFlags)' don't match overridden implicit 'this' parameter of method 'System.Type.GetConstructors(BindingFlags)'. All overridden members must have the same 'DynamicallyAccessedMembersAttribute' usage. [/__w/1/s/src/libraries/oob.proj]
##[error]/_/src/mono/System.Private.CoreLib/src/System/Reflection/Emit/EnumBuilder.Mono.cs(245,13): error IL2094: (NETCORE_ENGINEERING_TELEMETRY=Build) System.Reflection.Emit.EnumBuilder.GetConstructors(BindingFlags): 'DynamicallyAccessedMemberTypes' in 'DynamicallyAccessedMembersAttribute' on the implicit 'this' parameter of method 'System.Reflection.Emit.EnumBuilder.GetConstructors(BindingFlags)' don't match overridden implicit 'this' parameter of method 'System.Type.GetConstructors(BindingFlags)'. All overridden members must have the same 'DynamicallyAccessedMembersAttribute' usage.
/_/src/mono/System.Private.CoreLib/src/System/Reflection/Emit/EnumBuilder.Mono.cs(245,13): Trim analysis error IL2094: System.Reflection.Emit.EnumBuilder.GetConstructors(BindingFlags): 'DynamicallyAccessedMemberTypes' in 'DynamicallyAccessedMembersAttribute' on the implicit 'this' parameter of method 'System.Reflection.Emit.EnumBuilder.GetConstructors(BindingFlags)' don't match overridden implicit 'this' parameter of method 'System.Type.GetConstructors(BindingFlags)'. All overridden members must have the same 'DynamicallyAccessedMembersAttribute' usage. [/__w/1/s/src/libraries/oob.proj]
##[error]/_/src/mono/System.Private.CoreLib/src/System/Reflection/Emit/EnumBuilder.Mono.cs(245,13): error IL2094: (NETCORE_ENGINEERING_TELEMETRY=Build) System.Reflection.Emit.EnumBuilder.GetConstructors(BindingFlags): 'DynamicallyAccessedMemberTypes' in 'DynamicallyAccessedMembersAttribute' on the implicit 'this' parameter of method 'System.Reflection.Emit.EnumBuilder.GetConstructors(BindingFlags)' don't match overridden implicit 'this' parameter of method 'System.Type.GetConstructors(BindingFlags)'. All overridden members must have the same 'DynamicallyAccessedMembersAttribute' usage.
/_/src/mono/System.Private.CoreLib/src/System/Reflection/Emit/EnumBuilder.Mono.cs(287,13): Trim analysis error IL2094: System.Reflection.Emit.EnumBuilder.GetField(String, BindingFlags): 'DynamicallyAccessedMemberTypes' in 'DynamicallyAccessedMembersAttribute' on the implicit 'this' parameter of method 'System.Reflection.Emit.EnumBuilder.GetField(String, BindingFlags)' don't match overridden implicit 'this' parameter of method 'System.Type.GetField(String, BindingFlags)'. All overridden members must have the same 'DynamicallyAccessedMembersAttribute' usage. [/__w/1/s/src/libraries/oob.proj]
##[error]/_/src/mono/System.Private.CoreLib/src/System/Reflection/Emit/EnumBuilder.Mono.cs(287,13): error IL2094: (NETCORE_ENGINEERING_TELEMETRY=Build) System.Reflection.Emit.EnumBuilder.GetField(String, BindingFlags): 'DynamicallyAccessedMemberTypes' in 'DynamicallyAccessedMembersAttribute' on the implicit 'this' parameter of method 'System.Reflection.Emit.EnumBuilder.GetField(String, BindingFlags)' don't match overridden implicit 'this' parameter of method 'System.Type.GetField(String, BindingFlags)'. All overridden members must have the same 'DynamicallyAccessedMembersAttribute' usage.
Wasm has two builds relevant here:
- EAT (EnableAggressiveTrimming);
- and AOT (this is EAT build, and then AOT'ed)
Here the EAT is passing, but AOT fails. So, this doesn't seem to happen on every build.
EAT (EnableAggressiveTrimming) build - which passed.
Metadata
Metadata
Assignees
Labels
arch-wasmWebAssembly architectureWebAssembly architecturearea-VM-reflection-monoReflection issues specific to MonoVMReflection issues specific to MonoVMblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'linkable-frameworkIssues associated with delivering a linker friendly frameworkIssues associated with delivering a linker friendly framework