Open radical opened 3 years ago
Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.
Author: | radical |
---|---|
Assignees: | - |
Labels: | `arch-wasm`, `area-Codegen-AOT-mono`, `wasm-aot-test` |
Milestone: | - |
Sometimes it fails in the WaitHandle tests, a small testcase:
WaitHandle toSignal = new Mutex();
AutoResetEvent toWaitOn = new AutoResetEvent(false);
toWaitOn.Set();
try {
WaitHandle.SignalAndWait (toSignal, toWaitOn);
} catch (Exception ex) {
Console.WriteLine ("EX: " + ex);
}
toWaitOn.WaitOne(0);
This runs with the interpreter, and hangs with AOT.
Instead of a crash, or build error, we get test failures (last week or so):
[18:58:12] info: Starting: System.Runtime.Tests.dll
[18:58:23] fail: [FAIL] System.Tests.StackTraceHiddenAttributeTests.MethodHidden_ExceptionStackTrace
[18:58:23] info: Assert.Contains() Failure
[18:58:23] info: Not found: ThrowStackTraceMethodA
[18:58:23] info: In value: at System.Tests.StackTraceHiddenAttributeTests.MethodHidden_ExceptionStackTrace()
[18:58:23] info: at System.Tests.StackTraceHiddenAttributeTests.MethodHidden_ExceptionStackTrace()
[18:58:38] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
[18:58:38] fail: [FAIL] System.Tests.StackTraceHiddenAttributeTests.MethodHidden_EnvironmentStackTrace
[18:58:38] info: Assert.Contains() Failure
[18:58:38] info: Not found: GetStackTraceMethodA
[18:58:38] info: In value:
[18:58:38] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
[18:58:38] fail: [FAIL] System.Tests.StackTraceHiddenAttributeTests.ConstructorHidden_EnvironmentStackTrace
[18:58:38] info: Assert.Contains() Failure
[18:58:38] info: Not found: NotHiddenConstructor
[18:58:38] info: In value:
[18:58:38] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
[18:58:38] fail: [FAIL] System.Tests.TypeTests.GetTypeByName_InvokeViaReflection_Success
[18:58:38] info: Assert.Equal() Failure
[18:58:38] info: Expected: typeof(System.Tests.TypeTests)
[18:58:38] info: Actual: (null)
[18:58:38] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
[18:59:42] fail: [FAIL] System.Tests.ExceptionTests.Exception_TargetSite_Rethrow
[18:59:42] info: Assert.Equal() Failure
[18:59:42] info: ↓ (pos 0)
[18:59:42] info: Expected: ThrowException
[18:59:42] info: Actual: RethrowException
[18:59:42] info: ↑ (pos 0)
[18:59:42] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
[18:59:42] fail: [FAIL] System.Tests.ExceptionTests.Exception_TargetSite_OtherMethod
[18:59:42] info: Assert.Equal() Failure
[18:59:42] info: ↓ (pos 0)
[18:59:42] info: Expected: ThrowException
[18:59:42] info: Actual: <Exception_TargetSite_OtherMethod>b__8_0
[18:59:42] info: ↑ (pos 0)
[18:59:42] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
[19:00:58] fail: [FAIL] System.Runtime.ExceptionServices.Tests.ExceptionDispatchInfoTests.SetCurrentStackTrace_IncludedInExceptionStackTrace
[19:00:58] info: Assert.Contains() Failure
[19:00:58] info: Not found: ABCDEFGHIJKLMNOPQRSTUVWXYZ
[19:00:58] info: In value:
[19:00:58] info: --- End of stack trace from previous location ---
[19:00:58] info:
[19:00:58] info: at System.Runtime.ExceptionServices.Tests.ExceptionDispatchInfoTests.SetCurrentStackTrace_IncludedInExceptionStackTrace()
[19:00:58] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
Most of these are AOT stack trace related
The stacktrace related tests have been disabled. Last remaining test:
[22:09:18] fail: [FAIL] System.Tests.TypeTests.GetTypeByName_InvokeViaReflection_Success
[22:09:18] info: Assert.Equal() Failure
[22:09:18] info: Expected: typeof(System.Tests.TypeTests)
[22:09:18] info: Actual: (null)
[22:09:18] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
this doesn't fail with eat?
this doesn't fail with eat?
Yep
<test name="System.Tests.TypeTests.GetTypeByName_InvokeViaReflection_Success"
type="System.Tests.TypeTests"
method="GetTypeByName_InvokeViaReflection_Success"
time="0.000297"
result="Pass" />
This is not going to work with aot because it calls Type.GetType ("FOO"); which uses a stack walk to obtain the calling assembly which is used to resolved FOO.
Should the test be disabled with this as the ActiveIssue, or just disable it?
Just disable it imho it's not going to get fixed.
System.Runtime.Tests
Seen in https://github.com/dotnet/runtime/pull/52004/checks?check_run_id=2517540700