-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Test failure: System.ServiceProcess.Tests.ServiceBaseTests.TestOnStartWithArgsThenStop (expected: 6, Actual: 0) #38945
Comments
Test service apparently returned PipeMessageByteCode.Start when PipeMessageByteCode.Connected was expected. It expects Start to be transmitted after Connected. Apparently it's then in a bad state as subsequently it did not respond to a stop message. There is some asynchrony in the test service writes. constructor:
OnStart() - called directly after
@stephentoub is the code above written such that Start will reliably only be written after Connected? @dotnet/dnceng when I go to the link above, the "Helix Test Logs (Beta)" tab just says "Unable to Load Helix Data". Is that expected? |
Sorry, realized this is a duplicate of #37540 and #36207. I used the filter Feel free to close this one. |
The test logs tab isn't supported for a specific run. If you click on one of the tests in the run it does work. |
@alexperovich I see -- maybe it should say that .. |
I'll dupe the other issues to this one since this is where the party is happening. Interested to hear from @stephentoub. 🍿 My read of that code is that Line 928 in 6072e4d
|
I bet you could force this to happen by doing _waitClientConnect.ContinueWith(Task.Delay(5000)).ContinueWith((t) => WriteStreamAsync(PipeMessageByteCode.Connected)); Then you could fix it by making _waitClientConnect be the task returned from all continuations, then Wait() that task in OnStart. |
The only thing related to that this guarantees:
is that the |
OK, so there's a bug. Should the constructor instead be _waitClientConnect = this._serverStream.WaitForConnectionAsync().ContinueWith((t) => WriteStreamAsync(PipeMessageByteCode.Connected)); I'll go re-read the async documentation as I need to understand this better. |
Yeah. You do that and make sure OnStart waits on that task before sending start message. |
I'll fix it..assuming I remember the magic to make these tests actually run for me |
Build
https://dev.azure.com/dnceng/public/_build/results?buildId=720801&view=ms.vss-test-web.build-test-results-tab&runId=22327000
Message
Stack trace
The text was updated successfully, but these errors were encountered: