= Description = I'm trying to do a MoinMoin 1.3beta5 install on a Debian 2.x (stable) machine. Thew newest Python version provided is 2.2.1. 1.3beta5 currently produces OverflowErrors with regards to the timestamp/version code: Doesn't work in 2.2.2 either. Maybe 2.3+ only. == Example == {{{ Traceback (most recent call last): File "moin.py", line 15, in ? request = RequestCGI() File "MoinMoin/request.py", line 1028, in __init__ RequestBase.__init__(self, properties) File "MoinMoin/request.py", line 101, in __init__ self.dicts = self.initdicts() File "MoinMoin/request.py", line 534, in initdicts dicts.scandicts() File "MoinMoin/wikidicts.py", line 326, in scandicts if Page.Page(self.request, pagename).mtime_usecs() >= wikiutil.timestamp2version(self.pageupdate_timestamp): File "MoinMoin/Page.py", line 330, in mtime_usecs return wikiutil.timestamp2version(os.path.getmtime(self._text_filename(rev=self.rev))) File "MoinMoin/wikiutil.py", line 227, in timestamp2version return int(ts*1000000) OverflowError: long int too large to convert to int }}} {{{ Traceback (most recent call last): File "MoinMoin/request.py", line 764, in run Page(self, pagename).send_page(self, count_hit=1) File "MoinMoin/Page.py", line 784, in send_page allow_doubleclick=1, trail=trail, File "MoinMoin/wikiutil.py", line 1051, in send_title d = { File "MoinMoin/Page.py", line 274, in lastEditInfo log = self._last_edited(request) File "MoinMoin/Page.py", line 222, in _last_edited log = logfile.previous() File "MoinMoin/logfile/logfile.py", line 250, in previous result = self.__previous() File "MoinMoin/logfile/logfile.py", line 240, in __previous return self.parser(self.__buffer.lines[self.__rel_index]) File "MoinMoin/logfile/editlog.py", line 124, in parser result.ed_time_usecs = int(result.ed_time_usecs or '0') ValueError: int() literal too large: 1100201049000000 }}} == Details == This Wiki. == Workaround == * Upgrade to Python 2.3.x or 2.4.x * or: patch it to `long()`, see below Upgrading really isn't a workaround. Production servers often can't be. = Discussion = lydon on IRC said to change the offending ints to longs, and ThomasWaldmann concurred. This solved the above two crashes and allowed Moin to start up. I also needed to install python-bsddb3 due to the spell checking dictionary file. * (./) wikiutil:227 * (./) editlog.py:101, 124 * (./) macro/Recent``Changes.py:86 * those are only a few of the places that need fixing. See patch-318 to get a completely patched version. RecentChanges also appears to be broken due to strip() having changed after 2.2.1. On line 657 in formatter/text_html.py, change: {{{ result[key] = val.strip('"') }}} to something like: {{{ #result[key] = val.strip('"') val = val.strip() if val.startswith('"'): val = val[1:] if val.endswith('"'): val = val[:-1] result[key] = val.strip() }}} I think the docs require Python 2.2.2. I don't see why we should solve the problem of broken distributions by using old python code. Python 2.4 is about to be released, 2.3 is out there for more then a year. Sounds fair to me. -- NirSoffer <> * The split thing is fixed in 2.2.2, so just use that version. * didn't fix that -- ThomasWaldmann <> ---- `patch-318` 'doesn't' totally fix the `long` issue - it misses out `convert_editlog` in `scripts/migration/12_to_13_mig3.py` for instance, which has {{{ data[2] = str(int(float(timestamp))) # we only want int }}} * (./) fixed in arch = Plan = * Priority: high * Assigned to: ThomasWaldmann * Status: 'long' issue fixed, 'strip' issue not fixed ---- CategoryMoinMoinBugFixed