-
Notifications
You must be signed in to change notification settings - Fork 331
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
don't dump stack of parent when child process exits unexpectedly #4461
Comments
Looks like this maybe means something liek when CommonResources.TestHostProcessCrashed
then don't include the exception in the TestRunCompleteEventArgs, or something.
is the kind of thing I mean. |
Hi @danmoseley I agree with you that error doesn't mean nothing pretty always only that the testhost process is not exited gracefully but the reason is usually a real crash or a forced crash for a requested dump. @nohwnd what you think? I think it would be fine maybe log in the file but catch in some way and don't flow to the console. cc: @jakubch1 @Evangelink |
It could be great to get the source of the crash, if possible. E.g., if the test was killed by timeout. |
@RussKie in the output at the moment there's the reason...the issue is that is "mixed" with an useless and out of the context stack trace. |
Right, we're all in agreement that the output should include all possible info about the test process, including any callstack, exit code, whether it timed out, etc. We should suppress the internal details of the parent behavior, which is irrelevant and misleading, so that the customer relevant info is clearer. |
@marco Yes. |
I'm not sure of configuration, but I've seen this for several years: when a child test process terminates unexpectedly (perhaps because it hung and was killed) then the test infra dumps the stack trace of the parent process when the connection drops. The example below came from running some tests in Azure DevOps yesterday.
This stack trace ought to be suppressed. It is not useful to anyone except someone debugging the vstest parent process, as far as I know. Each time I see it, I start analyzing it until I remember that it is not relevant. In the case below, I guess Azure DevOps (?) printed "Please inspect the call stack above, if available, to get more information about where the exception originated from." which makes the confusion worse.
Suggestion: do not dump the callstack from the parent when there's an exception inside
NotifyDataAvailable()
. It causes more confusion than value. Instead, just print something like "The test process exited unexpectedly."cc @RussKie
The text was updated successfully, but these errors were encountered: