RuntimeError: Broker could not provide patch for D321887 (HTTP 500): Internal Server Error
Open
Nobody has claimed this yet.
hackbot
- Dominant language
- Python
- Stars
- 570
- Forks
- 351
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 65
Description
Two runs with the same issues:
- https://hackbot.moz.tools/runs/a3daf468-6939-40cd-ac14-177e47e2fa8f
- https://hackbot.moz.tools/runs/2defded5-d894-4a5a-883f-a345b511e174
Note: the target revision is part of a stack and stacks are not supported yet.
Broker:
Traceback (most recent call last):
File "/opt/venv/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 416, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 63, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/starlette/applications.py", line 90, in __call__
await self.middleware_stack(scope, receive, send)
File "/opt/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 186, in __call__
raise exc
File "/opt/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "/opt/venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/opt/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/opt/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/opt/venv/lib/python3.12/site-packages/starlette/routing.py", line 660, in __call__
await self.middleware_stack(scope, receive, send)
File "/opt/venv/lib/python3.12/site-packages/starlette/routing.py", line 680, in app
await route.handle(scope, receive, send)
File "/opt/venv/lib/python3.12/site-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/opt/venv/lib/python3.12/site-packages/starlette/routing.py", line 64, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/opt/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/opt/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/opt/venv/lib/python3.12/site-packages/starlette/routing.py", line 61, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/hackbot_agents/bug_fix/broker.py", line 79, in get_patch
base_commit = await client.resolve_commit(diff.base_commit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/phabricator_client/client.py", line 174, in resolve_commit
commits = data.values()
^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'values'
Agent:
Traceback (most recent call last):
File "/opt/venv/lib/python3.12/site-packages/hackbot_runtime/runtime.py", line 214, in run_async
outcome: object = asyncio.run(entrypoint(ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/runners.py", line 195, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/hackbot_agents/bug_fix/__main__.py", line 52, in main
await checkout_revision(ctx, inputs.revision_id, inputs.broker_url)
File "/opt/venv/lib/python3.12/site-packages/hackbot_runtime/revision.py", line 50, in checkout_revision
raise RuntimeError(
RuntimeError: Broker could not provide patch for D321887 (HTTP 500): Internal Server Error
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with hackbot_agents/bug_fix/broker.py:get_patch and trace its call to phabricator_client/client.py:resolve_commit. Reproduce the failure using the two linked run records and inspect how the stack revision is resolved; done means the reported revision request no longer fails with this broker 500.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100