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

Add more logs and attempt to fix CI Loop instability: Build and Pack NuGet randomly fails #3492

Merged
10 commits merged into from
Oct 23, 2019
Merged

Add more logs and attempt to fix CI Loop instability: Build and Pack NuGet randomly fails #3492

10 commits merged into from
Oct 23, 2019

Conversation

licanhua
Copy link
Contributor

@licanhua licanhua commented Oct 22, 2019

This PR is attempted to but will not completely fix bug #3444.
From what I see, problem is timeout in 'Run Desktop Integration Tests', and here are some possible reasons:

  1. app crashes because of assert command
  2. app crashes in RunTest
  3. test case is waiting for metro bundle's response
  4. when one of the tests fail, the test doesn't continue and I don't know which test is still running.

I'm trying to:

  1. add blame flag for vstest, and expect it provides information like: The active Test Run was aborted because the host process exited unexpectedly while executing following test(s): RNTesterIntegrationTests::IntegrationTestHarness
  2. RunConfiguration.TestSessionTimeout=120000 to avoid wait for ever
  3. try...catch...exception and convert the exception to test failure with the current_exception_diagnostic_information message.
  4. List Desktop Integration Tests to list all tests when vstest failed
  5. Increase the wait time to 2 minutes to exclude the problem of readiness of metro bundle
  6. re-run the test if it failed.
Microsoft Reviewers: Open in CodeFlow

@licanhua licanhua requested a review from a team as a code owner October 22, 2019 22:17
@JunielKatarn
Copy link
Contributor

This PR is attempted to but will not completely fix bug #3444.
From what I see, problem is timeout in 'Run Desktop Integration Tests', and here are some possible reasons:

  1. app crashes because of assert command
  2. app crashes in RunTest

All the instances I have observed are test cancellations due to timeout.

  1. test case is waiting for metro bundle's response

The bundler and WebSocket servers do very light-weight tasks and transmit relatively small content.
The only scenario I think this could happen is if the bundler itself crashed and was no longer available.

  1. when one of the tests fail, the test doesn't continue and I don't know which test is still running.

Not sure about this. If a test fails, the next one gets executed, in principle. The root issue is most likely a hang (not a explicit failure, but an infinite wait).

@licanhua
Copy link
Contributor Author

licanhua commented Oct 23, 2019

All the instances I have observed are test cancellations due to timeout.

In my local machine, if the app crashed, the vstest.console is always spinning.

@licanhua
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@licanhua licanhua added the AutoMerge Causes a PR to be automatically merged once all requirements are passed (label drives bot activity) label Oct 23, 2019
@ghost
Copy link

ghost commented Oct 23, 2019

Hello @licanhua!

Because this pull request has the AutoMerge label, I will be glad to assist with helping to merge this pull request once all check-in policies pass.

p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (@msftbot) and give me an instruction to get started! Learn more here.


AwaitEvent(functionCalled, result);

instance->DetachRootView();
}
Copy link
Member

@asklar asklar Oct 23, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we wouldn't get a stack trace here though? can we capture the stack trace from the exception? #Resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stack trace is not what I target yet.
exception is just suspicious which may contribute the timeout. Here catching all exception is just help to narrow down the problem.
If I see this error, I will provide more logs like catch(std::exception) and log the stack.


In reply to: 337866067 [](ancestors = 337866067)

Copy link
Member

@asklar asklar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@ghost ghost merged commit c3d4fec into microsoft:master Oct 23, 2019
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AutoMerge Causes a PR to be automatically merged once all requirements are passed (label drives bot activity)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants