[Buildbot-devel] Where did my stdout go?
Greg Ward
gerg.ward+buildbot at gmail.com
Tue Nov 6 02:17:46 UTC 2007
On Nov 5, 2007 1:11 PM, I wrote:
> Crap. I spoke too soon. It worked perfectly with redirecting stdout
> from the command line; it did not work inside Buildbot.
[...]
> File "c:\Python24\lib\subprocess.py", line 413, in call
> return Popen(*args, **kwargs).wait()
> File "c:\Python24\lib\subprocess.py", line 534, in __init__
> (p2cread, p2cwrite,
> File "c:\Python24\lib\subprocess.py", line 594, in _get_handles
> p2cread = self._make_inheritable(p2cread)
> File "c:\Python24\lib\subprocess.py", line 635, in _make_inheritable
> DUPLICATE_SAME_ACCESS)
> TypeError: an integer is required
Stil broken, and nothing I pass to subprocess.call() (or Popen()) will
make it work. And this stack trace never happens when I run my test
program from the command line; it's only when running under Buildbot
that subprocess barfs. So there's *something* strange about the
buildslave execution environment that breaks Python's subprocess
module (at least with 2.4.4).
I went so far as to pass "stdout=PIPE, stderr=PIPE" and then create
two threads to read the child's stdout/stderr and write them to
sys.stdout/sys.stderr. No luck. subprocess.call() blows up in
exactly the same way when I pass "stdout=PIPE" as when I pass
"stdout=sys.stdout".
I guess I'll try redirecting to a file and dumping that. Yuck.
Greg
More information about the devel
mailing list