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

Investigate and fix broken dump tests on macos #4165

Open
Evangelink opened this issue Nov 26, 2024 · 1 comment
Open

Investigate and fix broken dump tests on macos #4165

Evangelink opened this issue Nov 26, 2024 · 1 comment

Comments

@Evangelink
Copy link
Member

In #4155, we are introducing macos leg to our pipeline and we notice that all dump related acceptance tests are failing. The error is not obvious and I don't have the time to investigate right now so skipping the tests on macos and creating this task for us to investigate in a near future.

I am also attaching the test output so we can refer to it when we will investigate: Microsoft.Testing.Platform.Acceptance.IntegrationTests_net8.0_x64 (60).log

@nohwnd
Copy link
Member

nohwnd commented Nov 27, 2024

this is pretty curious, the output says that the child process exited. But we still are for 60s running the test until the invocator kills it on timeout:

failed CrashDump_Formats_CreateDump (format: "Mini") (6m 41s 475ms)
  System.TimeoutException: Timeout after 60s on command line: '/Users/runner/work/1/s/artifacts/tmp/Debug/testsuite/i4OvG/CrashDumpFixture/bin/Release/net8.0/CrashDump --crashdump --crashdump-type Mini --results-directory /Users/runner/work/1/s/artifacts/tmp/Debug/testsuite/i4OvG/CrashDumpFixture/540b07afc8884f8ca547c6318b89eb6b'
  STD: .NET Testing Platform v1.5.0-ci (UTC 11/26/2024) [osx-x64 - net8.0]
  [createdump] 0012fd17 TickFrequency: 1000000 ticks per ms
  [createdump] 0012fd17 PAGE_SIZE 4096
  [+0/x0/?0] CrashDump.dll (net8.0|x64)(3s)
  [+0/x0/?0] CrashDump.dll (net8.0|x64)(6s)
...
  [+0/x0/?0] CrashDump.dll (net8.0|x64)(52s)
  [+0/x0/?0] CrashDump.dll (net8.0|x64)(55s)
  ERR: Process terminated. CrashDump
     at System.Environment.FailFast(System.String)
     at DummyTestAdapter.ExecuteRequestAsync(Microsoft.Testing.Platform.Extensions.TestFramework.ExecuteRequestContext)


[Test failure stack trace]
at Microsoft.Testing.TestInfrastructure.CommandLine.RunAsyncAndReturnExitCodeAsync(String commandLine, IDictionary`2 environmentVariables, String workingDirectory, Boolean cleanDefaultEnvironmentVariableIfCustomAreProvided, Int32 timeoutInSeconds) in 

So it looks like the testhost controller does not see the child process exiting, or the dumper sees it and fails without any additional info, or the dump collection is stuck at initialization, and so the test keeps running because the testhost controller keeps being alive.


As a first step I would try using stack overflow to trigger the crash in the process, to see if we get the dump captured this way. There was a bug that did not collect dumps from fail fast, in the past.

But I don't think there was an issue with seeing the child process exiting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants