runtime: [wasm][debugger] `DebuggerTests.AssignmentTests.InspectVariableBeforeAndAfterAssignment` failing

Failing on rolling build - Build, and Log

[21:35:25] info: Microsoft.WebAssembly.Diagnostics.TestHarnessProxy[0] New test request
[21:35:25] info: Microsoft.WebAssembly.Diagnostics.TestHarnessProxy[0] launching proxy for ws://127.0.0.1:37767/devtools/page/79E663E76834EA440CBAB0CD2CAB2BDB
[21:35:25] info: DebuggerTests.Inspector[0] waiting for the runtime to be ready
[21:35:27] info: DebuggerTests.Inspector[0] runtime ready, TEST TIME
[21:35:27] info: DebuggerTests.Inspector[0] console.log: ready
[21:35:27] fail: Microsoft.WebAssembly.Diagnostics.DevToolsProxy[0] sending error response for id: msg-:::9 -> [Result: IsOk: False, IsErr: True, Value: , Error: {   "message": "Unable to RuntimeGetProperties 'dotnet:scope:1'" } ]
[21:35:27] info: DebuggerTests.Inspector[0] console.trace: * Assertion at /__w/1/s/src/mono/mono/component/debugger-agent.c:2195, condition `<disabled>' not met 
[21:35:27] info: DebuggerTests.Inspector[0] console.error: * Assertion at /__w/1/s/src/mono/mono/component/debugger-agent.c:2195, condition `<disabled>' not met 
[21:35:27] dbug: Microsoft.WebAssembly.Diagnostics.InspectorClient[0] RunLoop stopped, reason: Shutdown. (parentToken: True, linked: True): 
[21:35:27] dbug: Microsoft.WebAssembly.Diagnostics.InspectorClient[0] Failing 0 pending cmds
[21:35:27] dbug: Microsoft.WebAssembly.Diagnostics.InspectorClient[0] Loop ended with socket: Aborted
[21:35:27] info: Microsoft.WebAssembly.Diagnostics.TestHarnessProxy[0] Proxy done
[xUnit.net 00:00:15.58]     DebuggerTests.AssignmentTests.InspectVariableBeforeAndAfterAssignment(clazz: "MONO_TYPE_ENUM", checkDefault: [[[...]], [[...]], [[...]], [[...]]], checkValue: [[[...]], [[...]], [[...]], [[...]]]) [FAIL]
[21:35:28] dbug: Microsoft.WebAssembly.Diagnostics.InspectorClient[0] connecting to ws://localhost:9400/launch-chrome-and-connect
[21:35:28] info: Microsoft.WebAssembly.Diagnostics.TestHarnessProxy[0] New test request
[21:35:28] info: Microsoft.WebAssembly.Diagnostics.TestHarnessProxy[0] launching proxy for ws://127.0.0.1:36459/devtools/page/1075ADF29D9088A2E8B9BF6E78493EBB
[21:35:28] info: DebuggerTests.Inspector[0] waiting for the runtime to be ready
  Failed DebuggerTests.AssignmentTests.InspectVariableBeforeAndAfterAssignment(clazz: "MONO_TYPE_ENUM", checkDefault: [[[...]], [[...]], [[...]], [[...]]], checkValue: [[[...]], [[...]], [[...]], [[...]]]) [153 ms]
  Error Message:
   [Runtime.getProperties returned False instead of True, for {
  "objectId": "dotnet:scope:1"
}, with Result: [Result: IsOk: False, IsErr: True, Value: , Error: {
  "message": "Unable to RuntimeGetProperties 'dotnet:scope:1'"
} ]]

Expected: True
Actual:   False
  Stack Trace:
     at DebuggerTests.DebuggerTestBase.AssertEqual(Object expected, Object actual, String label) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 1058
   at DebuggerTests.DebuggerTestBase.GetProperties(String id, JToken fn_args, Nullable`1 own_properties, Nullable`1 accessors_only, Boolean expect_ok) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 835
   at DebuggerTests.DebuggerTestBase.SendCommandAndCheck(JObject args, String method, String script_loc, Int32 line, Int32 column, String function_name, Func`2 wait_for_event_fn, Func`2 locals_fn, String waitForEvent) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 512
   at DebuggerTests.DebuggerTestBase.StepAndCheck(StepKind kind, String script_loc, Int32 line, Int32 column, String function_name, Func`2 wait_for_event_fn, Func`2 locals_fn, Int32 times) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 472
   at DebuggerTests.AssignmentTests.InspectVariableBeforeAndAfterAssignment(String clazz, JObject checkDefault, JObject checkValue) in /_/src/mono/wasm/debugger/DebuggerTestSuite/AssignmentTests.cs:line 48
--- End of stack trace from previous location ---

The runtime is asserting at https://github.com/dotnet/runtime/blob/main/src/mono/mono/component/debugger-agent.c#L2195:

...
[21:35:27] info: DebuggerTests.Inspector[0] console.trace: * Assertion at /__w/1/s/src/mono/mono/component/debugger-agent.c:2195, condition `<disabled>' not met 
[21:35:27] info: DebuggerTests.Inspector[0] console.error: * Assertion at /__w/1/s/src/mono/mono/component/debugger-agent.c:2195, condition `<disabled>' not met 
...

This was hit on the rolling build for https://github.com/dotnet/runtime/commit/4a6d169f5391532340074b0be4cab737c6ccdfc8 but was working on the previous build for https://github.com/dotnet/runtime/commit/5605bdff4b104496941cc9e6acfc19783a52e7b8 , and the new commit being: https://github.com/dotnet/runtime/commit/4a6d169f5391532340074b0be4cab737c6ccdfc8

Add runtime support for ref fields (#63985)
* Add mono and coreclr runtime support for ref fields

* Update Reflection.Emit tests to validate ref fields.

Add test for TypedReference as a ref field.

cc @AaronRobinsonMSFT

{
    "ErrorMessage": "Failed DebuggerTests.AssignmentTests.InspectVariableBeforeAndAfterAssignment",
    "BuildRetry": false
}

Report

Build Definition Test Pull Request
291985 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84191
291509 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86722
291438 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86813
291252 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86501
290651 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84512
290344 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86925
286567 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84191
286566 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84191
286306 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86664
285659 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84191
285663 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84191
284376 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84191
283355 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86278
280613 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84191
278935 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#85558
276439 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#84191
275141 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86255
274058 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86255
271904 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#86152
267595 dotnet/runtime chrome-DebuggerTests.AssignmentTests.WorkItemExecution dotnet/runtime#85730

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
1 6 20

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 18 (16 by maintainers)

Commits related to this issue

Most upvoted comments

I’m working on it.

I have removed the known build error label because we don’t have a unique string to match this error. The current one being used matches any failure in this test, and that can end up covering other unrelated genuine failures.

The error message has to improve, build analysis will match this known issue with any failed build or test that contains the string DebuggerTests.AssignmentTests.InspectVariableBeforeAndAfterAssignment. For example, this build

A better error message would be Failed DebuggerTests.AssignmentTests.InspectVariableBeforeAndAfterAssignment

I can, I just wanted to point out that the problem is not in the test runners themselves but in .NET 6.0. IN case you were trying to trace down a test problem.

I didn’t see the failure on the subsequent rolling build, so removing blocking-clean-ci label.

@AaronRobinsonMSFT it’s possibly unrelated with that commit. Still working on it.