<type 'exceptions.LookupError'>
Python 2.7.17: /usr/bin/python
Mon Jun 30 23:23:03 2025

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.7/dist-packages/flup/server/fcgi_base.py in run(self=<flup.server.fcgi_base.Request object>)
    556         """Runs the handler, flushes the streams, and ends the request."""
    557         try:
=>  558             protocolStatus, appStatus = self.server.handler(self)
    559         except:
    560             traceback.print_exc(file=self.stderr)
protocolStatus undefined, appStatus undefined, self = <flup.server.fcgi_base.Request object>, self.server = <flup.server.fcgi.WSGIServer object>, self.server.handler = <bound method WSGIServer.handler of <flup.server.fcgi.WSGIServer object>>
 /usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py in handler(self=<flup.server.fcgi.WSGIServer object>, req=<flup.server.fcgi_base.Request object>)
   1116         try:
   1117             try:
=> 1118                 result = self.application(environ, start_response)
   1119                 try:
   1120                     for data in result:
result = None, self = <flup.server.fcgi.WSGIServer object>, self.application = <function script_name_fixer>, environ = {'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/srv/help.launchpad.net/moin.fcgi/', 'CONTEXT_PREFIX': '/', 'DOCUMENT_ROOT': '/srv/help.launchpad.net/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'MOIN_SESSION_443_ROOT=2817acf2d97953f08cc20c082c83acbfedc9d0de', ...}, start_response = <function start_response>
 /srv/help.launchpad.net/moin.fcgi in script_name_fixer(env={'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/srv/help.launchpad.net/moin.fcgi/', 'CONTEXT_PREFIX': '/', 'DOCUMENT_ROOT': '/srv/help.launchpad.net/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'MOIN_SESSION_443_ROOT=2817acf2d97953f08cc20c082c83acbfedc9d0de', ...}, start=<function start_response>)
     64     def script_name_fixer(env, start):
     65         env['SCRIPT_NAME'] = fix_script_name
=>   66         return app(env, start)
     67     application = script_name_fixer
     68 
global app = <werkzeug.wsgi.SharedDataMiddleware object>, env = {'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/srv/help.launchpad.net/moin.fcgi/', 'CONTEXT_PREFIX': '/', 'DOCUMENT_ROOT': '/srv/help.launchpad.net/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'MOIN_SESSION_443_ROOT=2817acf2d97953f08cc20c082c83acbfedc9d0de', ...}, start = <function start_response>
 /usr/lib/python2.7/dist-packages/werkzeug/wsgi.py in __call__(self=<werkzeug.wsgi.SharedDataMiddleware object>, environ={'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/srv/help.launchpad.net/moin.fcgi/', 'CONTEXT_PREFIX': '/', 'DOCUMENT_ROOT': '/srv/help.launchpad.net/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'MOIN_SESSION_443_ROOT=2817acf2d97953f08cc20c082c83acbfedc9d0de', ...}, start_response=<function start_response>)
    764                     break
    765         if file_loader is None or not self.is_allowed(real_filename):
=>  766             return self.app(environ, start_response)
    767 
    768         guessed_type = mimetypes.guess_type(real_filename)
self = <werkzeug.wsgi.SharedDataMiddleware object>, self.app = <MoinMoin.wsgiapp.Application object>, environ = {'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/srv/help.launchpad.net/moin.fcgi/', 'CONTEXT_PREFIX': '/', 'DOCUMENT_ROOT': '/srv/help.launchpad.net/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'MOIN_SESSION_443_ROOT=2817acf2d97953f08cc20c082c83acbfedc9d0de', ...}, start_response = <function start_response>
 /usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py in __call__(self=<MoinMoin.wsgiapp.Application object>, environ={'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/srv/help.launchpad.net/moin.fcgi/', 'CONTEXT_PREFIX': '/', 'DOCUMENT_ROOT': '/srv/help.launchpad.net/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'MOIN_SESSION_443_ROOT=2817acf2d97953f08cc20c082c83acbfedc9d0de', ...}, start_response=<function start_response>)
    262             context = init(request)
    263             try:
=>  264                 response = run(context)
    265             finally:
    266                 context.clock.stop('total')
response undefined, global run = <function run>, context = <AllContext ['AllContext']>
 /usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py in run(context=<AllContext ['AllContext']>)
     87                 response = xmlrpc.xmlrpc2(XMLRPCContext(request))
     88             else:
=>   89                 response = dispatch(request, context, action_name)
     90             context.cfg.session_service.finalize(context, context.session)
     91             return response
response undefined, global dispatch = <function dispatch>, request = <AppRequest 6279 bytes [200 OK]>, context = <AllContext ['AllContext']>, action_name = u'info'
 /usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py in dispatch(request=<AppRequest 6279 bytes [200 OK]>, context=<AllContext ['AllContext']>, action_name=u'info')
    135     # 2. handle action
    136     else:
=>  137         response = handle_action(context, pagename, action_name)
    138     if isinstance(response, Context):
    139         response = response.request
response undefined, global handle_action = <function handle_action>, context = <AllContext ['AllContext']>, pagename = u'HelpForBeginners', action_name = u'info'
 /usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py in handle_action(context=<AllContext ['AllContext']>, pagename=u'HelpForBeginners', action_name=u'info')
    201             context.page.send_page()
    202         else:
=>  203             handler(context.page.page_name, context)
    204 
    205     return context
handler = <function execute>, context = <AllContext ['AllContext']>, context.page = <MoinMoin.Page.Page object>, context.page.page_name = u'HelpForBeginners'
 /usr/lib/python2.7/dist-packages/MoinMoin/action/info.py in execute(pagename=u'HelpForBeginners', request=<AllContext ['AllContext']>)
    369     if show_hitcounts:
    370         from MoinMoin.stats import hitcounts
=>  371         request.write(hitcounts.linkto(pagename, request, 'page=' + wikiutil.url_quote(pagename)))
    372     elif show_general:
    373         general(page, pagename, request)
request = <AllContext ['AllContext']>, request.write = <bound method AllContext.write of <AllContext ['AllContext']>>, hitcounts = <module 'MoinMoin.stats.hitcounts' from '/usr/li...n2.7/dist-packages/MoinMoin/stats/hitcounts.pyc'>, hitcounts.linkto = <function linkto>, pagename = u'HelpForBeginners', global wikiutil = <module 'MoinMoin.wikiutil' from '/usr/lib/python2.7/dist-packages/MoinMoin/wikiutil.pyc'>, wikiutil.url_quote = <function url_quote>
 /usr/lib/python2.7/dist-packages/MoinMoin/stats/hitcounts.py in linkto(pagename=u'HelpForBeginners', request=<AllContext ['AllContext']>, params='page=HelpForBeginners')
     30 
     31     if not request.cfg.chart_options:
=>   32         return text(pagename, request, params)
     33 
     34     if _debug:
global text = <function text>, pagename = u'HelpForBeginners', request = <AllContext ['AllContext']>, params = 'page=HelpForBeginners'
 /usr/lib/python2.7/dist-packages/MoinMoin/stats/hitcounts.py in text(pagename=u'HelpForBeginners', request=<AllContext ['AllContext']>, params='page=HelpForBeginners')
    152         filterpage = request.values['page']
    153 
=>  154     days, views, edits = get_data(pagename, request, filterpage)
    155 
    156     hits = TupleDataset()
days undefined, views undefined, edits undefined, global get_data = <function get_data>, pagename = u'HelpForBeginners', request = <AllContext ['AllContext']>, filterpage = u'HelpForBeginners'
 /usr/lib/python2.7/dist-packages/MoinMoin/stats/hitcounts.py in get_data(pagename=u'HelpForBeginners', request=<AllContext ['AllContext']>, filterpage=u'HelpForBeginners')
     86         log.set_filter(['VIEWPAGE', 'SAVEPAGE'])
     87         latest = None
=>   88         for event in log.reverse():
     89             # don't use event_log.date()
     90             if latest is None:
event = (1751319796714081L, u'VIEWPAGE', MultiDict([('pagename', u'KPPW3.6.zip'), ('HTTP_...PPW3.6.zip'), ('REMOTE_ADDR', u'103.66.217.54')])), log = <MoinMoin.logfile.eventlog.EventLog instance>, log.reverse = <bound method EventLog.reverse of <MoinMoin.logfile.eventlog.EventLog instance>>
 /usr/lib/python2.7/dist-packages/MoinMoin/logfile/__init__.py in reverse(self=<MoinMoin.logfile.eventlog.EventLog instance>)
    114             try:
    115                 logging.log(self.loglevel, "LogFile.reverse %s" % self.__filename)
=>  116                 result = self.previous()
    117             except StopIteration:
    118                 return
result = (1751319796714081L, u'VIEWPAGE', MultiDict([('pagename', u'KPPW3.6.zip'), ('HTTP_...PPW3.6.zip'), ('REMOTE_ADDR', u'103.66.217.54')])), self = <MoinMoin.logfile.eventlog.EventLog instance>, self.previous = <bound method EventLog.previous of <MoinMoin.logfile.eventlog.EventLog instance>>
 /usr/lib/python2.7/dist-packages/MoinMoin/logfile/__init__.py in previous(self=<MoinMoin.logfile.eventlog.EventLog instance>)
    321             while result is None:
    322                 logging.log(self.loglevel, "LogFile.previous %s" % self.__filename)
=>  323                 result = self.__previous()
    324             if self.filter and not self.filter(result):
    325                 result = None
result = None, self = <MoinMoin.logfile.eventlog.EventLog instance>, self.__previous undefined
 /usr/lib/python2.7/dist-packages/MoinMoin/logfile/__init__.py in __previous(self=<MoinMoin.logfile.eventlog.EventLog instance>)
    310         if self.peek(-1):
    311             raise StopIteration
=>  312         return self.parser(self.__buffer.lines[self.__rel_index])
    313 
    314     def previous(self):
self = <MoinMoin.logfile.eventlog.EventLog instance>, self.parser = <bound method EventLog.parser of <MoinMoin.logfile.eventlog.EventLog instance>>, self.__buffer undefined, self.__rel_index undefined
 /usr/lib/python2.7/dist-packages/MoinMoin/logfile/eventlog.py in parser(self=<MoinMoin.logfile.eventlog.EventLog instance>, line=u'1751319790840253\tVIEWPAGE\tpagename=%EF%BF%BD%C2%...D%3C%25EF%25BF%25BD.tgz&REMOTE_ADDR=103.66.217.54')
     65             # badly formatted line in file, skip it
     66             return None
=>   67         return long(time_usecs), eventtype, wikiutil.parseQueryString(kvpairs)
     68 
     69     def set_filter(self, event_types=None):
builtin long = <type 'long'>, time_usecs = u'1751319790840253', eventtype = u'VIEWPAGE', global wikiutil = <module 'MoinMoin.wikiutil' from '/usr/lib/python2.7/dist-packages/MoinMoin/wikiutil.pyc'>, wikiutil.parseQueryString = <function parseQueryString>, kvpairs = u'pagename=%EF%BF%BD%C2%BD%EF%BF%BD+WinRAR+%D1%B9%...D%3C%25EF%25BF%25BD.tgz&REMOTE_ADDR=103.66.217.54'
 /usr/lib/python2.7/dist-packages/MoinMoin/wikiutil.py in parseQueryString(qstr=u'pagename=%EF%BF%BD%C2%BD%EF%BF%BD+WinRAR+%D1%B9%...D%3C%25EF%25BF%25BD.tgz&REMOTE_ADDR=103.66.217.54', want_unicode=None)
    130         log.exception("call with deprecated want_unicode param, please fix caller")
    131     return werkzeug.url_decode(qstr, charset=config.charset, errors='fallback:iso-8859-1',
=>  132                                decode_keys=False, include_empty=False)
    133 
    134 def makeQueryString(qstr=None, want_unicode=None, **kw):
decode_keys undefined, builtin False = False, include_empty undefined
 /usr/lib/python2.7/dist-packages/werkzeug/urls.py in url_decode(s=u'pagename=%EF%BF%BD%C2%BD%EF%BF%BD+WinRAR+%D1%B9%...D%3C%25EF%25BF%25BD.tgz&REMOTE_ADDR=103.66.217.54', charset='utf-8', decode_keys=False, include_empty=False, errors='fallback:iso-8859-1', separator=u'&', cls=<class 'werkzeug.datastructures.MultiDict'>)
    732         separator = separator.encode(charset or 'ascii')
    733     return cls(_url_decode_impl(s.split(separator), charset, decode_keys,
=>  734                                 include_empty, errors))
    735 
    736 
include_empty = False, errors = 'fallback:iso-8859-1'
 /usr/lib/python2.7/dist-packages/werkzeug/datastructures.py in __init__(self=MultiDict([]), mapping=<generator object _url_decode_impl>)
    407         else:
    408             tmp = {}
=>  409             for key, value in mapping or ():
    410                 tmp.setdefault(key, []).append(value)
    411             dict.__init__(self, tmp)
key = 'HTTP_USER_AGENT', value = u'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)', mapping = <generator object _url_decode_impl>
 /usr/lib/python2.7/dist-packages/werkzeug/urls.py in _url_decode_impl(pair_iter=[u'pagename=%EF%BF%BD%C2%BD%EF%BF%BD+WinRAR+%D1%B9%EF%BF%BD%EF%BF%BD%EF%BF%BD%C4%BC%EF%BF%BD.tgz', u'HTTP_USER_AGENT=Mozilla%2F5.0+%28compatible%3B+MSIE+9.0%3B+Windows+NT+6.1%3B+Trident%2F5.0%29', u'HTTP_REFERER=http%3A%2F%2Fhelp.launchpad.net%2F%...EF%25BF%25BD%25EF%25BF%25BD%3C%25EF%25BF%25BD.tgz', u'REMOTE_ADDR=103.66.217.54'], charset='utf-8', decode_keys=False, include_empty=False, errors='fallback:iso-8859-1')
    791         if charset is not None and PY2 and not decode_keys:
    792             key = try_coerce_native(key)
=>  793         yield key, url_unquote_plus(value, charset, errors)
    794 
    795 
key = 'HTTP_REFERER', global url_unquote_plus = <function url_unquote_plus>, value = u'http%3A%2F%2Fhelp.launchpad.net%2F%25EF%25BF%25B...EF%25BF%25BD%25EF%25BF%25BD%3C%25EF%25BF%25BD.tgz', charset = 'utf-8', errors = 'fallback:iso-8859-1'
 /usr/lib/python2.7/dist-packages/werkzeug/urls.py in url_unquote_plus(s=u'http%3A%2F%2Fhelp.launchpad.net%2F%25EF%25BF%25B...EF%25BF%25BD%25EF%25BF%25BD%3C%25EF%25BF%25BD.tgz', charset='utf-8', errors='fallback:iso-8859-1')
    554     else:
    555         s = s.replace(b'+', b' ')
=>  556     return url_unquote(s, charset, errors)
    557 
    558 
global url_unquote = <function url_unquote>, s = u'http%3A%2F%2Fhelp.launchpad.net%2F%25EF%25BF%25B...EF%25BF%25BD%25EF%25BF%25BD%3C%25EF%25BF%25BD.tgz', charset = 'utf-8', errors = 'fallback:iso-8859-1'
 /usr/lib/python2.7/dist-packages/werkzeug/urls.py in url_unquote(string=u'http%3A%2F%2Fhelp.launchpad.net%2F%25EF%25BF%25B...EF%25BF%25BD%25EF%25BF%25BD%3C%25EF%25BF%25BD.tgz', charset='utf-8', errors='fallback:iso-8859-1', unsafe='')
    533     rv = _unquote_to_bytes(string, unsafe)
    534     if charset is not None:
=>  535         rv = rv.decode(charset, errors)
    536     return rv
    537 
rv = 'http://help.launchpad.net/%EF%BF%BD\xbd%EF%BF%BD WinRAR y%EF%BF%BD%EF%BF%BD%EF%BF%BD<%EF%BF%BD.tgz', rv.decode = <built-in method decode of str object>, charset = 'utf-8', errors = 'fallback:iso-8859-1'
 /usr/lib/python2.7/encodings/utf_8.py in decode(input='http://help.launchpad.net/%EF%BF%BD\xbd%EF%BF%BD WinRAR y%EF%BF%BD%EF%BF%BD%EF%BF%BD<%EF%BF%BD.tgz', errors='fallback:iso-8859-1')
     14 
     15 def decode(input, errors='strict'):
=>   16     return codecs.utf_8_decode(input, errors, True)
     17 
     18 class IncrementalEncoder(codecs.IncrementalEncoder):
global codecs = <module 'codecs' from '/usr/lib/python2.7/codecs.pyc'>, codecs.utf_8_decode = <built-in function utf_8_decode>, input = 'http://help.launchpad.net/%EF%BF%BD\xbd%EF%BF%BD WinRAR y%EF%BF%BD%EF%BF%BD%EF%BF%BD<%EF%BF%BD.tgz', errors = 'fallback:iso-8859-1', builtin True = True

<type 'exceptions.LookupError'>: unknown error handler name 'fallback:iso-8859-1'
      args = ("unknown error handler name 'fallback:iso-8859-1'",)
      message = "unknown error handler name 'fallback:iso-8859-1'"