-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[arm32/linux] Assert failure: dwSrcIndex > dwLastSrcIndex in ABI stress #13241
Comments
I presume this depends on dotnet/coreclr#26090 |
Yes indeed, I opened this to have something to reference when excluding that test for arm32. |
The test that found this is currently disabled on ARM32: 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
|
The assert is in |
Maybe this could be similar to #13225? |
Should this be assigned to someone else @BruceForstall? Since this looks like a VM bug. |
Small self-contained repro: using System;
using System.Runtime.InteropServices;
public class Program
{
public static void Main()
{
CalleeDelegate callee = Callee;
callee(default, default, default, default, default, default);
GC.KeepAlive(callee);
}
private static int Callee(Hfa1 a1, S1P a2, Hfa2 a3, Hfa2 a4, S9U a5, S11U a6)
{
return 0;
}
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate int CalleeDelegate(Hfa1 a1, S1P a2, Hfa2 a3, Hfa2 a4, S9U a5, S11U a6);
public struct S1P { public byte F0; }
public struct S9U { public byte F0, F1, F2, F3, F4, F5, F6, F7, F8; }
public struct S11U { public byte F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10; }
public struct Hfa1 { public float F0, F1; }
public struct Hfa2 { public double F0, F1, F2, F3; }
} Linux/Windows arm32 result: Assert failure(PID 13678 [0x0000356e], Thread: 13678 [0x356e]): dwSrcIndex > dwLastSrcIndex
File: /runtime/src/coreclr/vm/arm/stubs.cpp Line: 1507
Image: /media/windev/dotnet/core_roots/arm32_checked/corerun
Aborted |
Handle case where gap exists at the beginning of the stack range. Fix dotnet#13241
Handle case where gap exists at the beginning of the stack range. Fix #13241
Handle case where gap exists at the beginning of the stack range. Fix dotnet#13241
pinvoke stress on arm32 fails with an assert failure:
Small self-contained example:
category:correctness
theme:pinvoke
skill-level:intermediate
cost:medium
The text was updated successfully, but these errors were encountered: