<type 'exceptions.LookupError'> | Python 2.7.17: /usr/bin/python Mon Mar 31 23:07:59 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.ubuntu.com/moin.fcgi/', 'CONTEXT_PREFIX': '/community/', 'DOCUMENT_ROOT': '/srv/help.ubuntu.com/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;...,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br, zstd', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', ...}, start_response = <function start_response> |
/srv/help.ubuntu.com/moin.fcgi in script_name_fixer(env={'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/srv/help.ubuntu.com/moin.fcgi/', 'CONTEXT_PREFIX': '/community/', 'DOCUMENT_ROOT': '/srv/help.ubuntu.com/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;...,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br, zstd', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', ...}, 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.ubuntu.com/moin.fcgi/', 'CONTEXT_PREFIX': '/community/', 'DOCUMENT_ROOT': '/srv/help.ubuntu.com/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;...,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br, zstd', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', ...}, 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.ubuntu.com/moin.fcgi/', 'CONTEXT_PREFIX': '/community/', 'DOCUMENT_ROOT': '/srv/help.ubuntu.com/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;...,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br, zstd', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', ...}, 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.ubuntu.com/moin.fcgi/', 'CONTEXT_PREFIX': '/community/', 'DOCUMENT_ROOT': '/srv/help.ubuntu.com/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;...,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br, zstd', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', ...}, 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.ubuntu.com/moin.fcgi/', 'CONTEXT_PREFIX': '/community/', 'DOCUMENT_ROOT': '/srv/help.ubuntu.com/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;...,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br, zstd', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', ...}, 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 5419 bytes [200 OK]>, context = <AllContext ['AllContext']>, action_name = u'info' |
/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py in dispatch(request=<AppRequest 5419 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'MailingListFAQs/MailingListsVsForums', action_name = u'info' |
/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py in handle_action(context=<AllContext ['AllContext']>, pagename=u'MailingListFAQs/MailingListsVsForums', 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'MailingListFAQs/MailingListsVsForums' |
/usr/lib/python2.7/dist-packages/MoinMoin/action/info.py in execute(pagename=u'MailingListFAQs/MailingListsVsForums', 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'MailingListFAQs/MailingListsVsForums', 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'MailingListFAQs/MailingListsVsForums', request=<AllContext ['AllContext']>, params='page=MailingListFAQs/MailingListsVsForums') |
30 |
31 if not request.cfg.chart_options: |
=> 32 return text(pagename, request, params) |
33 |
34 if _debug: |
global text = <function text>, pagename = u'MailingListFAQs/MailingListsVsForums', request = <AllContext ['AllContext']>, params = 'page=MailingListFAQs/MailingListsVsForums' |
/usr/lib/python2.7/dist-packages/MoinMoin/stats/hitcounts.py in text(pagename=u'MailingListFAQs/MailingListsVsForums', request=<AllContext ['AllContext']>, params='page=MailingListFAQs/MailingListsVsForums') |
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'MailingListFAQs/MailingListsVsForums', request = <AllContext ['AllContext']>, filterpage = u'MailingListFAQs/MailingListsVsForums' |
/usr/lib/python2.7/dist-packages/MoinMoin/stats/hitcounts.py in get_data(pagename=u'MailingListFAQs/MailingListsVsForums', request=<AllContext ['AllContext']>, filterpage=u'MailingListFAQs/MailingListsVsForums') |
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 = (1743424356930297L, u'VIEWPAGE', MultiDict([('pagename', u'SSO/FAQs/Merge_SSO_Acc...icTerracotta'), ('REMOTE_ADDR', u'3.80.227.46')])), 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 = (1743424356930297L, u'VIEWPAGE', MultiDict([('pagename', u'SSO/FAQs/Merge_SSO_Acc...icTerracotta'), ('REMOTE_ADDR', u'3.80.227.46')])), 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'1743424356604296\tVIEWPAGE\tpagename=BitTorrent&HT...2F1A543%A0Safari%2F419.3&REMOTE_ADDR=82.208.91.92') |
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'1743424356604296', 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=BitTorrent&HTTP_USER_AGENT=Mozilla%2F5....2F1A543%A0Safari%2F419.3&REMOTE_ADDR=82.208.91.92' |
/usr/lib/python2.7/dist-packages/MoinMoin/wikiutil.py in parseQueryString(qstr=u'pagename=BitTorrent&HTTP_USER_AGENT=Mozilla%2F5....2F1A543%A0Safari%2F419.3&REMOTE_ADDR=82.208.91.92', 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=BitTorrent&HTTP_USER_AGENT=Mozilla%2F5....2F1A543%A0Safari%2F419.3&REMOTE_ADDR=82.208.91.92', 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 = 'pagename', value = u'BitTorrent', mapping = <generator object _url_decode_impl> |
/usr/lib/python2.7/dist-packages/werkzeug/urls.py in _url_decode_impl(pair_iter=[u'pagename=BitTorrent', u'HTTP_USER_AGENT=Mozilla%2F5.0%A0%28iPhone%A0U%A0...29Version%2F3.0%A0Mobile%2F1A543%A0Safari%2F419.3', u'REMOTE_ADDR=82.208.91.92'], 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_USER_AGENT', global url_unquote_plus = <function url_unquote_plus>, value = u'Mozilla%2F5.0%A0%28iPhone%A0U%A0CPU+like%A0Mac%A...29Version%2F3.0%A0Mobile%2F1A543%A0Safari%2F419.3', charset = 'utf-8', errors = 'fallback:iso-8859-1' |
/usr/lib/python2.7/dist-packages/werkzeug/urls.py in url_unquote_plus(s=u'Mozilla%2F5.0%A0%28iPhone%A0U%A0CPU like%A0Mac%A...29Version%2F3.0%A0Mobile%2F1A543%A0Safari%2F419.3', 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'Mozilla%2F5.0%A0%28iPhone%A0U%A0CPU like%A0Mac%A...29Version%2F3.0%A0Mobile%2F1A543%A0Safari%2F419.3', charset = 'utf-8', errors = 'fallback:iso-8859-1' |
/usr/lib/python2.7/dist-packages/werkzeug/urls.py in url_unquote(string=u'Mozilla%2F5.0%A0%28iPhone%A0U%A0CPU like%A0Mac%A...29Version%2F3.0%A0Mobile%2F1A543%A0Safari%2F419.3', 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 = 'Mozilla/5.0\xa0(iPhone\xa0U\xa0CPU like\xa0Mac\xa0OS X\xa0en)\xa0Appl...\xa0like\xa0Gecko)Version/3.0\xa0Mobile/1A543\xa0Safari/419.3', 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='Mozilla/5.0\xa0(iPhone\xa0U\xa0CPU like\xa0Mac\xa0OS X\xa0en)\xa0Appl...\xa0like\xa0Gecko)Version/3.0\xa0Mobile/1A543\xa0Safari/419.3', 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 = 'Mozilla/5.0\xa0(iPhone\xa0U\xa0CPU like\xa0Mac\xa0OS X\xa0en)\xa0Appl...\xa0like\xa0Gecko)Version/3.0\xa0Mobile/1A543\xa0Safari/419.3', 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'"