-
Notifications
You must be signed in to change notification settings - Fork 274
Improvements to robustness of piped process support on Windows #6675
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
Improvements to robustness of piped process support on Windows #6675
Conversation
To reduce the likelihood of exceeding its capacity.
To give the sub process more time to read from the pipe.
364068d
to
5aed74f
Compare
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.
Approving in the interest of debugging the repeat failures, but please do consider the comments I provided.
So that the changes in the following commit do not get mixed in with clang-format related include re-ordering.
Codecov Report
@@ Coverage Diff @@
## develop #6675 +/- ##
========================================
Coverage 76.81% 76.81%
========================================
Files 1582 1582
Lines 182774 182764 -10
========================================
- Hits 140403 140399 -4
+ Misses 42371 42365 -6
Continue to review full report at Codecov.
|
5aed74f
to
b6f9b52
Compare
b6f9b52
to
aff1f8c
Compare
src/util/piped_process.cpp
Outdated
@@ -372,6 +372,7 @@ piped_processt::send_responset piped_processt::send(const std::string &message) | |||
break; | |||
// Give the sub-process chance to read the waiting message(s). | |||
FlushFileBuffers(child_std_IN_Wr); | |||
Sleep(1 << send_attempts); |
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.
What's the unit of that?
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.
Milliseconds.
So that if it fails again we have more information in the CI log.
aff1f8c
to
52d5788
Compare
Intermittent failures have been observed for the
bitvector-arithmetic-operators/simple_equation.desc
test when running in CI for the Windows job. See https://github.com/diffblue/cbmc/runs/5202299979?check_suite_focus=true or https://github.com/diffblue/cbmc/runs/5201922925?check_suite_focus=true for examples.This PR contains a collection of potential improvements to the robustness of piped process support on Windows. These should collectively reduce the likelihood of the issue occurring again and help with debugging if it does. I am happy to discuss the benefits of spitting these out to try them individually and work out which are required or just merging all of them in order to get the issue resolved ASAP.