On Sun, Oct 12, 2008 at 05:28:21PM -0700, Marius Gedminas wrote:
> On Fri, Oct 10, 2008 at 10:43:57AM -0700, Marius Gedminas wrote:
> > In the mean time I updated the buildbot config to run the tests
> > separately.  I don't know offhand if buildbot 0.7.4 supports the
> > interlocks documented in 0.7.9's documentation[1], so I just created a
> > new scheduler that runs the other set of tests 2 hours later.
> > 
> >   [1] http://buildbot.net/repos/release/docs/buildbot.html#Interlocks
> 
> It seems that one ZEO test consistently (7 times in a row) fails on the
> 32-bit build slave, on both Python versions, even when run in isolation:
> 
>    
> ZODB3-3.8.1b9-py2.5-linux-i686.egg/ZEO/tests/invalidations_while_connecting.test

It only happens on that one machine.  My 32-bit laptop passes the test
in 15 seconds.  That 1.6 GHz Pentium 4 buildbot machine fails this test,
and takes 6 minutes to do so.

$ bin/test -pvc1 -m ZEO -t invalidations_while_connecting.test
Running tests at level 1
Running unit tests:
  Running:
    5/5 (100.0%) ... 
nux-i686.egg/ZEO/tests/invalidations_while_connecting.testException in thread 
Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python2.4/threading.py", line 442, in __bootstrap
    self.run()
  File "/usr/lib/python2.4/threading.py", line 422, in run
    self.__target(*self.__args, **self.__kwargs)
  File "<doctest invalidations_while_connecting.test[19]>", line 9, in run
    tm.commit()
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/transaction/_manager.py",
 line 93, in commit
    return self.get().commit()
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/transaction/_transaction.py",
 line 325, in commit
    self._commitResources()
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/transaction/_transaction.py",
 line 432, in _commitResources
    rm.tpc_finish(self)
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZODB/Connection.py",
 line 758, in tpc_finish
    self._storage.tpc_finish(transaction, callback)
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/ClientStorage.py",
 line 1086, in tpc_finish
    tid = self._server.tpc_finish(id(txn))
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/ServerStub.py",
 line 265, in tpc_finish
    return self.rpc.call('tpc_finish', id)
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/zrpc/connection.py",
 line 694, in call
    r_flags, r_args = self.wait(msgid)
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/zrpc/connection.py",
 line 796, in wait
    raise DisconnectedError()
DisconnectedError



Failure in test 
/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/tests/invalidations_while_connecting.test
Failed doctest test for invalidations_while_connecting.test
  File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/tests/invalidations_while_connecting.test",
 line 0

----------------------------------------------------------------------
File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/tests/invalidations_while_connecting.test",
 line 70, in invalidations_while_connecting.test
Failed example:
    for c in range(10):
       time.sleep(.1)
       db = ZODB.DB(ZEO.ClientStorage.ClientStorage(addr, client='x'))
       _ = lock.acquire()
       try:
         time.sleep(.1)
         assert (db._storage.lastTransaction()
                 == db._storage._server.lastTransaction()), (
                     db._storage.lastTransaction(),
                     db._storage._server.lastTransactiion())
         conn = db.open()
         for i in range(1000):
           if conn.root()[i].value != conn2.root()[i].value:
               print 'bad', c, i, conn.root()[i].value,
               print  conn2.root()[i].value
       finally:
         _ = lock.release()
       db.close()
Exception raised:
    Traceback (most recent call last):
      File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/zope.testing-3.5.6-py2.4.egg/zope/testing/doctest.py",
 line 1356, in __run
        compileflags, 1) in test.globs
      File "<doctest invalidations_while_connecting.test[24]>", line 7, in ?
        assert (db._storage.lastTransaction()
      File 
"/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/ClientStorage.py",
 line 86, in __getattr__
        raise ClientDisconnected()
    ClientDisconnected


  Ran 5 tests with 1 failures and 0 errors in 5 minutes 55.233 seconds.

Tests with failures:
   
/var/lib/buildbot/slaves/zope-kgs/py2.4-32bit-linux/build/test/eggs/ZODB3-3.8.1b9-py2.4-linux-i686.egg/ZEO/tests/invalidations_while_connecting.test


Marius Gedminas
-- 
<niemeyer> I'm wondering why we have defineChecker() defined twice with exactly
           the same implementation under zope.security.checker...
<niemeyer> Is it some kind of high-availability system? :-)
                -- #zope3-dev

Attachment: signature.asc
Description: Digital signature

_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to