[Zope3-dev] MinimalMemoryStorage test failure in Zope 3

Tim Peters tim@ZOPE.COM
Wed, 25 Jun 2003 16:48:52 -0400


>> Marius, which OS and Python version were you using?

[Marius Gedminas]
> Debian unstable, Python 2.2.3 (I've tried both the Debian packaged
> version, and compiled anotjer one myself --with-pydebug).

Cool -- Debian may be as useful as Win98 <wink>.

> One machine is a 866 MHz laptop, another one is a 1.something Ghz
> Athlon.
>
> BTW I occasionaly see other errors in the ZODB code as well, for
> example:

The actual failures you see are helpful; "for example" doesn't do anything
to help resolve the ones you don't specifically list, of course.

> testPackUndoLog (<class
> 'zodb.storage.tests.test_demo.BasicDemoStorageTests'>) ...
>
> Failure in test testPackUndoLog (<class
> 'zodb.storage.tests.test_demo.BasicDemoStorageTests'>) Traceback
>   (most recent call last): File
>     "/home/mg/Zope3/src/zodb/storage/tests/undo.py", line 810, in
>   testPackUndoLog self.assertEqual(1, len(self._storage.undoLog()))
>     File "/usr/lib/python2.2/unittest.py", line 286, in
> failUnlessEqual raise self.failureException,
> AssertionError: 1 != 0

That's a bad failure, and should never happen.  It used to fail on Windows
because of the coarse granularity of time.time() on Windows, but that got
fixed some time ago.  I never see this one fail anymore.

With your HW under your OS and BIOS, after

    x = time.time()
    y = time.time()

is it ever the case that

    x > y

is true?  For example, some early laptops with "SpeedStep" chips had bugs in
the BIOS that could cause time to appear to "run backwards" when the chip
switched cycle rates.  That, or any other, cause for time running backwards
could also cause any number of sporadic failures in ZODB tests.