[Zope-dev] What does error code 136 mean?

Casey Duncan casey@zope.com
Thu, 12 Sep 2002 09:37:25 -0400


Thanks for the detective work. Please file a bug report in the collector=20
(http://collector.zope.org/Zope) and I will look into it.

-Casey

On Thursday 12 September 2002 04:48 am, Peter Keller wrote:
> Hi,
>=20
> I have tried Leonardo's very helpful suggestion to get a Python traceba=
ck:
>=20
> > Try to run zope under a debugger. Follow instructions here:
> > http://www.zope.org/Members/4am/debugspinningzope
>=20
> > but type "continue" (w/out quotes) as soon as you get the gdb prompt =
to
> > get zope to run normally.
>=20
> This, combined with some debugging of the corefile at the C level (whic=
h I
> know a lot more about than anything to do with Python) has helped me
> figure out what the problem is.
>=20
> The DTML that was cauisng the crash was:
>=20
>    <dtml-in Catalog sort=3DlastEditTime reverse>
>=20
> but some items in Catalog did not have a property lastEditTime. In my
> particular circumstances I can exclude these objects from the ZCatalog,
> but surely there ought to be a cleaner way of handling this - either
> putting objects with missing properties at the end of the list, or not
> having them feature in the list at all? Perhaps some way of controlling
> this (or at least raising a more meaningful error) might be considered =
in
> a future release of Zope?
>=20
> The gory details.... I've appended the Python traceback. You can see th=
e
> problem call to sort in lib/python/DocumentTemplate/DT_In.py .
>=20
> Why a SIGFPE? Dates seem to get converted to C doubles by Python for
> comparison. From debugging the core file, line 345 in
> Objects/floatobject.c in the python v2.1.3 source is causing the proble=
m:
>=20
>     340 static int
>     341 float_compare(PyFloatObject *v, PyFloatObject *w)
>     342 {
>     343         double i =3D v->ob_fval;
>     344         double j =3D w->ob_fval;
> >   345         return (i < j) ? -1 : (i > j) ? 1 : 0;
>     346 }
>     347
>=20
> w is a missing python object with a junk w->ob_fval, which presumably
> comes from the missing lastEditTime property of one of the objects
> involved in the comparison:
>=20
> (ladebug) p *w.ob_type
> struct _typeobject {
>=20
>   ...snip...
>=20
>   tp_name =3D 0x3fffffa0648=3D"Missing";
>=20
>   ...snip...
>=20
>   tp_doc =3D 0x3fffffa04d0[Ladebug Warning: String is too long to displ=
ay.
> Only the first 128 characters are shown.]=3D"Represent totally unknown
> quantities\n\nMissing values are used to represent numberic quantities
> that are\nunknown.  They support a";
>=20
>   ...snip...
>=20
> }
>=20
> The Python traceback:
>=20
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/ZServer/PubCore/ZServerPublisher.p=
y",=20
line 23, in __init__
>     response=3Dresponse)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/ZPublisher/Publish.py",=
=20
line 150, in publish_module
>     response =3D publish(request, module_name, after_list, debug=3Ddebu=
g)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/ZPublisher/Publish.py",=
=20
line 98, in publish
>     request, bind=3D1)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/ZPublisher/mapply.py", =
line=20
88, in mapply
>     if debug is not None: return debug(object,args,context)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/ZPublisher/Publish.py",=
=20
line 39, in call_object
>     result=3Dapply(object,args) # Type s<cr> to step into published obj=
ect.
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/Products/ZWiki/ZWikiPag=
e.py",=20
line 151, in __call__
>     body =3D apply(self._render,(client,REQUEST,RESPONSE),kw)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/Products/ZWiki/ZWikiPag=
e.py",=20
line 163, in _render
>     return apply(method,(self, REQUEST, RESPONSE), kw)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/Products/ZWiki/ZWikiPag=
e.py",=20
line 553, in render_prelinkdtmlhtml
>     t =3D apply(DTMLDocument.__call__,(self, client, REQUEST, RESPONSE)=
, kw)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/OFS/DTMLDocument.py", l=
ine=20
127, in __call__
>     r=3Dapply(HTML.__call__, (self, (client, bself), REQUEST), kw)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/DocumentTemplate/DT_Str=
ing.py",=20
line 473, in __call__
>     try: result =3D render_blocks(self._v_blocks, md)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/DocumentTemplate/DT_Try=
=2Epy",=20
line 140, in render
>     return self.render_try_except(md)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/DocumentTemplate/DT_Try=
=2Epy",=20
line 149, in render_try_except
>     result =3D render_blocks(self.section, md)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/DocumentTemplate/DT_In.=
py",=20
line 639, in renderwob
>     sequence=3Dself.sort_sequence(sequence, md)
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/DocumentTemplate/DT_In.=
py",=20
line 775, in sort_sequence
>     s.sort()
>   File=20
"/ebi/msdlocal0/servers/Zope-2.5.1-src/lib/python/DateTime/DateTime.py", =
line=20
1205, in equalTo
>     return (self._t =3D=3D t)
>   File "<string>", line 1, in ?
>=20
> Regards,
> Peter.
>=20
> --=20
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> Peter Keller.                     | "Research without indebtedness is
> European Bioinformatics Institute,|  suspect, and somebody must always,
> Hinxton Hall,                     |  somehow, be thanked."
> Cambridge, CB10 1SD, UK           |                     --- Umberto Eco
> -----------------------------------
> Email: keller@ebi.ac.uk |
> Tel. (+44/0)1223 494637 | Macromolecular Structure Database
> Fax. (+44/0)1223 494468 | http://msd.ebi.ac.uk
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -=20
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )
>=20