Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: 0.5.1, 0.5.2, 0.5.4, 0.5.6
-
Fix Version/s: 0.6.0
-
Component/s: Chef Client
-
Labels:None
Description
There is a bug in Chef::Mixin::Command, which causes Chef to block when reading more than 4k of output. The side-effects are numerous and insidious. ![]()
Activity
- All
- Comments
- History
- Activity
- Transitions Summary
This has been fixed. We now use IO.select to get at STDOUT/STDERR, along with setting them to Nonblock, and waiting for the output. We then populate a new StringIO object with the output, which is what gets passed to popen4.
It does cost us memory, but the result is avoiding both the 4k bug and the grandchild bug.