ome / omero-web

Django-based OMERO.web client
https://www.openmicroscopy.org/omero
16 stars 29 forks source link

KeyError 'LOGIN_LOGO' logged when debug=True #202

Open trevor opened 4 years ago

trevor commented 4 years ago

When starting the docker container for openmicroscopy/omero-web-standalone with CONFIG_omero_web_debug=true it shows the following exception.

Startup:

docker run -d --name omero-web \
    -e OMEROHOST=<ipaddress> \
    -e CONFIG_omero_web_debug=true \
    -p 4080:4080 \
    openmicroscopy/omero-web-standalone

Exception:

% docker logs -f <container_id>

--- Logging error ---
Traceback (most recent call last):
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 882, in _resolve_lookup
    current = current[bit]
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/context.py", line 87, in __getitem__
    raise KeyError(key)
KeyError: 'LOGIN_LOGO'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 888, in _resolve_lookup
    if isinstance(current, BaseContext) and getattr(type(current), bit):
AttributeError: type object 'RequestContext' has no attribute 'LOGIN_LOGO'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 896, in _resolve_lookup
    current = current[int(bit)]
ValueError: invalid literal for int() with base 10: 'LOGIN_LOGO'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 903, in _resolve_lookup
    (bit, current))  # missing attribute
django.template.base.VariableDoesNotExist: Failed lookup for key [LOGIN_LOGO] in '[{\'True\': True, \'False\': False, \'None\': None}, {\'csrf_token\': <SimpleLazyObject: <function csrf.<locals>._get_val at 0x7fe81a905e18>>, \'user\': <django.contrib.auth.models.AnonymousUser object at 0x7fe81a8ae470>, \'perms\': <django.contrib.auth.context_processors.PermWrapper object at 0x7fe81a8ae4e0>, \'LANGUAGES\': [(\'af\', \'Afrikaans\'), (\'ar\', \'Arabic\'), (\'ast\', \'Asturian\'), (\'az\', \'Azerbaijani\'), (\'bg\', \'Bulgarian\'), (\'be\', \'Belarusian\'), (\'bn\', \'Bengali\'), (\'br\', \'Breton\'), (\'bs\', \'Bosnian\'), (\'ca\', \'Catalan\'), (\'cs\', \'Czech\'), (\'cy\', \'Welsh\'), (\'da\', \'Danish\'), (\'de\', \'German\'), (\'dsb\', \'Lower Sorbian\'), (\'el\', \'Greek\'), (\'en\', \'English\'), (\'en-au\', \'Australian English\'), (\'en-gb\', \'British English\'), (\'eo\', \'Esperanto\'), (\'es\', \'Spanish\'), (\'es-ar\', \'Argentinian Spanish\'), (\'es-co\', \'Colombian Spanish\'), (\'es-mx\', \'Mexican Spanish\'), (\'es-ni\', \'Nicaraguan Spanish\'), (\'es-ve\', \'Venezuelan Spanish\'), (\'et\', \'Estonian\'), (\'eu\', \'Basque\'), (\'fa\', \'Persian\'), (\'fi\', \'Finnish\'), (\'fr\', \'French\'), (\'fy\', \'Frisian\'), (\'ga\', \'Irish\'), (\'gd\', \'Scottish Gaelic\'), (\'gl\', \'Galician\'), (\'he\', \'Hebrew\'), (\'hi\', \'Hindi\'), (\'hr\', \'Croatian\'), (\'hsb\', \'Upper Sorbian\'), (\'hu\', \'Hungarian\'), (\'ia\', \'Interlingua\'), (\'id\', \'Indonesian\'), (\'io\', \'Ido\'), (\'is\', \'Icelandic\'), (\'it\', \'Italian\'), (\'ja\', \'Japanese\'), (\'ka\', \'Georgian\'), (\'kk\', \'Kazakh\'), (\'km\', \'Khmer\'), (\'kn\', \'Kannada\'), (\'ko\', \'Korean\'), (\'lb\', \'Luxembourgish\'), (\'lt\', \'Lithuanian\'), (\'lv\', \'Latvian\'), (\'mk\', \'Macedonian\'), (\'ml\', \'Malayalam\'), (\'mn\', \'Mongolian\'), (\'mr\', \'Marathi\'), (\'my\', \'Burmese\'), (\'nb\', \'Norwegian Bokm\xe5l\'), (\'ne\', \'Nepali\'), (\'nl\', \'Dutch\'), (\'nn\', \'Norwegian Nynorsk\'), (\'os\', \'Ossetic\'), (\'pa\', \'Punjabi\'), (\'pl\', \'Polish\'), (\'pt\', \'Portuguese\'), (\'pt-br\', \'Brazilian Portuguese\'), (\'ro\', \'Romanian\'), (\'ru\', \'Russian\'), (\'sk\', \'Slovak\'), (\'sl\', \'Slovenian\'), (\'sq\', \'Albanian\'), (\'sr\', \'Serbian\'), (\'sr-latn\', \'Serbian Latin\'), (\'sv\', \'Swedish\'), (\'sw\', \'Swahili\'), (\'ta\', \'Tamil\'), (\'te\', \'Telugu\'), (\'th\', \'Thai\'), (\'tr\', \'Turkish\'), (\'tt\', \'Tatar\'), (\'udm\', \'Udmurt\'), (\'uk\', \'Ukrainian\'), (\'ur\', \'Urdu\'), (\'vi\', \'Vietnamese\'), (\'zh-hans\', \'Simplified Chinese\'), (\'zh-hant\', \'Traditional Chinese\')], \'LANGUAGE_CODE\': \'en-gb\', \'LANGUAGE_BIDI\': False, \'MEDIA_URL\': \'\', \'STATIC_URL\': \'/static/\', \'TIME_ZONE\': \'Europe/London\', \'messages\': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fe82779fb38>, \'DEFAULT_MESSAGE_LEVELS\': {\'DEBUG\': 10, \'INFO\': 20, \'SUCCESS\': 25, \'WARNING\': 30, \'ERROR\': 40}, \'url_suffix\': \'?_5.7.0\', \'base_include_template\': None, \'mapr_url_suffix\': \'?_0.4\'}, {}, {\'version\': \'5.7.0\', \'build_year\': \'2020\', \'error\': None, \'form\': <LoginForm bound=False, valid=Unknown, fields=(username;password;server)>, \'url\': \'url=%2Fwebclient%2F\', \'show_download_links\': True, \'client_download_tag_re\': \'^v5\\\\.7\\\\.[^-]+$\', \'client_download_repo\': \'ome/omero-insight\'}, {\'block\': <Block Node: body. Contents: [<TextNode: \'\\n\\n<div style="margin: aut\'>, <IfNode>, <TextNode: \'\\n    </div>\\n    <img src=\'>, <django.template.library.SimpleNode object at 0x7fe81a90b940>, <TextNode: \'" />\\n</div>\\n\\n<div id="log\'>, <Block Node: login. Contents: [<TextNode: \'\\n    <form class="standar\'>, <django.template.defaulttags.URLNode object at 0x7fe81a91eb00>, <IfNode>, <TextNode: \'" method="post">\'>, <django.template.defaulttags.CsrfTokenNode object at 0x7fe81a90bd30>, <TextNode: \'\\n            \'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t\\n\\t\\t\\t<div id="choose_s\'>, <django.template.defaulttags.CommentNode object at 0x7fe81a90f1d0>, <TextNode: \'\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t  \\t\\t\'>, <Variable Node: form.server>, <TextNode: \'\\n\\t\\t\\t   \\n\\t\\t\\t   <!-- Form E\'>, <IfNode>, <TextNode: \'\\n\\t\\t   </div>\\n\\n\\t\\t\\t<div>\\n\\t\\t\'>, <django.templatetags.i18n.TranslateNode object at 0x7fe81a923438>, <TextNode: \'\\n\\t\\t\\t\\t<!--\'>, <IfNode>, <TextNode: \' -->\\n\\t\\t\\t\\t\'>, <Variable Node: form.username>, <TextNode: \'\\n\\t\\t\\t\\t<!-- Form Error -->\\n\'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t</div>\\n\\t\\t\\t\\n\\t\\t\\t<div>\\n\\t\'>, <django.templatetags.i18n.TranslateNode object at 0x7fe81a923be0>, <TextNode: \'\\n\\t\\t\\t\\t<!--\'>, <IfNode>, <TextNode: \'-->\\n\\t            \'>, <Variable Node: form.password>, <TextNode: \'\\n\\t\\t\\t\\t<!-- Form Error -->\\n\'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t</div>\\n\\n        \\t<inp\'>, <django.template.defaulttags.URLNode object at 0x7fe81a927320>, <TextNode: \'">Forgot your password?</\'>, <IfNode>, <TextNode: \'\\n\\n    </form>\\n\\n    \'>]>, <TextNode: \'\\n</div>\\n\\n<div id="login-f\'>, <Variable Node: version>, <TextNode: \'.<br/>\\n\\t\\t&copy; 2007-\'>, <Variable Node: build_year>, <TextNode: \' University of Dundee &am\'>, <IfNode>, <TextNode: \'\\n\\n        <img src="\'>, <django.template.library.SimpleNode object at 0x7fe81a927be0>, <TextNode: \'"/>\\n    </p>\\n</div>\\n\'>]>}]'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/logging/__init__.py", line 996, in emit
    stream.write(msg)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe5' in position 3398: ordinal not in range(128)
Call stack:
  File "/opt/omero/web/venv3/bin/gunicorn", line 11, in <module>
    sys.exit(run())
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 58, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/app/base.py", line 228, in run
    super().run()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/app/base.py", line 72, in run
    Arbiter(self).run()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/arbiter.py", line 202, in run
    self.manage_workers()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/arbiter.py", line 545, in manage_workers
    self.spawn_workers()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/arbiter.py", line 616, in spawn_workers
    self.spawn_worker()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/base.py", line 140, in init_process
    self.run()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 123, in run
    self.run_for_one(timeout)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 67, in run_for_one
    self.accept(listener)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 29, in accept
    self.handle(listener, client, addr)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 134, in handle
    self.handle_request(listener, req, client, addr)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 175, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/wsgi.py", line 157, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/base.py", line 124, in get_response
    response = self._middleware_chain(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/whitenoise/middleware.py", line 58, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/views/generic/base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/decorators.py", line 67, in _wrapper
    return bound_func(*args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/views/decorators/debug.py", line 76, in sensitive_post_parameters_wrapper
    return view(request, *args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/decorators.py", line 63, in bound_func
    return func.__get__(self, type(self))(*args2, **kwargs2)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omeroweb/webgateway/views.py", line 2959, in dispatch
    return super(LoginView, self).dispatch(*args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/views/generic/base.py", line 88, in dispatch
    return handler(request, *args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omeroweb/webclient/views.py", line 199, in get
    return self.handle_not_logged_in(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omeroweb/webclient/views.py", line 283, in handle_not_logged_in
    return render(request, self.template, context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/shortcuts.py", line 30, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/loader.py", line 68, in render_to_string
    return template.render(context, request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/backends/django.py", line 66, in render
    return self.template.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 207, in render
    return self._render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 199, in _render
    return self.nodelist.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/loader_tags.py", line 177, in render
    return compiled_parent._render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 199, in _render
    return self.nodelist.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/loader_tags.py", line 72, in render
    result = block.nodelist.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/defaulttags.py", line 315, in render
    match = condition.eval(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/defaulttags.py", line 892, in eval
    return self.value.resolve(context, ignore_failures=True)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 708, in resolve
    obj = self.var.resolve(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 849, in resolve
    value = self._resolve_lookup(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 925, in _resolve_lookup
    exc_info=True,
Message: "Exception while resolving variable '%s' in template '%s'."
Arguments: ('LOGIN_LOGO', 'webclient/login.html')
--- Logging error ---
Traceback (most recent call last):
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 882, in _resolve_lookup
    current = current[bit]
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/context.py", line 87, in __getitem__
    raise KeyError(key)
KeyError: 'public_enabled'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 888, in _resolve_lookup
    if isinstance(current, BaseContext) and getattr(type(current), bit):
AttributeError: type object 'RequestContext' has no attribute 'public_enabled'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 896, in _resolve_lookup
    current = current[int(bit)]
ValueError: invalid literal for int() with base 10: 'public_enabled'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 903, in _resolve_lookup
    (bit, current))  # missing attribute
django.template.base.VariableDoesNotExist: Failed lookup for key [public_enabled] in '[{\'True\': True, \'False\': False, \'None\': None}, {\'csrf_token\': <SimpleLazyObject: \'Mx7vBxTIxYtNupG1M2YXNLavJjnYBK97r3srU9juce0KgSGBPNc6LlAndMOkfNe2\'>, \'user\': <django.contrib.auth.models.AnonymousUser object at 0x7fe81a8ae470>, \'perms\': <django.contrib.auth.context_processors.PermWrapper object at 0x7fe81a8ae4e0>, \'LANGUAGES\': [(\'af\', \'Afrikaans\'), (\'ar\', \'Arabic\'), (\'ast\', \'Asturian\'), (\'az\', \'Azerbaijani\'), (\'bg\', \'Bulgarian\'), (\'be\', \'Belarusian\'), (\'bn\', \'Bengali\'), (\'br\', \'Breton\'), (\'bs\', \'Bosnian\'), (\'ca\', \'Catalan\'), (\'cs\', \'Czech\'), (\'cy\', \'Welsh\'), (\'da\', \'Danish\'), (\'de\', \'German\'), (\'dsb\', \'Lower Sorbian\'), (\'el\', \'Greek\'), (\'en\', \'English\'), (\'en-au\', \'Australian English\'), (\'en-gb\', \'British English\'), (\'eo\', \'Esperanto\'), (\'es\', \'Spanish\'), (\'es-ar\', \'Argentinian Spanish\'), (\'es-co\', \'Colombian Spanish\'), (\'es-mx\', \'Mexican Spanish\'), (\'es-ni\', \'Nicaraguan Spanish\'), (\'es-ve\', \'Venezuelan Spanish\'), (\'et\', \'Estonian\'), (\'eu\', \'Basque\'), (\'fa\', \'Persian\'), (\'fi\', \'Finnish\'), (\'fr\', \'French\'), (\'fy\', \'Frisian\'), (\'ga\', \'Irish\'), (\'gd\', \'Scottish Gaelic\'), (\'gl\', \'Galician\'), (\'he\', \'Hebrew\'), (\'hi\', \'Hindi\'), (\'hr\', \'Croatian\'), (\'hsb\', \'Upper Sorbian\'), (\'hu\', \'Hungarian\'), (\'ia\', \'Interlingua\'), (\'id\', \'Indonesian\'), (\'io\', \'Ido\'), (\'is\', \'Icelandic\'), (\'it\', \'Italian\'), (\'ja\', \'Japanese\'), (\'ka\', \'Georgian\'), (\'kk\', \'Kazakh\'), (\'km\', \'Khmer\'), (\'kn\', \'Kannada\'), (\'ko\', \'Korean\'), (\'lb\', \'Luxembourgish\'), (\'lt\', \'Lithuanian\'), (\'lv\', \'Latvian\'), (\'mk\', \'Macedonian\'), (\'ml\', \'Malayalam\'), (\'mn\', \'Mongolian\'), (\'mr\', \'Marathi\'), (\'my\', \'Burmese\'), (\'nb\', \'Norwegian Bokm\xe5l\'), (\'ne\', \'Nepali\'), (\'nl\', \'Dutch\'), (\'nn\', \'Norwegian Nynorsk\'), (\'os\', \'Ossetic\'), (\'pa\', \'Punjabi\'), (\'pl\', \'Polish\'), (\'pt\', \'Portuguese\'), (\'pt-br\', \'Brazilian Portuguese\'), (\'ro\', \'Romanian\'), (\'ru\', \'Russian\'), (\'sk\', \'Slovak\'), (\'sl\', \'Slovenian\'), (\'sq\', \'Albanian\'), (\'sr\', \'Serbian\'), (\'sr-latn\', \'Serbian Latin\'), (\'sv\', \'Swedish\'), (\'sw\', \'Swahili\'), (\'ta\', \'Tamil\'), (\'te\', \'Telugu\'), (\'th\', \'Thai\'), (\'tr\', \'Turkish\'), (\'tt\', \'Tatar\'), (\'udm\', \'Udmurt\'), (\'uk\', \'Ukrainian\'), (\'ur\', \'Urdu\'), (\'vi\', \'Vietnamese\'), (\'zh-hans\', \'Simplified Chinese\'), (\'zh-hant\', \'Traditional Chinese\')], \'LANGUAGE_CODE\': \'en-gb\', \'LANGUAGE_BIDI\': False, \'MEDIA_URL\': \'\', \'STATIC_URL\': \'/static/\', \'TIME_ZONE\': \'Europe/London\', \'messages\': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7fe82779fb38>, \'DEFAULT_MESSAGE_LEVELS\': {\'DEBUG\': 10, \'INFO\': 20, \'SUCCESS\': 25, \'WARNING\': 30, \'ERROR\': 40}, \'url_suffix\': \'?_5.7.0\', \'base_include_template\': None, \'mapr_url_suffix\': \'?_0.4\'}, {}, {\'version\': \'5.7.0\', \'build_year\': \'2020\', \'error\': None, \'form\': <LoginForm bound=False, valid=False, fields=(username;password;server)>, \'url\': \'url=%2Fwebclient%2F\', \'show_download_links\': True, \'client_download_tag_re\': \'^v5\\\\.7\\\\.[^-]+$\', \'client_download_repo\': \'ome/omero-insight\'}, {\'block\': <Block Node: body. Contents: [<TextNode: \'\\n\\n<div style="margin: aut\'>, <IfNode>, <TextNode: \'\\n    </div>\\n    <img src=\'>, <django.template.library.SimpleNode object at 0x7fe81a90b940>, <TextNode: \'" />\\n</div>\\n\\n<div id="log\'>, <Block Node: login. Contents: [<TextNode: \'\\n    <form class="standar\'>, <django.template.defaulttags.URLNode object at 0x7fe81a91eb00>, <IfNode>, <TextNode: \'" method="post">\'>, <django.template.defaulttags.CsrfTokenNode object at 0x7fe81a90bd30>, <TextNode: \'\\n            \'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t\\n\\t\\t\\t<div id="choose_s\'>, <django.template.defaulttags.CommentNode object at 0x7fe81a90f1d0>, <TextNode: \'\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t  \\t\\t\'>, <Variable Node: form.server>, <TextNode: \'\\n\\t\\t\\t   \\n\\t\\t\\t   <!-- Form E\'>, <IfNode>, <TextNode: \'\\n\\t\\t   </div>\\n\\n\\t\\t\\t<div>\\n\\t\\t\'>, <django.templatetags.i18n.TranslateNode object at 0x7fe81a923438>, <TextNode: \'\\n\\t\\t\\t\\t<!--\'>, <IfNode>, <TextNode: \' -->\\n\\t\\t\\t\\t\'>, <Variable Node: form.username>, <TextNode: \'\\n\\t\\t\\t\\t<!-- Form Error -->\\n\'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t</div>\\n\\t\\t\\t\\n\\t\\t\\t<div>\\n\\t\'>, <django.templatetags.i18n.TranslateNode object at 0x7fe81a923be0>, <TextNode: \'\\n\\t\\t\\t\\t<!--\'>, <IfNode>, <TextNode: \'-->\\n\\t            \'>, <Variable Node: form.password>, <TextNode: \'\\n\\t\\t\\t\\t<!-- Form Error -->\\n\'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t</div>\\n\\n        \\t<inp\'>, <django.template.defaulttags.URLNode object at 0x7fe81a927320>, <TextNode: \'">Forgot your password?</\'>, <IfNode>, <TextNode: \'\\n\\n    </form>\\n\\n    \'>]>, <TextNode: \'\\n</div>\\n\\n<div id="login-f\'>, <Variable Node: version>, <TextNode: \'.<br/>\\n\\t\\t&copy; 2007-\'>, <Variable Node: build_year>, <TextNode: \' University of Dundee &am\'>, <IfNode>, <TextNode: \'\\n\\n        <img src="\'>, <django.template.library.SimpleNode object at 0x7fe81a927be0>, <TextNode: \'"/>\\n    </p>\\n</div>\\n\'>]>}, {\'block\': <Block Node: login. Contents: [<TextNode: \'\\n    <form class="standar\'>, <django.template.defaulttags.URLNode object at 0x7fe81a91eb00>, <IfNode>, <TextNode: \'" method="post">\'>, <django.template.defaulttags.CsrfTokenNode object at 0x7fe81a90bd30>, <TextNode: \'\\n            \'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t\\n\\t\\t\\t<div id="choose_s\'>, <django.template.defaulttags.CommentNode object at 0x7fe81a90f1d0>, <TextNode: \'\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t  \\t\\t\'>, <Variable Node: form.server>, <TextNode: \'\\n\\t\\t\\t   \\n\\t\\t\\t   <!-- Form E\'>, <IfNode>, <TextNode: \'\\n\\t\\t   </div>\\n\\n\\t\\t\\t<div>\\n\\t\\t\'>, <django.templatetags.i18n.TranslateNode object at 0x7fe81a923438>, <TextNode: \'\\n\\t\\t\\t\\t<!--\'>, <IfNode>, <TextNode: \' -->\\n\\t\\t\\t\\t\'>, <Variable Node: form.username>, <TextNode: \'\\n\\t\\t\\t\\t<!-- Form Error -->\\n\'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t</div>\\n\\t\\t\\t\\n\\t\\t\\t<div>\\n\\t\'>, <django.templatetags.i18n.TranslateNode object at 0x7fe81a923be0>, <TextNode: \'\\n\\t\\t\\t\\t<!--\'>, <IfNode>, <TextNode: \'-->\\n\\t            \'>, <Variable Node: form.password>, <TextNode: \'\\n\\t\\t\\t\\t<!-- Form Error -->\\n\'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t</div>\\n\\n        \\t<inp\'>, <django.template.defaulttags.URLNode object at 0x7fe81a927320>, <TextNode: \'">Forgot your password?</\'>, <IfNode>, <TextNode: \'\\n\\n    </form>\\n\\n    \'>]>}]'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/logging/__init__.py", line 996, in emit
    stream.write(msg)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe5' in position 3435: ordinal not in range(128)
Call stack:
  File "/opt/omero/web/venv3/bin/gunicorn", line 11, in <module>
    sys.exit(run())
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 58, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/app/base.py", line 228, in run
    super().run()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/app/base.py", line 72, in run
    Arbiter(self).run()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/arbiter.py", line 202, in run
    self.manage_workers()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/arbiter.py", line 545, in manage_workers
    self.spawn_workers()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/arbiter.py", line 616, in spawn_workers
    self.spawn_worker()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/base.py", line 140, in init_process
    self.run()
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 123, in run
    self.run_for_one(timeout)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 67, in run_for_one
    self.accept(listener)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 29, in accept
    self.handle(listener, client, addr)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 134, in handle
    self.handle_request(listener, req, client, addr)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/gunicorn/workers/sync.py", line 175, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/wsgi.py", line 157, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/base.py", line 124, in get_response
    response = self._middleware_chain(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/whitenoise/middleware.py", line 58, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/deprecation.py", line 140, in __call__
    response = self.get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/views/generic/base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/decorators.py", line 67, in _wrapper
    return bound_func(*args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/views/decorators/debug.py", line 76, in sensitive_post_parameters_wrapper
    return view(request, *args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/utils/decorators.py", line 63, in bound_func
    return func.__get__(self, type(self))(*args2, **kwargs2)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omeroweb/webgateway/views.py", line 2959, in dispatch
    return super(LoginView, self).dispatch(*args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/views/generic/base.py", line 88, in dispatch
    return handler(request, *args, **kwargs)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omeroweb/webclient/views.py", line 199, in get
    return self.handle_not_logged_in(request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/omeroweb/webclient/views.py", line 283, in handle_not_logged_in
    return render(request, self.template, context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/shortcuts.py", line 30, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/loader.py", line 68, in render_to_string
    return template.render(context, request)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/backends/django.py", line 66, in render
    return self.template.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 207, in render
    return self._render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 199, in _render
    return self.nodelist.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/loader_tags.py", line 177, in render
    return compiled_parent._render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 199, in _render
    return self.nodelist.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/loader_tags.py", line 72, in render
    result = block.nodelist.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/loader_tags.py", line 72, in render
    result = block.nodelist.render(context)
  File "/opt/omero/web/venv3/lib64/python3.6/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
joshmoore commented 4 years ago

Hi @trevor, wow. Haven't seen this before. Can you share with us how you started your container? Did you add any configuration or any plugins?

trevor commented 4 years ago

I've updated the issue to be more specific. The issue with the exceptions in debugging mode threw me off the trail of a different issue.

I've confirmed the exceptions appear on a new VM with just these commands:

docker run -d --name postgres -e POSTGRES_PASSWORD=postgres postgres

docker run -d --name omero-server --link postgres:db \
    -e CONFIG_omero_db_user=postgres \
    -e CONFIG_omero_db_pass=postgres \
    -e CONFIG_omero_db_name=postgres \
    -e ROOTPASS=omero-root-password \
    -p 4063:4063 -p 4064:4064 \
    openmicroscopy/omero-server

docker run -d --name omero-web \
    -e OMEROHOST=<ipaddress> \
    -e CONFIG_omero_web_debug=true \
    -p 4080:4080 \
    openmicroscopy/omero-web-standalone

(Where ipaddress is the ip address). Aside from the exception in the docker logs when in debug mode it seems to be working as expected.

trevor commented 4 years ago

And, unrelated, but on https://hub.docker.com/r/openmicroscopy/omero-server this line:

docker run -d --name omero-server --link postgres:db

is missing a backslash.

joshmoore commented 4 years ago

is missing a backslash.

https://github.com/ome/omero-server-docker/pull/44

Aside from the exception in the docker logs when in debug mode it seems to be working as expected.

Glad to hear it.

When starting the docker container for openmicroscopy/omero-web-standalone with CONFIG_omero_web_debug=true it shows the following exception.

Hmmm... I'm not seeing this behavior starting in Docker for Mac:

(base) /tmp $docker logs omero-web 2>&1 | grep LOGO
DEBUG:omeroweb.settings:LOGIN_LOGO = None (source:default)
DEBUG:omeroweb.settings:TOP_LOGO = '' (source:default)
DEBUG:omeroweb.settings:TOP_LOGO_LINK = '' (source:default)
DEBUG:omeroweb.settings:LOGIN_LOGO = None (source:default)
DEBUG:omeroweb.settings:TOP_LOGO = '' (source:default)
DEBUG:omeroweb.settings:TOP_LOGO_LINK = '' (source:default)

What platform are you running docker on and what's your locale? It might be that we need to be more explicit in the docker containers.

trevor commented 4 years ago

In localhost:

# cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)

# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

In container:

[root@a6ec1fae1bf3 ~]# locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
trevor commented 4 years ago
# docker logs a6ec1fae1bf3 2>&1 | grep LOGO
DEBUG:omeroweb.settings:LOGIN_LOGO = None (source:default)
DEBUG:omeroweb.settings:TOP_LOGO = '' (source:default)
DEBUG:omeroweb.settings:TOP_LOGO_LINK = '' (source:default)
DEBUG:omeroweb.settings:LOGIN_LOGO = None (source:default)
DEBUG:omeroweb.settings:TOP_LOGO = '' (source:default)
DEBUG:omeroweb.settings:TOP_LOGO_LINK = '' (source:default)
KeyError: 'LOGIN_LOGO'
AttributeError: type object 'RequestContext' has no attribute 'LOGIN_LOGO'
ValueError: invalid literal for int() with base 10: 'LOGIN_LOGO'
django.template.base.VariableDoesNotExist: Failed lookup for key [LOGIN_LOGO] in '[{\'True\': True, \'False\': False, \'None\': None}, {\'csrf_token\': <SimpleLazyObject: <function csrf.<locals>._get_val at 0x7f94205c5c80>>, \'user\': <django.contrib.auth.models.AnonymousUser object at 0x7f94205c36d8>, \'perms\': <django.contrib.auth.context_processors.PermWrapper object at 0x7f94205c3748>, \'LANGUAGES\': [(\'af\', \'Afrikaans\'), (\'ar\', \'Arabic\'), (\'ast\', \'Asturian\'), (\'az\', \'Azerbaijani\'), (\'bg\', \'Bulgarian\'), (\'be\', \'Belarusian\'), (\'bn\', \'Bengali\'), (\'br\', \'Breton\'), (\'bs\', \'Bosnian\'), (\'ca\', \'Catalan\'), (\'cs\', \'Czech\'), (\'cy\', \'Welsh\'), (\'da\', \'Danish\'), (\'de\', \'German\'), (\'dsb\', \'Lower Sorbian\'), (\'el\', \'Greek\'), (\'en\', \'English\'), (\'en-au\', \'Australian English\'), (\'en-gb\', \'British English\'), (\'eo\', \'Esperanto\'), (\'es\', \'Spanish\'), (\'es-ar\', \'Argentinian Spanish\'), (\'es-co\', \'Colombian Spanish\'), (\'es-mx\', \'Mexican Spanish\'), (\'es-ni\', \'Nicaraguan Spanish\'), (\'es-ve\', \'Venezuelan Spanish\'), (\'et\', \'Estonian\'), (\'eu\', \'Basque\'), (\'fa\', \'Persian\'), (\'fi\', \'Finnish\'), (\'fr\', \'French\'), (\'fy\', \'Frisian\'), (\'ga\', \'Irish\'), (\'gd\', \'Scottish Gaelic\'), (\'gl\', \'Galician\'), (\'he\', \'Hebrew\'), (\'hi\', \'Hindi\'), (\'hr\', \'Croatian\'), (\'hsb\', \'Upper Sorbian\'), (\'hu\', \'Hungarian\'), (\'ia\', \'Interlingua\'), (\'id\', \'Indonesian\'), (\'io\', \'Ido\'), (\'is\', \'Icelandic\'), (\'it\', \'Italian\'), (\'ja\', \'Japanese\'), (\'ka\', \'Georgian\'), (\'kk\', \'Kazakh\'), (\'km\', \'Khmer\'), (\'kn\', \'Kannada\'), (\'ko\', \'Korean\'), (\'lb\', \'Luxembourgish\'), (\'lt\', \'Lithuanian\'), (\'lv\', \'Latvian\'), (\'mk\', \'Macedonian\'), (\'ml\', \'Malayalam\'), (\'mn\', \'Mongolian\'), (\'mr\', \'Marathi\'), (\'my\', \'Burmese\'), (\'nb\', \'Norwegian Bokm\xe5l\'), (\'ne\', \'Nepali\'), (\'nl\', \'Dutch\'), (\'nn\', \'Norwegian Nynorsk\'), (\'os\', \'Ossetic\'), (\'pa\', \'Punjabi\'), (\'pl\', \'Polish\'), (\'pt\', \'Portuguese\'), (\'pt-br\', \'Brazilian Portuguese\'), (\'ro\', \'Romanian\'), (\'ru\', \'Russian\'), (\'sk\', \'Slovak\'), (\'sl\', \'Slovenian\'), (\'sq\', \'Albanian\'), (\'sr\', \'Serbian\'), (\'sr-latn\', \'Serbian Latin\'), (\'sv\', \'Swedish\'), (\'sw\', \'Swahili\'), (\'ta\', \'Tamil\'), (\'te\', \'Telugu\'), (\'th\', \'Thai\'), (\'tr\', \'Turkish\'), (\'tt\', \'Tatar\'), (\'udm\', \'Udmurt\'), (\'uk\', \'Ukrainian\'), (\'ur\', \'Urdu\'), (\'vi\', \'Vietnamese\'), (\'zh-hans\', \'Simplified Chinese\'), (\'zh-hant\', \'Traditional Chinese\')], \'LANGUAGE_CODE\': \'en-gb\', \'LANGUAGE_BIDI\': False, \'MEDIA_URL\': \'\', \'STATIC_URL\': \'/static/\', \'TIME_ZONE\': \'Europe/London\', \'messages\': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f942062fdd8>, \'DEFAULT_MESSAGE_LEVELS\': {\'DEBUG\': 10, \'INFO\': 20, \'SUCCESS\': 25, \'WARNING\': 30, \'ERROR\': 40}, \'url_suffix\': \'?_5.7.0\', \'base_include_template\': None, \'mapr_url_suffix\': \'?_0.4\'}, {}, {\'version\': \'5.7.0\', \'build_year\': \'2020\', \'error\': None, \'form\': <LoginForm bound=False, valid=Unknown, fields=(username;password;server)>, \'url\': \'url=%2Fwebclient%2F\', \'show_download_links\': True, \'client_download_tag_re\': \'^v5\\\\.7\\\\.[^-]+$\', \'client_download_repo\': \'ome/omero-insight\'}, {\'block\': <Block Node: body. Contents: [<TextNode: \'\\n\\n<div style="margin: aut\'>, <IfNode>, <TextNode: \'\\n    </div>\\n    <img src=\'>, <django.template.library.SimpleNode object at 0x7f94205a0ba8>, <TextNode: \'" />\\n</div>\\n\\n<div id="log\'>, <Block Node: login. Contents: [<TextNode: \'\\n    <form class="standar\'>, <django.template.defaulttags.URLNode object at 0x7f94205b0d68>, <IfNode>, <TextNode: \'" method="post">\'>, <django.template.defaulttags.CsrfTokenNode object at 0x7f94205b0da0>, <TextNode: \'\\n            \'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t\\n\\t\\t\\t<div id="choose_s\'>, <django.template.defaulttags.CommentNode object at 0x7f94205a4438>, <TextNode: \'\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t  \\t\\t\'>, <Variable Node: form.server>, <TextNode: \'\\n\\t\\t\\t   \\n\\t\\t\\t   <!-- Form E\'>, <IfNode>, <TextNode: \'\\n\\t\\t   </div>\\n\\n\\t\\t\\t<div>\\n\\t\\t\'>, <django.templatetags.i18n.TranslateNode object at 0x7f94205b66a0>, <TextNode: \'\\n\\t\\t\\t\\t<!--\'>, <IfNode>, <TextNode: \' -->\\n\\t\\t\\t\\t\'>, <Variable Node: form.username>, <TextNode: \'\\n\\t\\t\\t\\t<!-- Form Error -->\\n\'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t</div>\\n\\t\\t\\t\\n\\t\\t\\t<div>\\n\\t\'>, <django.templatetags.i18n.TranslateNode object at 0x7f94205a4b70>, <TextNode: \'\\n\\t\\t\\t\\t<!--\'>, <IfNode>, <TextNode: \'-->\\n\\t            \'>, <Variable Node: form.password>, <TextNode: \'\\n\\t\\t\\t\\t<!-- Form Error -->\\n\'>, <IfNode>, <TextNode: \'\\n\\t\\t\\t</div>\\n\\n        \\t<inp\'>, <django.template.defaulttags.URLNode object at 0x7f94205b9588>, <TextNode: \'">Forgot your password?</\'>, <IfNode>, <TextNode: \'\\n\\n    </form>\\n\\n    \'>]>, <TextNode: \'\\n</div>\\n\\n<div id="login-f\'>, <Variable Node: version>, <TextNode: \'.<br/>\\n\\t\\t&copy; 2007-\'>, <Variable Node: build_year>, <TextNode: \' University of Dundee &am\'>, <IfNode>, <TextNode: \'\\n\\n        <img src="\'>, <django.template.library.SimpleNode object at 0x7f94205b9e48>, <TextNode: \'"/>\\n    </p>\\n</div>\\n\'>]>}]'
Arguments: ('LOGIN_LOGO', 'webclient/login.html')
joshmoore commented 4 years ago

Hi @trevor. Sorry, I misunderstood that the exception was on startup. I see the same issue once I try to login. I'm going to move this to the omero-web repo since I think it's a general noisy debug statement. Thanks for pointing it out.