[Zope-dev] zope-tests - FAILED: 9, OK: 72
Hanno Schlichting
hanno at hannosch.eu
Sat Jun 11 11:36:16 EDT 2011
On Sun, Jun 5, 2011 at 8:24 PM, Hanno Schlichting <hanno at hannosch.eu> wrote:
> $ bin/alltests -s Acquisition -t test_mixed_explicit_and_explicit
> Running zope.testrunner.layer.UnitTests tests:
> Set up zope.testrunner.layer.UnitTests in 0.000 seconds.
> Segmentation fault
>
> I haven't yet tried to debug the problem itself.
I took the time to investigate this. It came down to the same issue
noted in https://bugs.launchpad.net/bugs/675064. Some code treated a C
int as a pointer. Apparently on most platforms sizeof(int) ==
sizeof(pointer), but there's some where that's not the case.
In this particular case it was a simple mistake of using the wrong variable:
PyObject *expl=0;
int explicit=1;
UNLESS (PyArg_ParseTupleAndKeywords(
args, kw, "O|OOOOi", acquire_args+1,
&name, &filter, &extra, &explicit, &defalt, &containment
))
return NULL;
if (expl) explicit=PyObject_IsTrue(expl);
The fix was to pass &expl instead of &explicit into
PyArg_ParseTupleAndKeywords. Almost the same code existed in
Wrapper_acquire_method and module_aq_acquire and only
Wrapper_acquire_method got it wrong.
I released a new Acquisition version and put it into Zope 2.x.
Hopefully the buildbots will finally get green again.
Hanno
More information about the Zope-Dev
mailing list