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

[wasm] IL1005: NRE in processing System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly() #56819

Closed
radical opened this issue Aug 4, 2021 · 5 comments · Fixed by dotnet/linker#2190
Labels
arch-wasm WebAssembly architecture area-VM-meta-mono disabled-test The test is disabled in source code against the issue in-pr There is an active PR which will close this issue when it is merged trimming-for-aot `EnableAggressiveTrimming=true` used for running tests with AOT
Milestone

Comments

@radical
Copy link
Member

radical commented Aug 4, 2021

Build failed for Build Browser wasm Release AllSubsets_Mono_EAT, PR: #52004

System.Dynamic.Runtime.Tests -> /__w/1/s/artifacts/bin/System.Dynamic.Runtime.Tests/net6.0-Release/browser-wasm/System.Dynamic.Runtime.Tests.dll

##[error]ILLink(0,0): error IL1005: (NETCORE_ENGINEERING_TELEMETRY=Build) System.PlatformDetection: Error processing method 'System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly()' in assembly 'TestUtilities.dll'
  Mono.Linker.LinkerFatalErrorException: ILLink: error IL1005: System.PlatformDetection: Error processing method 'System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly()' in assembly 'TestUtilities.dll'
   ---> System.NullReferenceException: Object reference not set to an instance of an object.
     at Mono.Linker.Steps.DiscoverOperatorsHandler.NonNullableType(TypeReference type) in illink.dll:token 0x6000377+0x2c
     at Mono.Linker.Steps.DiscoverOperatorsHandler.IsOperator(MethodDefinition method, TypeDefinition& otherType) in illink.dll:token 0x6000378+0x552
     at Mono.Linker.Steps.DiscoverOperatorsHandler.ProcessCustomOperators(TypeDefinition type, Boolean mark) in illink.dll:token 0x6000375+0x22
     at Mono.Linker.Steps.DiscoverOperatorsHandler.CheckForLinqExpressions(TypeDefinition type) in illink.dll:token 0x6000373+0x4b
     at Mono.Linker.Steps.DiscoverOperatorsHandler.ProcessType(TypeDefinition type) in illink.dll:token 0x6000372+0x0
     at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference, DependencyInfo reason, Nullable`1 origin) in illink.dll:token 0x6000403+0x16e
     at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference, DependencyInfo reason, Nullable`1 origin) in illink.dll:token 0x6000403+0x1b7
     at Mono.Linker.Steps.MarkStep.MarkTypeVisibleToReflection(TypeReference type, TypeDefinition definition, DependencyInfo& reason) in illink.dll:token 0x60003fd+0x1f
     at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction, MethodDefinition method, Boolean& requiresReflectionMethodBodyScanner) in illink.dll:token 0x6000452+0x195
     at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body) in illink.dll:token 0x600044f+0x131
     at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason, Scope& scope) in illink.dll:token 0x6000440+0x34a
     at Mono.Linker.Steps.MarkStep.ProcessQueue() in illink.dll:token 0x60003c9+0x24
     --- End of inner exception stack trace ---
     at Mono.Linker.Steps.MarkStep.ProcessQueue() in illink.dll:token 0x60003c9+0xaa
     at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue() in illink.dll:token 0x60003c6+0xa
     at Mono.Linker.Steps.MarkStep.Process() in illink.dll:token 0x60003c3+0x0
     at Mono.Linker.Steps.MarkStep.Process(LinkContext context) in illink.dll:token 0x60003ba+0x52
     at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step) in illink.dll:token 0x6000288+0x0
     at Mono.Linker.Pipeline.Process(LinkContext context) in illink.dll:token 0x6000287+0xf
     at Mono.Linker.Driver.Run(ILogger customLogger) in illink.dll:token 0x600011a+0x20

cc @eerhardt

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Aug 4, 2021
@radical radical changed the title IL1005: NRE in processing System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly() IL1005: NRE in processing System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly() Aug 4, 2021
@radical radical changed the title IL1005: NRE in processing System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly() [wasm] IL1005: NRE in processing System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly() Aug 4, 2021
@radical radical added arch-wasm WebAssembly architecture disabled-test The test is disabled in source code against the issue trimming-for-aot `EnableAggressiveTrimming=true` used for running tests with AOT labels Aug 4, 2021
@ghost
Copy link

ghost commented Aug 4, 2021

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Build failed for Build Browser wasm Release AllSubsets_Mono_EAT, PR: #52004

System.Dynamic.Runtime.Tests -> /__w/1/s/artifacts/bin/System.Dynamic.Runtime.Tests/net6.0-Release/browser-wasm/System.Dynamic.Runtime.Tests.dll

##[error]ILLink(0,0): error IL1005: (NETCORE_ENGINEERING_TELEMETRY=Build) System.PlatformDetection: Error processing method 'System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly()' in assembly 'TestUtilities.dll'
  Mono.Linker.LinkerFatalErrorException: ILLink: error IL1005: System.PlatformDetection: Error processing method 'System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly()' in assembly 'TestUtilities.dll'
   ---> System.NullReferenceException: Object reference not set to an instance of an object.
     at Mono.Linker.Steps.DiscoverOperatorsHandler.NonNullableType(TypeReference type) in illink.dll:token 0x6000377+0x2c
     at Mono.Linker.Steps.DiscoverOperatorsHandler.IsOperator(MethodDefinition method, TypeDefinition& otherType) in illink.dll:token 0x6000378+0x552
     at Mono.Linker.Steps.DiscoverOperatorsHandler.ProcessCustomOperators(TypeDefinition type, Boolean mark) in illink.dll:token 0x6000375+0x22
     at Mono.Linker.Steps.DiscoverOperatorsHandler.CheckForLinqExpressions(TypeDefinition type) in illink.dll:token 0x6000373+0x4b
     at Mono.Linker.Steps.DiscoverOperatorsHandler.ProcessType(TypeDefinition type) in illink.dll:token 0x6000372+0x0
     at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference, DependencyInfo reason, Nullable`1 origin) in illink.dll:token 0x6000403+0x16e
     at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference, DependencyInfo reason, Nullable`1 origin) in illink.dll:token 0x6000403+0x1b7
     at Mono.Linker.Steps.MarkStep.MarkTypeVisibleToReflection(TypeReference type, TypeDefinition definition, DependencyInfo& reason) in illink.dll:token 0x60003fd+0x1f
     at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction, MethodDefinition method, Boolean& requiresReflectionMethodBodyScanner) in illink.dll:token 0x6000452+0x195
     at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body) in illink.dll:token 0x600044f+0x131
     at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason, Scope& scope) in illink.dll:token 0x6000440+0x34a
     at Mono.Linker.Steps.MarkStep.ProcessQueue() in illink.dll:token 0x60003c9+0x24
     --- End of inner exception stack trace ---
     at Mono.Linker.Steps.MarkStep.ProcessQueue() in illink.dll:token 0x60003c9+0xaa
     at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue() in illink.dll:token 0x60003c6+0xa
     at Mono.Linker.Steps.MarkStep.Process() in illink.dll:token 0x60003c3+0x0
     at Mono.Linker.Steps.MarkStep.Process(LinkContext context) in illink.dll:token 0x60003ba+0x52
     at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step) in illink.dll:token 0x6000288+0x0
     at Mono.Linker.Pipeline.Process(LinkContext context) in illink.dll:token 0x6000287+0xf
     at Mono.Linker.Driver.Run(ILogger customLogger) in illink.dll:token 0x600011a+0x20

cc @eerhardt

Author: radical
Assignees: -
Labels:

arch-wasm, disabled-test, trimming-for-aot, untriaged

Milestone: -

@ghost
Copy link

ghost commented Aug 4, 2021

Tagging subscribers to this area:
See info in area-owners.md if you want to be subscribed.

Issue Details

Build failed for Build Browser wasm Release AllSubsets_Mono_EAT, PR: #52004

System.Dynamic.Runtime.Tests -> /__w/1/s/artifacts/bin/System.Dynamic.Runtime.Tests/net6.0-Release/browser-wasm/System.Dynamic.Runtime.Tests.dll

##[error]ILLink(0,0): error IL1005: (NETCORE_ENGINEERING_TELEMETRY=Build) System.PlatformDetection: Error processing method 'System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly()' in assembly 'TestUtilities.dll'
  Mono.Linker.LinkerFatalErrorException: ILLink: error IL1005: System.PlatformDetection: Error processing method 'System.PlatformDetection.GetLinqExpressionsBuiltWithIsInterpretingOnly()' in assembly 'TestUtilities.dll'
   ---> System.NullReferenceException: Object reference not set to an instance of an object.
     at Mono.Linker.Steps.DiscoverOperatorsHandler.NonNullableType(TypeReference type) in illink.dll:token 0x6000377+0x2c
     at Mono.Linker.Steps.DiscoverOperatorsHandler.IsOperator(MethodDefinition method, TypeDefinition& otherType) in illink.dll:token 0x6000378+0x552
     at Mono.Linker.Steps.DiscoverOperatorsHandler.ProcessCustomOperators(TypeDefinition type, Boolean mark) in illink.dll:token 0x6000375+0x22
     at Mono.Linker.Steps.DiscoverOperatorsHandler.CheckForLinqExpressions(TypeDefinition type) in illink.dll:token 0x6000373+0x4b
     at Mono.Linker.Steps.DiscoverOperatorsHandler.ProcessType(TypeDefinition type) in illink.dll:token 0x6000372+0x0
     at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference, DependencyInfo reason, Nullable`1 origin) in illink.dll:token 0x6000403+0x16e
     at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference, DependencyInfo reason, Nullable`1 origin) in illink.dll:token 0x6000403+0x1b7
     at Mono.Linker.Steps.MarkStep.MarkTypeVisibleToReflection(TypeReference type, TypeDefinition definition, DependencyInfo& reason) in illink.dll:token 0x60003fd+0x1f
     at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction, MethodDefinition method, Boolean& requiresReflectionMethodBodyScanner) in illink.dll:token 0x6000452+0x195
     at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body) in illink.dll:token 0x600044f+0x131
     at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason, Scope& scope) in illink.dll:token 0x6000440+0x34a
     at Mono.Linker.Steps.MarkStep.ProcessQueue() in illink.dll:token 0x60003c9+0x24
     --- End of inner exception stack trace ---
     at Mono.Linker.Steps.MarkStep.ProcessQueue() in illink.dll:token 0x60003c9+0xaa
     at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue() in illink.dll:token 0x60003c6+0xa
     at Mono.Linker.Steps.MarkStep.Process() in illink.dll:token 0x60003c3+0x0
     at Mono.Linker.Steps.MarkStep.Process(LinkContext context) in illink.dll:token 0x60003ba+0x52
     at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step) in illink.dll:token 0x6000288+0x0
     at Mono.Linker.Pipeline.Process(LinkContext context) in illink.dll:token 0x6000287+0xf
     at Mono.Linker.Driver.Run(ILogger customLogger) in illink.dll:token 0x600011a+0x20

cc @eerhardt

Author: radical
Assignees: -
Labels:

arch-wasm, area-VM-meta-mono, disabled-test, trimming-for-aot, untriaged

Milestone: -

@lewing lewing removed the untriaged New issue has not been triaged by the area owner label Aug 4, 2021
@lewing lewing added this to the 7.0.0 milestone Aug 4, 2021
@eerhardt
Copy link
Member

eerhardt commented Aug 4, 2021

@agocke @sbomer @LakshanF @vitek-karas - I assume the linker shouldn't be throwing a NullReferenceException here...

@agocke
Copy link
Member

agocke commented Aug 4, 2021

Looking

@lewing lewing added the in-pr There is an active PR which will close this issue when it is merged label Aug 4, 2021
@lewing lewing modified the milestones: 7.0.0, 6.0.0 Aug 4, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Sep 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-VM-meta-mono disabled-test The test is disabled in source code against the issue in-pr There is an active PR which will close this issue when it is merged trimming-for-aot `EnableAggressiveTrimming=true` used for running tests with AOT
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants