#694: Infinite loop int the slave with Mercurial
---------------------+------------------------------------------------------
Reporter:  kalessin  |       Owner:                                 
    Type:  defect    |      Status:  new                            
Priority:  critical  |   Milestone:  ongoing                        
 Version:  0.7.12    |    Keywords:  slave, mercurial, infinite loop
---------------------+------------------------------------------------------
 Hello,

 I have set up a buildbot for my first time (you do cool things !) and I
 have fallen into a nasty bug.

 I'm using buidlbot (slave and master) on Debian squeeze with mercurial:

 {{{
 (chroot)r...@kalessin:/tmp# buildbot --version
 Buildbot version: 0.7.11p3
 Twisted version: 9.0.0
 (chroot)r...@kalessin:/tmp# hg --version
 Mercurial Distributed SCM (version 1.4.1)

 Copyright (C) 2005-2009 Matt Mackall <[email protected]> and others
 This is free software; see the source for copying conditions. There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
 PURPOSE.
 (chroot)r...@kalessin:/tmp#
 }}}

 Whenever a new build was launched the slave started an infinite loop. The
 reason was here :

 
http://github.com/djmitche/buildbot/blob/master/buildbot/slave/commands.py#L2915

 You compare two directories paths, but done this way /foo/bar and
 /foo/bar/ appears to be differents. In my case when the condition was
 true, the slave restarted a complete checkout of the code, falling again
 in the condition, and again, and again, and again...

 I have resolved the problem, by setting my repourl in my master.cfg
 without the ending slash :

 {{{
 #!python
 from buildbot.process import factory
 from buildbot.steps.source import Mercurial
 from buildbot.steps.shell import Compile, Configure, Test
 f1 = factory.BuildFactory()
 f1.addStep(Mercurial(repourl="/tmp/zia"))
 f1.addStep(Configure(command=["cmake", "."])) # do not use configure
 f1.addStep(Compile()) # make all
 f1.addStep(Test()) # make test
 }}}

 A more robust way to compare directories paths should be used.

 Please, find the log from both the slave and the master attached with this
 ticket. (due to the loop I have truncated them).

 Best Regards
 --
 Louis Opter <[email protected]>

-- 
Ticket URL: <http://buildbot.net/trac/ticket/694>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Buildbot-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/buildbot-commits

Reply via email to