-
Notifications
You must be signed in to change notification settings - Fork 4
Closed
Description
The LTI XBlock preview in the Content Library V2 is not working. Here are the crash logs. (discovered here)
Traceback (most recent call last):
File "/openedx/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/pyenv/versions/3.11.8/lib/python3.11/contextlib.py", line 81, in inner
return func(*args, **kwds)
^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
return view_func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/generic/base.py", line 105, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 515, in dispatch
response = self.handle_exception(exc)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 475, in handle_exception
self.raise_uncaught_exception(exc)
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
raise exc
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 512, in dispatch
response = handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/decorators.py", line 50, in handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/decorators/clickjacking.py", line 86, in _view_wrapper
response = view_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/rest_api/views.py", line 118, in embed_block_view
fragment = _render_block_view(block, view_name, request.user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/api.py", line 261, in render_block_view
fragment = block.render(view_name)
^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblock/xblock/core.py", line 818, in render
return self.runtime.render(self, view, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/runtime/runtime.py", line 415, in render
fragment = super().render(block, view_name, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/runtime/shims.py", line 41, in render
return super().render(block, view_name, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblock/xblock/runtime.py", line 823, in render
frag = view_fn(context)
^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 536, in student_view
"templates/lti.html", self.get_context(),
^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 508, in get_context
'input_fields': self.get_input_fields(),
^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 438, in get_input_fields
client_key, client_secret = self.get_client_key_secret()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 994, in get_client_key_secret
course = self.get_course()
^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 767, in get_course
return self.runtime.modulestore.get_course(self.location.course_key)
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'LearningCoreXBlockRuntime' object has no attribute 'modulestore'
Internal Server Error: /xblocks/v2/lb:axim:lib1:lti:28d163a1-8bdb-4ce4-919d-7dcff9bb739c/embed/student_view/
Traceback (most recent call last):
File "/openedx/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/pyenv/versions/3.11.8/lib/python3.11/contextlib.py", line 81, in inner
return func(*args, **kwds)
^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
return view_func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/generic/base.py", line 105, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 515, in dispatch
response = self.handle_exception(exc)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 475, in handle_exception
self.raise_uncaught_exception(exc)
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
raise exc
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 512, in dispatch
response = handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/decorators.py", line 50, in handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/decorators/clickjacking.py", line 86, in _view_wrapper
response = view_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/rest_api/views.py", line 118, in embed_block_view
fragment = _render_block_view(block, view_name, request.user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/api.py", line 261, in render_block_view
fragment = block.render(view_name)
^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblock/xblock/core.py", line 818, in render
return self.runtime.render(self, view, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/runtime/runtime.py", line 415, in render
fragment = super().render(block, view_name, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/runtime/shims.py", line 41, in render
return super().render(block, view_name, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblock/xblock/runtime.py", line 823, in render
frag = view_fn(context)
^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 536, in student_view
"templates/lti.html", self.get_context(),
^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 508, in get_context
'input_fields': self.get_input_fields(),
^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 438, in get_input_fields
client_key, client_secret = self.get_client_key_secret()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 994, in get_client_key_secret
course = self.get_course()
^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 767, in get_course
return self.runtime.modulestore.get_course(self.location.course_key)
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'LearningCoreXBlockRuntime' object has no attribute 'modulestore'
2026-01-05 14:13:39,088 ERROR 25 [django.request] [user None] [ip None] log.py:253 - Internal Server Error: /xblocks/v2/lb:axim:lib1:lti:28d163a1-8bdb-4ce4-919d-7dcff9bb739c/embed/student_view/
Traceback (most recent call last):
File "/openedx/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/pyenv/versions/3.11.8/lib/python3.11/contextlib.py", line 81, in inner
return func(*args, **kwds)
^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
return view_func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/generic/base.py", line 105, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 515, in dispatch
response = self.handle_exception(exc)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 475, in handle_exception
self.raise_uncaught_exception(exc)
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 486, in raise_uncaught_exception
raise exc
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 512, in dispatch
response = handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/rest_framework/decorators.py", line 50, in handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/openedx/venv/lib/python3.11/site-packages/django/views/decorators/clickjacking.py", line 86, in _view_wrapper
response = view_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/rest_api/views.py", line 118, in embed_block_view
fragment = _render_block_view(block, view_name, request.user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/api.py", line 261, in render_block_view
fragment = block.render(view_name)
^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblock/xblock/core.py", line 818, in render
return self.runtime.render(self, view, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/runtime/runtime.py", line 415, in render
fragment = super().render(block, view_name, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/openedx/edx-platform/openedx/core/djangoapps/xblock/runtime/shims.py", line 41, in render
return super().render(block, view_name, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblock/xblock/runtime.py", line 823, in render
frag = view_fn(context)
^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 536, in student_view
"templates/lti.html", self.get_context(),
^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 508, in get_context
'input_fields': self.get_input_fields(),
^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 438, in get_input_fields
client_key, client_secret = self.get_client_key_secret()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 994, in get_client_key_secret
course = self.get_course()
^^^^^^^^^^^^^^^^^
File "/mnt/xblocks-contrib/xblocks_contrib/lti/lti.py", line 767, in get_course
return self.runtime.modulestore.get_course(self.location.course_key)
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'LearningCoreXBlockRuntime' object has no attribute 'modulestore'```Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
✅ Done