Closed
Description
Describe the bug
While trying to upgrade the CCB library from v4 to v5, I get a 500 error from the server.
A few moments later, I can see the following error in the logs of the backend:
ciso-assistant-backend-75bd85b99c-pmvnd backend [2025-04-10 15:20:31 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:122)
ciso-assistant-backend-75bd85b99c-pmvnd backend [2025-04-10 15:20:31 +0000] [122] [ERROR] Error handling request /api/loaded-libraries/35b3816b-0f0c-41ee-a967-89f450ff2288/update/
ciso-assistant-backend-75bd85b99c-pmvnd backend Traceback (most recent call last):
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/fields/related_descriptors.py", line 239, in __get__
ciso-assistant-backend-75bd85b99c-pmvnd backend rel_obj = self.field.get_cached_value(instance)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/fields/mixins.py", line 37, in get_cached_value
ciso-assistant-backend-75bd85b99c-pmvnd backend return instance._state.fields_cache[self.cache_name]
ciso-assistant-backend-75bd85b99c-pmvnd backend ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend KeyError: 'requirement'
ciso-assistant-backend-75bd85b99c-pmvnd backend
ciso-assistant-backend-75bd85b99c-pmvnd backend During handling of the above exception, another exception occurred:
ciso-assistant-backend-75bd85b99c-pmvnd backend
ciso-assistant-backend-75bd85b99c-pmvnd backend Traceback (most recent call last):
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 134, in handle
ciso-assistant-backend-75bd85b99c-pmvnd backend self.handle_request(listener, req, client, addr)
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 177, in handle_request
ciso-assistant-backend-75bd85b99c-pmvnd backend respiter = self.wsgi(environ, resp.start_response)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/wsgi.py", line 124, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 140, in get_response
ciso-assistant-backend-75bd85b99c-pmvnd backend response = self._middleware_chain(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 129, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = response or self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 129, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = response or self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 129, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = response or self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 129, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = response or self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 129, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = response or self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 129, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = response or self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 129, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = response or self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 129, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = response or self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django_structlog/middlewares/request.py", line 73, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend response = self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/auditlog/middleware.py", line 53, in __call__
ciso-assistant-backend-75bd85b99c-pmvnd backend return self.get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/allauth/account/middleware.py", line 36, in middleware
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend response = get_response(request)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 197, in _get_response
ciso-assistant-backend-75bd85b99c-pmvnd backend response = wrapped_callback(request, *callback_args, **callback_kwargs)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
ciso-assistant-backend-75bd85b99c-pmvnd backend return view_func(request, *args, **kwargs)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/rest_framework/viewsets.py", line 124, in view
ciso-assistant-backend-75bd85b99c-pmvnd backend return self.dispatch(request, *args, **kwargs)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/rest_framework/views.py", line 506, in dispatch
ciso-assistant-backend-75bd85b99c-pmvnd backend response = handler(request, *args, **kwargs)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/library/views.py", line 388, in _update
ciso-assistant-backend-75bd85b99c-pmvnd backend error_msg = library.update()
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/usr/local/lib/python3.12/contextlib.py", line 81, in inner
ciso-assistant-backend-75bd85b99c-pmvnd backend return func(*args, **kwds)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/core/models.py", line 698, in update
ciso-assistant-backend-75bd85b99c-pmvnd backend return library_updater.update_library()
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/core/models.py", line 601, in update_library
ciso-assistant-backend-75bd85b99c-pmvnd backend ra.save()
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/core/models.py", line 3903, in save
ciso-assistant-backend-75bd85b99c-pmvnd backend self.compliance_assessment.upsert_daily_metrics()
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/core/models.py", line 3073, in upsert_daily_metrics
ciso-assistant-backend-75bd85b99c-pmvnd backend "progress_perc": self.progress,
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/core/models.py", line 3687, in progress
ciso-assistant-backend-75bd85b99c-pmvnd backend self.get_requirement_assessments(include_non_assessable=False)
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/core/models.py", line 3245, in get_requirement_assessments
ciso-assistant-backend-75bd85b99c-pmvnd backend if requirement.requirement.implementation_groups
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/fields/related_descriptors.py", line 257, in __get__
ciso-assistant-backend-75bd85b99c-pmvnd backend rel_obj = self.get_object(instance)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/fields/related_descriptors.py", line 220, in get_object
ciso-assistant-backend-75bd85b99c-pmvnd backend return qs.get(self.field.get_reverse_related_filter(instance))
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 645, in get
ciso-assistant-backend-75bd85b99c-pmvnd backend num = len(clone)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 382, in __len__
ciso-assistant-backend-75bd85b99c-pmvnd backend self._fetch_all()
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 1928, in _fetch_all
ciso-assistant-backend-75bd85b99c-pmvnd backend self._result_cache = list(self._iterable_class(self))
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/query.py", line 91, in __iter__
ciso-assistant-backend-75bd85b99c-pmvnd backend results = compiler.execute_sql(
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1574, in execute_sql
ciso-assistant-backend-75bd85b99c-pmvnd backend cursor.execute(sql, params)
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 79, in execute
ciso-assistant-backend-75bd85b99c-pmvnd backend return self._execute_with_wrappers(
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
ciso-assistant-backend-75bd85b99c-pmvnd backend return executor(sql, params, many, context)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/backends/utils.py", line 105, in _execute
ciso-assistant-backend-75bd85b99c-pmvnd backend return self.cursor.execute(sql, params)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/django/db/backends/sqlite3/base.py", line 354, in execute
ciso-assistant-backend-75bd85b99c-pmvnd backend return super().execute(query, params)
ciso-assistant-backend-75bd85b99c-pmvnd backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ciso-assistant-backend-75bd85b99c-pmvnd backend File "/code/.venv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort
ciso-assistant-backend-75bd85b99c-pmvnd backend sys.exit(1)
ciso-assistant-backend-75bd85b99c-pmvnd backend SystemExit: 1
ciso-assistant-backend-75bd85b99c-pmvnd backend [2025-04-10 15:20:31 +0000] [122] [INFO] Worker exiting (pid: 122)
ciso-assistant-backend-75bd85b99c-pmvnd backend [2025-04-10 15:20:32 +0000] [318] [INFO] Booting worker with pid: 318
To Reproduce
Steps to reproduce the behavior:
- Go to 'Loaded libraries'
- Click on 'Upgrade' for library 'CCB CyberFundamentals Framework'
- See error
Expected behavior
The library is updated
Screenshots
Environment (please complete the following information):
- Device: All
- OS: All
- Browser: All
- Version: v2.3.6
Additional context
N/A
Metadata
Metadata
Assignees
Labels
No labels