Simply clicking on "Recent Changes" produces this python error.

OverflowErrorlong int too large to convert to int       Please include this information in your bug reports!:
Python Python 2.2.3: /usr/bin/python
Linux cvs01.carfax.cfx 2.4.21-20.ELsmp #1 SMP Wed Aug 18 20:46:40 EDT 2004 i686
MoinMoin Release 1.3.1 [Revision patch-434]
Wed Dec 15 15:20:48 2004

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /usr/lib/python2.2/site-packages/MoinMoin/request.py in run(self=<MoinMoin.request.RequestCGI instance>)
  822             else:
  823                 try:
  824                     cgitb.Hook(file=self).handle(saved_exc)
  825                     # was: cgitb.handler()
  826                 except:
cgitb = <module 'MoinMoin.support.cgitb' from '/usr/lib/python2.2/site-packages/MoinMoin/support/cgitb.pyc'>, cgitb.Hook = <class MoinMoin.support.cgitb.Hook>, file undefined, self = <MoinMoin.request.RequestCGI instance>, ).handle undefined, saved_exc = (<class exceptions.OverflowError>, <exceptions.OverflowError instance>, <traceback object>)

 /usr/lib/python2.2/site-packages/MoinMoin/Page.py in send_page(self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI instance>, msg='', **keywords={'count_hit': 1})
  912         else:
  913             # parse the text and send the page content
  914             self.send_page_content(request, Parser, body, format_args=pi_formatargs, do_cache=do_cache)
  915 
  916             # check for pending footnotes
self = <MoinMoin.Page.Page instance>, self.send_page_content = <bound method Page.send_page_content of <MoinMoin.Page.Page instance>>, request = <MoinMoin.request.RequestCGI instance>, Parser = <class MoinMoin.parser.wiki.Parser>, body = u'||<tablewidth="100%" #FFFFA0> [[RandomQuote()]]|...other wikis, see OpenWiki:WikiSites/Aggregation.\n', format_args undefined, pi_formatargs = '', do_cache = 1

 /usr/lib/python2.2/site-packages/MoinMoin/Page.py in send_page_content(self=<MoinMoin.Page.Page instance>, request=<MoinMoin.request.RequestCGI instance>, Parser=<class MoinMoin.parser.wiki.Parser>, body=u'||<tablewidth="100%" #FFFFA0> [[RandomQuote()]]|...other wikis, see OpenWiki:WikiSites/Aggregation.\n', needsupdate=0, format_args='', do_cache=1)
 1043 
 1044         try:
 1045             exec code
 1046         except 'CacheNeedsUpdate': # if something goes wrong, try without caching
 1047            self.send_page_content(request, Parser, body, needsupdate=1)
code = <code object ? at 0x9606510, file "RecentChanges", line 2>

 ?

 /usr/lib/python2.2/site-packages/MoinMoin/formatter/base.py in macro(self=<MoinMoin.formatter.text_html.Formatter instance>, macro_obj=<MoinMoin.wikimacro.Macro instance>, name=u'RecentChanges', args=None)
  219     def macro(self, macro_obj, name, args):
  220         # call the macro
  221         return macro_obj.execute(name, args)    
  222 
  223     def _get_bang_args(self, line):
macro_obj = <MoinMoin.wikimacro.Macro instance>, macro_obj.execute = <bound method Macro.execute of <MoinMoin.wikimacro.Macro instance>>, name = u'RecentChanges', args = None

 /usr/lib/python2.2/site-packages/MoinMoin/wikimacro.py in execute(self=<MoinMoin.wikimacro.Macro instance>, macro_name=u'RecentChanges', args=None)
   99         macro = wikiutil.importPlugin('macro', macro_name, path=self.cfg.data_dir)
  100         if macro:
  101             return macro(self, args)
  102 
  103         builtins = vars(self.__class__)
macro = <function execute>, self = <MoinMoin.wikimacro.Macro instance>, args = None

 /usr/lib/python2.2/site-packages/MoinMoin/macro/RecentChanges.py in execute(macro=<MoinMoin.wikimacro.Macro instance>, args=None, **kw={})
  356             
  357             for page in pages:
  358                 request.write(format_page_edits(macro, page, bookmark_usecs))
  359     
  360 
request = <MoinMoin.request.RequestCGI instance>, request.write = <bound method RequestCGI.write of <MoinMoin.request.RequestCGI instance>>, global format_page_edits = <function format_page_edits>, macro = <MoinMoin.wikimacro.Macro instance>, page = [<MoinMoin.logfile.editlog.EditLogLine instance>], bookmark_usecs = 0

 /usr/lib/python2.2/site-packages/MoinMoin/macro/RecentChanges.py in format_page_edits(macro=<MoinMoin.wikimacro.Macro instance>, lines=[<MoinMoin.logfile.editlog.EditLogLine instance>], bookmark_usecs=0)
   84     d['time_html'] = None
   85     if request.cfg.changed_time_fmt:
   86         tdiff = long(tnow - wikiutil.version2timestamp(int(line.ed_time_usecs))) / 60 # has to be long for py 2.2.x
   87         if tdiff < 1440:
   88             d['time_html'] = _("%(hours)dh %(mins)dm ago") % {
tdiff undefined, long undefined, tnow = 1103145648.6896181, global wikiutil = <module 'MoinMoin.wikiutil' from '/usr/lib/python2.2/site-packages/MoinMoin/wikiutil.pyc'>, wikiutil.version2timestamp = <function version2timestamp>, int undefined, line = <MoinMoin.logfile.editlog.EditLogLine instance>, line.ed_time_usecs = 1103145199000000L

OverflowError: long int too large to convert to int
      __doc__ = 'Result too large to be represented.'
      __getitem__ = <bound method OverflowError.__getitem__ of <exceptions.OverflowError instance>>
      __init__ = <bound method OverflowError.__init__ of <exceptions.OverflowError instance>>
      __module__ = 'exceptions'
      __str__ = <bound method OverflowError.__str__ of <exceptions.OverflowError instance>>
      args = ('long int too large to convert to int',)

Can you use more recent version of Python? like well tested 2.3.4? Moin should work with 2.2.3, but you want to use newer Python.

Solution:

Go to file /usr/lib/python2.2/site-packages/MoinMoin/macro/RecentChanges.py and change line 86 from:

   86         tdiff = long(tnow - wikiutil.version2timestamp(int(line.ed_time_usecs))) / 60 # has to be long for py 

to:

   86         tdiff = long(tnow - wikiutil.version2timestamp(long(line.ed_time_usecs))) / 60 # has to be long for py 

Hope that helps.

TODO: fix in tla (please somebody commit it, my workdir is dirty with get_rev change)

Thank you, that appears to have fixed it. Rick

MoinMoin: MoinMoinBugs/FreshInstallOnRHEL3 (last edited 2007-10-29 19:13:36 by localhost)