Installing Problem-builder xblock resulting in platform not starting

Problem-Builder Xblock
I tried installing this xblock in devstack juniper environment using lms-shell and studio-shell.
However platform was unable to bootup. On checking logs on lms side I got the following output:

 edx.devstack-juniper.master.lms | Traceback (most recent call last):
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/problem_builder/platform_dependencies.py", line 35, in <module>
edx.devstack-juniper.master.lms |     from courseware.models import StudentModule
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/models.py", line 82, in <module>
edx.devstack-juniper.master.lms |     class StudentModule(models.Model):
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/db/models/base.py", line 316, in __new__
edx.devstack-juniper.master.lms |     new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/apps/registry.py", line 229, in register_model
edx.devstack-juniper.master.lms |     (model_name, app_label, app_models[model_name], model))
edx.devstack-juniper.master.lms | RuntimeError: Conflicting 'studentmodule' models in application 'courseware': <class 'lms.djangoapps.courseware.models.StudentModule'> and <class 'courseware.models.StudentModule'>.
edx.devstack-juniper.master.lms | 
edx.devstack-juniper.master.lms | During handling of the above exception, another exception occurred:
edx.devstack-juniper.master.lms | 
edx.devstack-juniper.master.lms | Traceback (most recent call last):
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/edx-platform/manage.py", line 120, in <module>
edx.devstack-juniper.master.lms |     startup.run()
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/edx-platform/lms/startup.py", line 20, in run
edx.devstack-juniper.master.lms |     django.setup()
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
edx.devstack-juniper.master.lms |     apps.populate(settings.INSTALLED_APPS)
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/apps/registry.py", line 114, in populate
edx.devstack-juniper.master.lms |     app_config.import_models()
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/apps/config.py", line 211, in import_models
edx.devstack-juniper.master.lms |     self.models_module = import_module(models_module_name)
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/importlib/__init__.py", line 126, in import_module
edx.devstack-juniper.master.lms |     return _bootstrap._gcd_import(name[level:], package, level)
edx.devstack-juniper.master.lms |   File "<frozen importlib._bootstrap>", line 986, in _gcd_import
edx.devstack-juniper.master.lms |   File "<frozen importlib._bootstrap>", line 969, in _find_and_load
edx.devstack-juniper.master.lms |   File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
edx.devstack-juniper.master.lms |   File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
edx.devstack-juniper.master.lms |   File "<frozen importlib._bootstrap_external>", line 665, in exec_module
edx.devstack-juniper.master.lms |   File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/problem_builder/models.py", line 27, in <module>
edx.devstack-juniper.master.lms |     from .platform_dependencies import AnonymousUserId
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/problem_builder/platform_dependencies.py", line 47, in <module>
edx.devstack-juniper.master.lms |     from common.djangoapps.student.models import AnonymousUserId
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/edx-platform/common/djangoapps/student/models.py", line 130, in <module>
edx.devstack-juniper.master.lms |     class AnonymousUserId(models.Model):
edx.devstack-juniper.master.lms |   File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/db/models/base.py", line 111, in __new__
edx.devstack-juniper.master.lms |     "INSTALLED_APPS." % (module, name)
edx.devstack-juniper.master.lms | RuntimeError: Model class common.djangoapps.student.models.AnonymousUserId doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

Hmm, @kmccormick tried to fix this exact issue in https://github.com/open-craft/problem-builder/pull/324 but it seems like it’s not working as expected with Juniper. If you can’t upgrade to Koa, I would suggest you use a slightly older version of problem builder (perhaps v4.1.9) and see if that works.

Hi @braden
I was able to solve conflicting model issue.
But no clue on:
RuntimeError: Model class common.djangoapps.student.models.AnonymousUserId doesn’t declare an explicit app_label and isn’t in an application in INSTALLED_APPS.

This version worked thanks!

1 Like

@vikrant, this has been fixed in the newest version (v4.1.13).

1 Like