strange overflowerror "long int too large to convert"
Hi, we have a Zope-based (v2.5.0) editorial system running on a server of our customer's; it uses a ZUserFolder to store eMail addresses of the top-level users. Last week, an error turned up whenever the system tried to automatically send a notification eMail, which said: Error Type: OverflowError Error Value: long int too large to convert Poking around, I found that the error occurred as well when I tried to view the ZUserFolder instance in the root directory. Here is the traceback:
Traceback (innermost last): File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZPublisher/Publish.py, line 150, in publish_module File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZPublisher/Publish.py, line 114, in publish File /data/opt/Zope-2.5.0-linux2-x86/lib/python/Zope/__init__.py, line 158, in zpublisher_exception_hook (Object: acl_users_contact) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZPublisher/Publish.py, line 98, in publish File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZPublisher/mapply.py, line 88, in mapply (Object: manage_main) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZPublisher/Publish.py, line 39, in call_object (Object: manage_main) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/Shared/DC/Scripts/Bindings.py, line 252, in __call__ (Object: manage_main) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/Shared/DC/Scripts/Bindings.py, line 283, in _bindAndExec (Object: manage_main) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/App/special_dtml.py, line 172, in _exec (Object: manage_main) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/DocumentTemplate/DT_In.py, line 637, in renderwob (Object: objectItems) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/DocumentTemplate/DT_In.py, line 763, in sort_sequence (Object: objectItems) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZODB/Connection.py, line 446, in setstate File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZODB/FileStorage.py, line 559, in load (Object: /opt/zope/var/Data.fs) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZODB/FileStorage.py, line 547, in _load (Object: /opt/zope/var/Data.fs) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZODB/FileStorage.py, line 1902, in _loadBack OverflowError: (see above) <<
(Zope 2.5.0 (binary release, python 2.1, linux2-x86), python 2.1.2, linux2) Since I can't find any relation to something we did: 1. Is this error known to anyone, possibly related to a known bug of Zope 2.5.0? 2. Is it possible that the usage of ZClasses is the reason for the problem, and that ZClasses tend to go berserk after a while? (our product contains nested ZClasses, which is not how we'd do it today, but how we did it... the user class used by ZUserFolder is not a nested one, though) 3. Can anyone give me a hint where to search for the bug? I'd happily provide additional info, if requested. As a workaround, we disabled the automagic email feature, but this is not the ultimate solution. TIA, Tobias Herp -- (sorry for any unfriendly footer added automatically against my wishes... please ignore it!) Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das un- erlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Hi Tobias,
Hi,
we have a Zope-based (v2.5.0) editorial system running on a server of our customer's; it uses a ZUserFolder to store eMail addresses of the top-level users. Last week, an error turned up whenever the system tried to automatically send a notification eMail, which said:
Error Type: OverflowError Error Value: long int too large to convert
Poking around, I found that the error occurred as well when I tried to view the ZUserFolder instance in the root directory. Here is the traceback:
Traceback (innermost last): [snip some traceback parts] (Object: /opt/zope/var/Data.fs) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZODB/FileStorage.py, line 1902, in _loadBack OverflowError: (see above) <<
(Zope 2.5.0 (binary release, python 2.1, linux2-x86), python 2.1.2, linux2)
Since I can't find any relation to something we did: 1. Is this error known to anyone, possibly related to a known bug of Zope 2.5.0? 2. Is it possible that the usage of ZClasses is the reason for the problem, and that ZClasses tend to go berserk after a while? (our product contains nested ZClasses, which is not how we'd do it today, but how we did it... the user class used by ZUserFolder is not a nested one, though) 3. Can anyone give me a hint where to search for the bug?
Hm, maybe looking at the source code? :-} def _loadBack(file, oid, back): seek=file.seek read=file.read while 1: old=U64(back) if not old: raise KeyError, oid seek(old) <-- this seems to be line 1902 h=read(42) doid,serial,prev,tloc,vlen,plen = unpack(">8s8s8s8sH8s", h) if vlen: seek(vlen+16,1) if plen != z64: return read(U64(plen)), serial back=read(8) # We got a back pointer! Maybe You ZODB has grown too big, i.e. over the 2GB limit, and python is not configured for having large file system support ... this should be in the release notes, but I cannot find it there ... By the way, You could try: utilities/ZODBTools/fstest.py to check, if Your ZODB is corrupted for some reason.
Tobias Herp wrote:
Hi,
we have a Zope-based (v2.5.0) editorial system running on a server of our customer's; it uses a ZUserFolder to store eMail addresses of the top-level users. Last week, an error turned up whenever the system tried to automatically send a notification eMail, which said:
Error Type: OverflowError Error Value: long int too large to convert
This reminds me of a thread taking place on zodb-dev@zope.org right now, maybe join there having read the archives? cheers, Chris - http://lists.zope.org/pipermail/zodb-dev/2002-November/003511.html
Tobias Herp writes:
we have a Zope-based (v2.5.0) editorial system running on a server of our customer's; it uses a ZUserFolder to store eMail addresses of the top-level users. Last week, an error turned up whenever the system tried to automatically send a notification eMail, which said:
Error Type: OverflowError Error Value: long int too large to convert ... (Object: /opt/zope/var/Data.fs) File /data/opt/Zope-2.5.0-linux2-x86/lib/python/ZODB/FileStorage.py, line 1902, in _loadBack Look at line 1902 in "FileStorage.py".
There, something tries to convert a long int, but its value is too large. Dieter
participants (4)
-
Chris Withers -
Clemens Robbenhaar -
Dieter Maurer -
Tobias Herp