The command '/bin/sh -c ./manage.py lms --settings=tutor.i18n compilejsi18n' returned a non-zero code: 1

Posting this on behalf of a couple of clients who’ve both begun running into this error when attempting open-release/nutmeg.2 builds with tutor 14.2.3 and 15.0.2. The stack trace below occurs on this step:

Step 80/105 : RUN ./manage.py lms --settings=tutor.i18n compilejsi18n
---> Running in blahblahblah
Traceback (most recent call last):
    File "./manage.py", line 103, in <module>
        startup.run()

One common denominator is that both are installing ORA Xblock: GitHub - openedx/edx-ora2: Open Response Assessment Suite, and i noticed that this commit to this repo on 1-feb-2023 made changes to the Python requirement, “bleach”, which appears to the origin of the stack trace.

Traceback (most recent call last):
  File "./manage.py", line 103, in <module>
    startup.run()
  File "/openedx/edx-platform/lms/startup.py", line 20, in run
    django.setup()
  File "/openedx/venv/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/openedx/venv/lib/python3.8/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/openedx/venv/lib/python3.8/site-packages/django/apps/config.py", line 224, in create
    import_module(entry)
  File "/opt/pyenv/versions/3.8.12/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/openedx/edx-platform/lms/djangoapps/course_wiki/plugins/markdownedx/__init__.py", line 4, in <module>
    from lms.djangoapps.course_wiki.plugins.markdownedx.wiki_plugin import ExtendMarkdownPlugin
  File "/openedx/edx-platform/lms/djangoapps/course_wiki/plugins/markdownedx/wiki_plugin.py", line 2, in <module>
    from wiki.core.plugins import registry as plugin_registry
  File "/openedx/venv/src/django-wiki/wiki/core/__init__.py", line 4, in <module>
    from wiki.conf import settings
  File "/openedx/venv/src/django-wiki/wiki/conf/settings.py", line 26, in <module>
    bleach.ALLOWED_TAGS
TypeError: unsupported operand type(s) for +: 'frozenset' and 'list'
The command '/bin/sh -c ./manage.py lms --settings=tutor.i18n compilejsi18n' returned a non-zero code: 1
Error: Command failed with status 1: docker build -t ***.dkr.ecr.us-east-1.amazonaws.com/openedx:14.2.3-202302271716 --build-arg EDX_PLATFORM_REPOSITORY=https://github.com/openedx/edx-platform.git --build-arg EDX_PLATFORM_VERSION=open-release/nutmeg.2 /home/runner/.local/share/tutor/env/build/openedx

Hi Lawrence,
When I install tutor==14.2.4 I am able to build the openedx Docker image successfully. Can you describe which changes were made to the vanilla Docker build?

The part that I don’t understand is that edx-ora2 is already installed in the openedx Docker image, as it’s a base requirement of edx-platform: https://github.com/openedx/edx-platform/blob/open-release/nutmeg.3/requirements/edx/base.txt#L743

Are your clients installing a fork of edx-ora2? if yes, which version did they fork? They should have forked from 4.1.2, which is the version installed in Nutmeg. The edx-ora2 commit you linked to was only included in 5.0.0, and thus should not be part of the fork.