-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Remove spurious assertion check causing .NET Core crashes #89986
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
Changes from all commits
bd0d278
471781e
52ecaf2
8b07817
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||
---|---|---|---|---|
|
@@ -2142,7 +2142,8 @@ private static unsafe nuint NarrowUtf16ToAscii_Intrinsified_256(char* pUtf16Buff | |||
// jumps as much as possible in the optimistic case of "all ASCII". If we see non-ASCII | ||||
// data, we jump out of the hot paths to targets at the end of the method. | ||||
|
||||
Debug.Assert(Vector256.IsHardwareAccelerated, "Vector256 is required."); | ||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are similar asserts in multiple other places, e.g. here:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm curious about this as well. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, they all theoretically have the same problem. We "probably" want to eventually make these annotated as Since the current code isn't "broken", it will just have worse perf than expected until these helpers get rejitted as well; the simpler fix of removing the assert is likely better for right now. The general issue is that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think, .NET Runtime currently have some bug inside morph.cpp. May be it's the same as previous which was fixed some years ago by dotnet/coreclr#15814 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could anybody view changes inside my branch bugfix/trying-to-fix-bug-with-build? I think it fix problem with current build (currently I check it). If so, I can create PR or somebody from .NET team can cherry pick my commit There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Maximys - I believe we intentionally removed the -O Crossgen2 option as it should be implied by assembly-level attributes set by the Roslyn compiler. Can you please be more specific as to what exactly is failing for you? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @trylek , I have next result of build.cmd run without -O Crossgen2:
|
||||
// Commented out to workaround https://github.com/dotnet/runtime/issues/90265 | ||||
// Debug.Assert(Vector256.IsHardwareAccelerated, "Vector256 is required."); | ||||
AaronRobinsonMSFT marked this conversation as resolved.
Show resolved
Hide resolved
|
||||
Debug.Assert(BitConverter.IsLittleEndian, "This implementation assumes little-endian."); | ||||
Debug.Assert(elementCount >= 2 * Vector256.Size); | ||||
|
||||
|
Uh oh!
There was an error while loading. Please reload this page.