#692: exceptions.AssertionError: assert s.number == self.nextBuildNumber - 1
--------------------+-------------------------------------------------------
Reporter:  rackamx  |        Owner:       
    Type:  defect   |       Status:  new  
Priority:  major    |    Milestone:  0.8.0
 Version:  0.7.11   |   Resolution:       
Keywords:           |  
--------------------+-------------------------------------------------------

Comment(by rackamx):

 I haven't tried 0.7.12 yet, but I will next time this problem happened. It
 happened once only so far, after more than 100days of uptime. There isn't
 anything really special about this config, the only thing might be how the
 locks are dealt with, to get per build locks. Example below. Thanks for
 your help, and thanks for the awesome work on this program !

 {{{
 c['slaves'] = [BuildSlave('fooslave', 'foopwd', max_builds = 5)]

 
################################################################################
 #                              Schedulers
 #
 
################################################################################
 c['schedulers'] = [
     Scheduler('footest2', svn_mod_foo, 4 * 3600, ['footest2']),
     Nightly('foobuild', ['foobuild'], 0, 12),
     Nightly('foobuild_reg', ['foobuild_reg'], 0, 13),
     Nightly('foobuild_reg_unit', ['foobuild_reg_unit'], 0, 3),
     Nightly('footest1', ['footest1'], 0, 2),
 ]

 footest2 = BuildFactory()
 footest1 = BuildFactory()
 foobuild = BuildFactory()
 foobuild = BuildFactory()
 foobuild_reg = BuildFactory()
 foobuild_reg_unit = BuildFactory()

 
################################################################################
 #                               Locks
 #
 
################################################################################
 locks  = {}
 rlocks = {}
 wlocks = {}

 def getRWLock(name, ldict, mode) :
     if not ldict.has_key(name) :
         if not locks.has_key(name) :
             locks[name] = SlaveLock(name, maxCount = 10)
         ldict[name]      = LockAccess(locks[name], mode)
         ldict[name].name = name
     return ldict[name]

 def getRLock(name) :
     ''' Get a R lock, means the builder is using this guy '''
     return getRWLock(name, rlocks, 'counting')

 def getWLock(name) :
     ''' Get a W lock, means the builder is generating this guy '''
     return getRWLock(name, wlocks, 'exclusive')

 
################################################################################
 #                                 Builders
 #
 
################################################################################
 c['builders'] = [
     {
         'name': 'foobuild',
         'slavename': 'fooslave',
         'builddir': 'foobuild',
         'factory': foobuild,
         'locks': [getWLock('foobuild')],
     },
     {
         'name': 'foobuild_reg',
         'slavename': 'fooslave',
         'builddir': 'foobuild_reg',
         'factory': foobuild_reg,
         'locks': [getRLock('foobuild'), getWLock('foobuild_reg')],
     },
     {
         'name': 'foobuild_reg_unit',
         'slavename': 'fooslave',
         'builddir': 'foobuild_reg_unit',
         'factory': foobuild_reg_unit,
         'locks': [getRLock('foobuild'), getWLock('foobuild_reg')],
     },
     {
         'name': 'footest1',
         'slavename': 'fooslave',
         'builddir': 'footest1',
         'factory': footest1,
         'locks': [getRLock('foobuild')],
     },
     {
         'name': 'footest2',
         'slavename': 'fooslave',
         'builddir': 'footest2',
         'factory': footest2,
         'locks': [getRLock('foobuild')],
     },
  ]
 }}}

-- 
Ticket URL: <http://buildbot.net/trac/ticket/692#comment:2>
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