[Buildbot-devel] Where did my stdout go?

Greg Ward gerg.ward+buildbot at gmail.com
Mon Nov 5 18:11:32 UTC 2007


On 11/5/07, Greg Ward <gerg.ward+buildbot at gmail.com> wrote:
[me, earlier today]
> Ah-HA!!  Thank you.  That worked perfectly.

Crap.  I spoke too soon.  It worked perfectly with redirecting stdout
from the command line; it did not work inside Buildbot.

In particular, my "windows-build" script dies like this:

Traceback (most recent call last):
  File "c:\slave\windows-setup\build\LoadBuild\bbot\windows-build.py",
line 100, in ?
    main()
  File "c:\slave\windows-setup\build\LoadBuild\bbot\windows-build.py",
line 89, in main
    dry_run=options.dry_run)
  File "C:\DevelopmentTools\lib\ims\util\spawn.py", line 49, in spawn
    status = subprocess.call(cmd, stdout=sys.stdout, stderr=sys.stderr)
  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

If I run it in the same way that Buildbot does from the command line,
it's fine.  That holds true for no redirection, redirecting stdout,
and writing to a pipe.

I'll try reverting the "stdout=sys.stdout, stderr=sys.stderr" change
and see how that goes...

Greg




More information about the devel mailing list