Attempting to retry a piuparts workflow yields HTTP/500
Attempting to retry a piuparts workflow yields a HTTP/500 result. The log has a little more detail:
Error running work request Workflow/piuparts (68292): orchestrator failed: Cannot determine architecture for lookup result: LookupResult(result_type=_CollectionItemTypes.ARTIFACT, collection_item=<CollectionItem: Id: 837227 Name: build-all Parent collection id: 77 Child type: a Artifact id: 1131669>, artifact=<Artifact: Id: 1131669 Category: debian:upload Workspace: 1>, collection=None)
Surprisingly, the server/errors.log
has more detail than the journal despite efforts to dump all of it to to the journal.
2024-12-28 06:34:46,302 [log/832739/140435834009280] ERROR: Internal Server Error: /debusine/System/work-request/68292/retry/
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/debusine/server/workflows/base.py", line 531, in orchestrate_workflow
orchestrator.populate()
File "/usr/lib/python3/dist-packages/debusine/server/workflows/piuparts.py", line 40, in populate
architectures = self.get_architectures(self.data.binary_artifacts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/debusine/server/workflows/base.py", line 447, in get_architectures
return {self.lookup_result_architecture(result) for result in results}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/debusine/server/workflows/base.py", line 447, in <setcomp>
return {self.lookup_result_architecture(result) for result in results}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/debusine/server/workflows/base.py", line 409, in lookup_result_architecture
raise ValueError(
ValueError: Cannot determine architecture for lookup result: LookupResult(result_type=_CollectionItemTypes.ARTIFACT, collection_item=<CollectionItem: Id: 837227 Name: build-all Parent collection id: 77 Child type: a Artifact id: 1131669>, artifact=<Artifact: Id: 1131669 Category: debian:upload Workspace: 1>, collection=None)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/asgiref/sync.py", line 486, in thread_handler
raise exc_info[1]
File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line 42, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/asgiref/sync.py", line 486, in thread_handler
raise exc_info[1]
File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 253, in _get_response_async
response = await wrapped_callback(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/asgiref/sync.py", line 448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 442, in wait_for
return await fut
^^^^^^^^^
File "/usr/lib/python3/dist-packages/asgiref/current_thread_executor.py", line 22, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/asgiref/sync.py", line 490, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/contextlib.py", line 81, in inner
return func(*args, **kwds)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 104, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/debusine/web/views/base.py", line 121, in dispatch
return super().dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 143, in dispatch
return handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/debusine/web/views/work_request.py", line 454, in post
return self.retry(work_request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/debusine/web/views/work_request.py", line 441, in retry
new_work_request = work_request.retry()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/debusine/db/models/work_requests.py", line 1005, in retry
return self._retry_workflow()
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/debusine/db/models/work_requests.py", line 912, in _retry_workflow
orchestrate_workflow(self)
File "/usr/lib/python3/dist-packages/asgiref/sync.py", line 302, in main_wrap
raise exc_info[1]
File "/usr/lib/python3/dist-packages/debusine/server/workflows/base.py", line 533, in orchestrate_workflow
raise WorkflowRunError(
debusine.server.workflows.base.WorkflowRunError: (<WorkRequest: 68292>, 'orchestrator failed: Cannot determine architecture for lookup result: LookupResult(result_type=_CollectionItemTypes.ARTIFACT, collection_item=<CollectionItem: Id: 837227 Name: build-all Parent collection id: 77 Child type: a Artifact id: 1131669>, artifact=<Artifact: Id: 1131669 Category: debian:upload Workspace: 1>, collection=None)')