You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[arm32/linux] Assert failure: dwSrcIndex > dwLastSrcIndex in ABI stress #13241
As part of a fix to this issue this test should be enabled.
This test will run through a lot of different callers. To make a smaller test case, you can ask the test to run only a single caller using the arg --caller-index 1234. However since this is an assertion failure the test output does not show exactly which caller it is (only that it is in the 100-150 area). So to find the proper index the following can be done:
Run with verbose, i.e. --pinvokes --num-calls 1000 --verbose
It will give a lot of output. Once it asserts, scroll up to see the name of the caller that was being tested. It should be something like ABIStress_Pinvoker1234
Rerun the test with only this caller, i.e. something like --pinvokes --caller-index 1234. This should reproduce the problem without going through a bunch of other callers first.
Activity
BruceForstall commentedon Aug 12, 2019
I presume this depends on dotnet/coreclr#26090
jakobbotsch commentedon Aug 12, 2019
Yes indeed, I opened this to have something to reference when excluding that test for arm32.
jakobbotsch commentedon Aug 14, 2019
The test that found this is currently disabled on ARM32:
https://github.com/dotnet/coreclr/blob/fdb2bc4233bf93e44bda4b1ae3b1432e80c9f0da/tests/issues.targets#L232-L234
As part of a fix to this issue this test should be enabled.
This test will run through a lot of different callers. To make a smaller test case, you can ask the test to run only a single caller using the arg
--caller-index 1234. However since this is an assertion failure the test output does not show exactly which caller it is (only that it is in the 100-150 area). So to find the proper index the following can be done:--pinvokes --num-calls 1000 --verboseABIStress_Pinvoker1234--pinvokes --caller-index 1234. This should reproduce the problem without going through a bunch of other callers first.BruceForstall commentedon Apr 29, 2020
The assert is in
StubLinkerCPU::EmitShuffleThunk()jakobbotsch commentedon Apr 29, 2020
Maybe this could be similar to #13225?
jakobbotsch commentedon Mar 13, 2022
Should this be assigned to someone else @BruceForstall? Since this looks like a VM bug.
jakobbotsch commentedon Mar 13, 2022
Small self-contained repro:
Linux/Windows arm32 result:
Keep some tests disabled that may hit dotnet#13241
Fix assert for ARM shuffle thunk
Fix assert for ARM shuffle thunk (#66642)
Fix assert for ARM shuffle thunk (dotnet#66642)