Buildbot - Traceback while polling for changes issue
Question: I'm running on Windows 7 x64. I followed the install documentation on Buildbot
and did some research on the issue I'm having and haven't found a solution
yet. When I do a force build, everything works fine. I'm using GitPoller. When
it tries to poll for changes, an exception is thrown; why? Let me know if I
can supply any more information. Here's what I'm getting on the master's
twistd.log every 5 minutes:

    
    
    2014-10-09 00:19:53-0700 [-] while polling for changes
       Traceback (most recent call last):
         File "C:\Python27\lib\site-packages\buildbot-0.8.9-py2.7.egg\buildbot\util\misc.py", line 54, in start
           d = self.method()
         File "C:\Python27\lib\site-packages\buildbot-0.8.9-py2.7.egg\buildbot\changes\base.py", line 70, in doPoll
           d = defer.maybeDeferred(self.poll)
         File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 139, in maybeDeferred
           result = f(*args, **kw)
         File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 1237, in unwindGenerator
           return _inlineCallbacks(None, gen, Deferred())
       --- <exception caught here> ---
         File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 1099, in _inlineCallbacks
           result = g.send(result)
         File "C:\Python27\lib\site-packages\buildbot-0.8.9-py2.7.egg\buildbot\changes\gitpoller.py", line 147, in poll
           yield self._dovccmd('init', ['--bare', self.workdir])
         File "C:\Python27\lib\site-packages\buildbot-0.8.9-py2.7.egg\buildbot\changes\gitpoller.py", line 292, in _dovccmd
           [command] + args, path=path, env=os.environ)
         File "C:\Python27\lib\site-packages\twisted\internet\utils.py", line 176, in getProcessOutputAndValue
           reactor)
         File "C:\Python27\lib\site-packages\twisted\internet\utils.py", line 30, in _callProtocolWithDeferred
           reactor.spawnProcess(p, executable, (executable,)+tuple(args), env, path)
         File "C:\Python27\lib\site-packages\twisted\internet\posixbase.py", line 358, in spawnProcess
           return Process(self, processProtocol, executable, args, env, path)
         File "C:\Python27\lib\site-packages\twisted\internet\_dumbwin32proc.py", line 195, in __init__
           raise OSError(pwte)
       exceptions.OSError: (2, 'CreateProcess', 'The system cannot find the file specified.')
    

Also, here's the relevant portion of my config file:

    
    
    from buildbot.changes.gitpoller import GitPoller
    c['change_source'] = []
    c['change_source'].append(GitPoller(
            repourl='https://github.com/solstice333/BuildbotTest.git', 
            branch='master',
            pollinterval=300))
    

Any ideas?


Answer: I have similar issue with HgPoller. Try to specify full path to git

    
    
    c['change_source'].append(GitPoller(
        gitbin='full/path/to/git.exe',
        repourl='https://github.com/solstice333/BuildbotTest.git', 
        branch='master',
        pollinterval=300))
    

I think something wrong with twisted - this dont work with same error

PS Twisted use win32process.CreateProcess and MSDN says about it first
argument: The string can specify the full path and file name of the module to
execute or it can specify a partial name. In the case of a partial name, the
function uses the current drive and current directory to complete the
specification. The function will not use the search path.

    
    
    from twisted.internet import utils
    utils.getProcessOutputAndValue("hg.exe", ['init', "test_dir"])
    

