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

IVstestConsoleWrapper.EndSession leaves console processes hanging around #2026

Closed
AbhitejJohn opened this issue May 24, 2019 · 7 comments
Closed
Assignees
Labels

Comments

@AbhitejJohn
Copy link
Contributor

Description

Calling into IVsTestConsoleWrapper.EndSession does not automatically dispose vstest.console processes and a StartSession thereafter creates a new process. This is in context of tying in diagnostic logging of vstest.console to an IDE switch so its easier to collect logs.

Expected behavior

vstest.console processes need to be cleaned up/recycled.

Actual behavior

Multiple vstest.console processes lying around.

Environment

I'm trying this on the latest previews of VS 2019 update 2.

@singhsarab
Copy link
Contributor

@ShreyasRmsft Seems to be similar to what we were talking about the other day. Do you have an issue filed already ?

@ShreyasRmsft
Copy link
Member

@singhsarab there is an internal bug on mseng. Haven't filed an issue on the repo.

@vagisha-nidhi
Copy link
Contributor

@AbhitejJohn Looked at the issue here. The end session sends a session end message and and when vstest.console receives it, it gets disposed here https://github.com/microsoft/vstest/blob/master/src/Microsoft.TestPlatform.Client/DesignMode/DesignModeClient.cs#L218
There are multiple vstest.console lying around which which is because of this #2034.
I will shortly fix this.

@AbhitejJohn
Copy link
Contributor Author

@vagisha-nidhi : Thanks, can this issue be closed out now?

@vagisha-nidhi
Copy link
Contributor

@AbhitejJohn Yes. Closing this.

@drognanar
Copy link
Member

Reopening this issue as I'm still seeing the vstest.console processes hanging. I'm calling StartSession and EndSession without requesting a discovery and run in between. In this specific case the vstest.console process stays around.

@drognanar
Copy link
Member

From my quick look at the code it seems that EndSession does not wait for the handshake with the test console to be established. This introduces a race between the handshake and EndSession messages sent to the testhost.

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

No branches or pull requests

6 participants