"long int..." exception reported with strange traceback location

Joe Peterson joe at skyrush.com
Mon Jul 4 16:16:17 EDT 2005


I could not find another example of this via internet searches, so here
it is...  I am wondering if this is a python bug or otherwise.  The
first example of this happened in a larger program of mine, and the
traceback reports the problem at the start of a "for" loop (making no
sense), but I cannot easily include the full code and instructions here.

So I wrote a small test program containing the offending code, and in
this case the traceback reports the problem happening "during garbage
collection."  So in either case, there's something funny going on here.
 The call the causes it is "os.utime()".  Note that the trigger is a
rediculous timezone value that causes an overflow.  But the surprize is
that the traceback does not report its happening in utime.

If anyone has a clue what's really happening, I'd love to know.

Anyway, here is the sample program:

-------------

import os
import rfc822

fp = file("foo_test_file", "w")
fp.write("hi")
fp.close()

tt = rfc822.parsedate_tz("Fri, 01 Jul 2005 05:04:23 -4000000000000")
t = rfc822.mktime_tz(tt)

print tt
print t

os.utime("foo_test_file", (t, t))

-------------


Running this gives:

(2005, 7, 1, 5, 4, 23, 0, 0, 0, -144000000000000L)
1.44001120194e+14
Exception exceptions.OverflowError: 'long int too large to convert to
int' in 'garbage collection' ignored
Fatal Python error: unexpected exception during garbage collection



I am running Fedora Core 3, and it is Python version 2.3.4 [GCC 3.4.2
20041017 (Red Hat 3.4.2-6.fc3)].

	Thanks, Joe



More information about the Python-list mailing list