It's used in later commit. This is an os.pipe() wrapper that traps the
file descriptors in a file object, to ensure leaked objects will
eventually be collected, and a central place exists to track open/closed
status.
This is the same problem as used to afflict Stream: large input buffers
containing many small messages cause intense string copying. This
eliminates the worst of it.
* origin/ci280:
ci: Another round of fixes for random Ansible UI breakage in 2.7/2.8
ci: work around various broken aspects of Travis VM image
Use virtualenv Python for stub connections to workaround problem
ci: Ansible 2.8 requires Python 2.7.
tests: add 2.8 format async error timeout message
ansible: prevent tempfile.mkstemp() leaks.
update gitignore again
ci: try bumping more Travis jobs to Ansible 2.8.
add .*.pid to gitignore
tests: allow running without hdrhistograms library.
issue #578: update Changelog.
travis: exclude docs-master from CI
issue #589: ensure real FileService/PushFileService are in the docs
issue #589: ensure real FileService/PushFileService are in the docs
docs: add new contributor entry
issue #589: remove outdated/incomplete examples
issue #589: split services example out and make it run.
- Symlink broken Ubuntu Python package pieces back together. See many
Google hits about this issue.
- Remove apt sources that can no longer be updated.
../data/stubs/stub-kubectl.py exec -it localhost -- /usr/bin/python -c "...":
Traceback (most recent call last):
File "<string>", line 1, in <module>
LookupError: unknown encoding: base64
It's not clear why this is happening. "stub-kubectl.py" is executed with
the 2.7 virtualenv, while the exec() that happens inside stub-kubectl
was for "/usr/bin/python".
That second Python can't find chunks of its stdlib:
stat("/usr/lib/python2.7/encodings/base64", 0x7ffde8744c60) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/encodings/base64.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/encodings/base64module.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/encodings/base64.py", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.7/encodings/base64.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "Traceback (most recent call last):\n", 35) = 35
write(2, " File \"<string>\", line 1, in <module>\n", 39) = 39