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

System.NotImplementedException:: ILCompiler.DependencyAnalysis.ReadyToRunHelperNode.EmitInlineTLSAccess #97168

Closed
jkotas opened this issue Jan 18, 2024 · 7 comments · Fixed by #97187
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab

Comments

@jkotas
Copy link
Member

jkotas commented Jan 18, 2024

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=531462
Build error leg or test failing: Build / windows-x64 Release NativeAOT_Checked_Libs_SizeOpt / Build product
Pull request: #97062

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "ILCompiler.DependencyAnalysis.ReadyToRunHelperNode.EmitInlineTLSAccess",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=531462
Error message validated: ILCompiler.DependencyAnalysis.ReadyToRunHelperNode.EmitInlineTLSAccess
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 1/18/2024 6:35:26 PM UTC

Report

Build Definition Step Name Console log Pull Request
532499 dotnet/runtime Build product Log
531604 dotnet/runtime Build product Log
531462 dotnet/runtime Build product Log #97062
530911 dotnet/runtime Build product Log

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
2 4 4
@jkotas jkotas added blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab labels Jan 18, 2024
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jan 18, 2024
@ghost
Copy link

ghost commented Jan 18, 2024

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=531462
Build error leg or test failing: Build / windows-x64 Release NativeAOT_Checked_Libs_SizeOpt / Build product
Pull request: #97062

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "ILCompiler.DependencyAnalysis.ReadyToRunHelperNode.EmitInlineTLSAccess",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}
Author: jkotas
Assignees: -
Labels:

area-Infrastructure-libraries, blocking-clean-ci, Known Build Error

Milestone: -

@jkotas
Copy link
Member Author

jkotas commented Jan 18, 2024

Introduced by #89472.

@kunalspathak Number of tests in runtime-nativeaot-outerloop are failing with this crash. Could you please take a look?

@jkotas jkotas added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 18, 2024
@ghost
Copy link

ghost commented Jan 18, 2024

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

Issue Details

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=531462
Build error leg or test failing: Build / windows-x64 Release NativeAOT_Checked_Libs_SizeOpt / Build product
Pull request: #97062

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "ILCompiler.DependencyAnalysis.ReadyToRunHelperNode.EmitInlineTLSAccess",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=531462
Error message validated: ILCompiler.DependencyAnalysis.ReadyToRunHelperNode.EmitInlineTLSAccess
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 1/18/2024 6:35:26 PM UTC

Author: jkotas
Assignees: -
Labels:

area-Infrastructure-libraries, area-CodeGen-coreclr, blocking-clean-ci, untriaged, Known Build Error

Milestone: -

@kunalspathak
Copy link
Member

I will take a look

@kunalspathak
Copy link
Member

We do not inline TLS access if there is a preference for size as seen here:

// Always expand for NativeAOT because the TLS access will not be generated by NativeAOT
const bool isNativeAOT = IsTargetAbi(CORINFO_NATIVEAOT_ABI);
if (!isNativeAOT && opts.OptimizationDisabled())
{
JITDUMP("Optimizations aren't allowed - bail out.\n")
return result;
}
// TODO: Replace with opts.compCodeOpt once it's fixed
const bool preferSize = opts.jitFlags->IsSet(JitFlags::JIT_FLAG_SIZE_OPT);
if (preferSize)
{
// The optimization comes with a codegen size increase
JITDUMP("Optimized for size - bail out.\n")
return result;
}

As stated in #89472 (comment), ignoring the preferSize increases the binary size. I will add back the hand assembly code.

@jkotas
Copy link
Member Author

jkotas commented Jan 18, 2024

ignoring the preferSize increases the binary size. I will add back the hand assembly code.

The binary size increase is very small. I would be fine to take it to make things simpler.

@kunalspathak
Copy link
Member

The binary size increase is very small. I would be fine to take it to make things simpler.

Yes, they are. So, I will just ignore the preferSize.

Timeline Compilation mode Size of reproNative.exe (in KB)
Before this PR --Os 3981
This PR --OS 3981
This PR + ignore preferSize --OS 3985
Before this PR -O 4041
This PR -O 4044

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jan 19, 2024
@ghost ghost removed in-pr There is an active PR which will close this issue when it is merged untriaged New issue has not been triaged by the area owner labels Jan 19, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Feb 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants