[ZODB-Dev] 3.8.1

Marius Gedminas marius at gedmin.as
Sun Oct 12 22:05:13 EDT 2008


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mail.zope.org/pipermail/zodb-dev/attachments/20081012/54e15eed/attachment.bin 


More information about the ZODB-Dev mailing list