[ZODB-Dev] Revisiting the ConflictError patch

Greg Ward gward@mems-exchange.org
Thu, 20 Sep 2001 15:30:10 -0400


On 20 September 2001, Jeremy Hylton said:
> How did you run it?  I've only tried it by doing the following:
> 
> ~/src/StandaloneZODB> python setup.py build
> [...]
> ~/src/StandaloneZODB> python test.py

Ahh, I didn't have an up-to-date build.  Now the test runs fine, but...

  $ python test.py 
  BTrees.tests.testBTrees 16
  ======================================================================
  FAIL: testValuesWorks (BTrees.tests.testBTrees.TestIOBuckets)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "lib.linux-i686-2.1/BTrees/tests/testBTrees.py", line 219, in testValuesWorks
      assert v[i]==i*i , (i*i,i)
  AssertionError: (4, 2)
  ======================================================================
  FAIL: testValuesWorks (BTrees.tests.testBTrees.TestOOBuckets)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "lib.linux-i686-2.1/BTrees/tests/testBTrees.py", line 219, in testValuesWorks
      assert v[i]==i*i , (i*i,i)
  AssertionError: (4, 2)
  ======================================================================
  FAIL: testValuesWorks (BTrees.tests.testBTrees.TestOIBuckets)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "lib.linux-i686-2.1/BTrees/tests/testBTrees.py", line 219, in testValuesWorks
      assert v[i]==i*i , (i*i,i)
  AssertionError: (4, 2)
  ======================================================================
  FAIL: testValuesWorks (BTrees.tests.testBTrees.TestIIBuckets)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "lib.linux-i686-2.1/BTrees/tests/testBTrees.py", line 219, in testValuesWorks
      assert v[i]==i*i , (i*i,i)
  AssertionError: (4, 2)
  ----------------------------------------------------------------------
  Ran 313 tests in 15.092s

  FAILED (failures=4)
  BTrees.tests.testConflict 16
  zsh: segmentation fault (core dumped)  python test.py

I'll go check out a clean StandaloneZODB to make sure my patch has
nothing to do with this.

For the record, this is our local build of Python 2.1.  Here's the first
couple frames from the C traceback, courtesy of gdb:

#0  eval_code2 (co=0x8b36288, globals=0x8b3490c, locals=0x0, args=0x860f90c, argcount=5, 
    kws=0x860f920, kwcount=1, defs=0x8ae1f90, defcount=2, closure=0x0) at Python/ceval.c:774
#1  0x805a24d in fast_function (func=0x8b39634, pp_stack=0xbfffeeec, n=7, na=5, nk=1)
    at Python/ceval.c:3015
#2  0x80588e1 in eval_code2 (co=0x8b39420, globals=0x8b3490c, locals=0x0, args=0x8611354, 
    argcount=1, kws=0x8611358, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:1966
#3  0x805a24d in fast_function (func=0x89743c4, pp_stack=0xbfffeffc, n=1, na=1, nk=0)
    at Python/ceval.c:3015
#4  0x80588e1 in eval_code2 (co=0x8145aa0, globals=0x814da0c, locals=0x0, args=0x8ae13e0, 
    argcount=2, kws=0x0, kwcount=0, defs=0x8142d78, defcount=1, closure=0x0)
    at Python/ceval.c:1966

Test also fails and coredumps with Python 2.2a3, but with different
failures.

On a clean checkout of StandaloneZODB, everything passes.  Crap!  Guess
I'll try applying my patch a little bit at a time and seeing what
breaks.  Sigh...

        Greg