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

Test failure in Interop workitem: Assert failure !"About to FailFast. set DOTNET_AssertOnFailFast=0 if this is expected" #99133

Closed
JulieLeeMSFT opened this issue Mar 1, 2024 · 4 comments · Fixed by #99247
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs
Milestone

Comments

@JulieLeeMSFT
Copy link
Member

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=578823&view=results
Build error leg or test failing: coreclr windows x86 Checked jitstress_random_2 @ Windows.10.Amd64.Open

Error message:

19:37:08.356 Running test: global::FunctionPtr.RunInvalidGenericFunctionPointerTest()
Running RunInvalidGenericFunctionPointerTest...
Testing GenericCalli with string as the parameter type
Testing GenericCalli with string as the return type

Assert failure(PID 3400 [0x00000d48], Thread: 7952 [0x1f10]): !"About to FailFast. set DOTNET_AssertOnFailFast=0 if this is expected"

CORECLR! DoJITFailFast + 0xBA (0x71d972ac)
CORECLR! CrawlFrame::SetCurGSCookie + 0x2F (0x71c6887a)
CORECLR! StackFrameIterator::PreProcessingForManagedFrames + 0x51 (0x71c68327)
CORECLR! StackFrameIterator::ProcessCurrentFrame + 0x21C (0x71c6868b)
CORECLR! StackFrameIterator::NextRaw + 0x9D5 (0x71c67f9c)
CORECLR! StackFrameIterator::Next + 0x50 (0x71c67581)
CORECLR! Thread::StackWalkFramesEx + 0x198 (0x71c68bee)
CORECLR! Thread::StackWalkFrames + 0x152 (0x71c689d2)
CORECLR! LookForHandler + 0x1A (0x71b709ca)
CORECLR! CPFH_RealFirstPassHandler + 0xB79 (0x71f35ccb)
    File: D:\a\_work\1\s\src\coreclr\vm\jithelpers.cpp:4674
    Image: C:\h\w\A5C408EC\p\corerun.exe

App Exit Code: -1073740286
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
@JulieLeeMSFT JulieLeeMSFT added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs labels Mar 1, 2024
@JulieLeeMSFT JulieLeeMSFT added this to the 9.0.0 milestone Mar 1, 2024
@ghost
Copy link

ghost commented Mar 1, 2024

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

Issue Details

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=578823&view=results
Build error leg or test failing: coreclr windows x86 Checked jitstress_random_2 @ Windows.10.Amd64.Open

Error message:

19:37:08.356 Running test: global::FunctionPtr.RunInvalidGenericFunctionPointerTest()
Running RunInvalidGenericFunctionPointerTest...
Testing GenericCalli with string as the parameter type
Testing GenericCalli with string as the return type

Assert failure(PID 3400 [0x00000d48], Thread: 7952 [0x1f10]): !"About to FailFast. set DOTNET_AssertOnFailFast=0 if this is expected"

CORECLR! DoJITFailFast + 0xBA (0x71d972ac)
CORECLR! CrawlFrame::SetCurGSCookie + 0x2F (0x71c6887a)
CORECLR! StackFrameIterator::PreProcessingForManagedFrames + 0x51 (0x71c68327)
CORECLR! StackFrameIterator::ProcessCurrentFrame + 0x21C (0x71c6868b)
CORECLR! StackFrameIterator::NextRaw + 0x9D5 (0x71c67f9c)
CORECLR! StackFrameIterator::Next + 0x50 (0x71c67581)
CORECLR! Thread::StackWalkFramesEx + 0x198 (0x71c68bee)
CORECLR! Thread::StackWalkFrames + 0x152 (0x71c689d2)
CORECLR! LookForHandler + 0x1A (0x71b709ca)
CORECLR! CPFH_RealFirstPassHandler + 0xB79 (0x71f35ccb)
    File: D:\a\_work\1\s\src\coreclr\vm\jithelpers.cpp:4674
    Image: C:\h\w\A5C408EC\p\corerun.exe

App Exit Code: -1073740286
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Author: JulieLeeMSFT
Assignees: jakobbotsch
Labels:

area-CodeGen-coreclr, blocking-clean-ci-optional

Milestone: 9.0.0

@JulieLeeMSFT
Copy link
Member Author

@jakobbotsch PTAL.

@jakobbotsch
Copy link
Member

Perhaps already fixed by #99026? @jkotas could it be related?

@jkotas
Copy link
Member

jkotas commented Mar 4, 2024

This is unrelated issue.

The GSCookie address computed during stackwalking is off by 4. It is off by 4 because the stack pointer is off by 4. The stack pointer is off by 4 because a bug introduced by #57244. The change missed updating PInvokeCalliFrame::UpdateRegDisplay on x86. I am going to submit a PR with the fix shortly.

The bug is harmless most of time since stack pointer is not typically used for anything crucial during unwinding of methods with calli. The JIT stress triggered the crash by creating atypical variant of the code where stack pointer ended up being used to compute the GSCookie address.

jkotas added a commit to jkotas/runtime that referenced this issue Mar 4, 2024
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Mar 4, 2024
jkotas added a commit that referenced this issue Mar 4, 2024
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Mar 4, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Apr 4, 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-optional Blocking optional rolling runs
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants