-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Handle success case for overlapped IO in Windows Diagnostics IPC PAL #39807
Handle success case for overlapped IO in Windows Diagnostics IPC PAL #39807
Conversation
Tagging subscribers to this area: @tommcdon |
AzDO says the legs marked "running" actually completed successfully, so the CI is actually all green. This happened on another PR of mine. |
#39789 didn't automerge and turn the pauseonstart test off (due to the same GH issue I mentioned above). This worked out in my favor since a failure early this morning used the new dumping logic that I added to CI and the dump shows the same symptom that I believe this PR is fixing, i.e.,
|
27b2080
to
f00424c
Compare
Happened again: The CI is green according to AzDO, but GH hasn't updated to show the jobs as completed or successful. |
outerloop didn't seem to kick off correctly because the OSX leg hit a homebrew error so the tests never built for running on other platforms. Innerloop passed all green, so I'll merge this morning if there are no objections. |
The OSX issue has been fixed, but it was after the PR was opened, so probably would require rebasing. Not sure it's justified. |
Agreed. I'll give it another moment for people to air their opinions and then merge it in. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the changes LGTM but we should make sure OSX legs pass before we check this in
@sywhang I don't think any changes here would affect the OSX legs. It sounds like that's an infrastructure bug. I can rebase and rerun outer loop, but I'm not sure it would do much at this point. |
1b734e9
to
df57001
Compare
Hello @josalem! Because this pull request has the 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 (
|
Windows failures are unrelated (Interop PInvoke CopyCtor test), and the mac failure is a known issue unrelated to these changes being investigated in #39979. |
Remaining test failures are unrelated. I'll merge without if there's no further objection. |
…otnet#39807) Prevents unintialized memory from making its way into the call to WaitForMultipleObjects. That memory could contain a valid handle value and cause WFMO to hang since it isn't waiting on the correct handles.
fixes #38847 (see the issue for more details on my investigation)
There is a missing
else
condition on the error checking for a call toRead
with OverlappedIO. In this case, the value inpHandles[0]
is unset.pHandles[0]
could be:WaitForMultipleObjects
will fail and everything corrects on the second call toPoll
WaitForMultipleObjects
is now waiting on the forward server connection which won't signal and some other handle which presumably also won't signal.In the second case, we will hang and timeout the test. The runtime is effectively single threaded in this state, because the only other thread is waiting in
ceemain.cpp
on the Pause On Start event.CC @tommcdon @BruceForstall @dotnet/dotnet-diag