Ticket #168 (new defect)

Opened 11 months ago

svn permissions error leads to failed svn checkout step

Reported by: smadness Assigned to:
Priority: major Milestone: undecided
Component: buildprocess Version: 0.7.6
Keywords: Cc:

Description

Sometimes, an external process can create a permissions error when using svn.

Given a buildslave, "svn st" the build's checked out source:

hegemone% svn st ? .buildbot-sourcedata svn: Can't open file 'Agent/Resources/FileSyncAgent.xcdatamodeld/.xccurrentversion': Permission denied

This svn error seems to cause havoc in the buildbot master. Not only does the buildstep fail, but the buildbot master seems to deadlock and not respond to "buildbot reconfig /buildbot"

2008/01/08 18:04 -0700 [Broker,0,17.202.12.49] <Build syncbot1>.startBuild 2008/01/08 18:04 -0700 [Broker,0,17.202.12.49] acquireLocks(step <Build syncbot1>, locks []) 2008/01/08 18:04 -0700 [Broker,0,17.202.12.49] acquireLocks(step <buildbot.steps.source.SVN instance at 0x16adad0>, locks []) 2008/01/08 18:04 -0700 [Broker,0,17.202.12.49] ShellCommand?.startCommand(cmd=%s) (<RemoteCommand? 'svn' at 23780808>,) 2008/01/08 18:04 -0700 [Broker,0,17.202.12.49] <RemoteCommand? 'svn' at 23780808>: RemoteCommand?.run [0] 2008/01/08 18:04 -0700 [Broker,0,17.202.12.49] LoggedRemoteCommand?.start 2008/01/08 18:04 -0700 [-] BuildStep?.failed, traceback follows

The svnlog as reported by the buildslave is this:

U Ideas.txt Updated to revision 18339. /usr/bin/svnversion .

in dir /build/build watching logfiles {} argv: ['/usr/bin/svnversion', '.'] environment:

... remoteFailed: [Failure instance: Traceback from remote host -- Traceback (most recent call last):

File "/Library/Python/2.5/site-packages/buildbot/slave/commands.py", line 156, in processEnded

self.command.finished(sig, rc)

File "/Library/Python/2.5/site-packages/buildbot/slave/commands.py", line 447, in finished

d.callback(rc)

File "/Library/Python/2.5/site-packages/twisted/internet/defer.py", line 239, in callback

self._startRunCallbacks(result)

File "/Library/Python/2.5/site-packages/twisted/internet/defer.py", line 304, in _startRunCallbacks

self._runCallbacks()

--- <exception caught here> ---

File "/Library/Python/2.5/site-packages/twisted/internet/defer.py", line 317, in _runCallbacks

self.result = callback(self.result, *args, **kw)

File "/Library/Python/2.5/site-packages/buildbot/slave/commands.py", line 1515, in _parse

if r[-1] == 'M':

exceptions.IndexError?: string index out of range ]

It's probably some problem with the svn output handling in python, given the error. I don't know python (yet) but maybe in the future can commit a patch.

This problem is resolved by changing the permission on the file originally mentioned in the buildslave's repository to be user-readable (so "svn st" doesn't error).