:farmer: ros2topic.pytest.missing_result test consistently times out on Lyrical
Open
Nobody has claimed this yet.
bug
- Dominant language
- Python
- Stars
- 262
- Forks
- 228
- Avg merge
- 23h 15m
- Merged PRs (30d)
- 12
Description
Generated by Generative AI
No response
Operating System:
ubuntu Resolute
ROS version or commit hash:
Lyrical
RMW implementation (if applicable):
No response
RMW Configuration (if applicable):
No response
Client library (if applicable):
No response
'ros2 doctor --report' output
Steps to reproduce issue
- Go to any of the jobs listed below
- Build a job
- See test failing
Expected behavior
Build without issues
Actual behavior
Tests timing out
Additional information
Reference Build
Failing tests
- ros2topic.pytest.missing_result
Log Output
~~~~~~~~~~~~~~~~~~~~ Stack of MainThread (123814333187904) ~~~~~~~~~~~~~~~~~~~~~
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
raise SystemExit(pytest.console_main())
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 223, in console_main
code = main()
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 199, in main
ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 365, in pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 318, in wrap_session
session.exitstatus = doit(config, session) or 0
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 372, in _main
config.hook.pytest_runtestloop(session=session)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 396, in pytest_runtestloop
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/pytest_rerunfailures.py", line 593, in pytest_runtest_protocol
reports = runtestprotocol(item, nextitem=nextitem, log=False)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 137, in runtestprotocol
reports.append(call_and_report(item, "call", log))
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 244, in call_and_report
call = CallInfo.from_call(
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 353, in from_call
result: TResult | None = func()
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 245, in <lambda>
lambda: runtest_hook(item=item, **kwds),
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 179, in pytest_runtest_call
item.runtest()
File "/tmp/ws/install_isolated/launch_testing/lib/python3.14/site-packages/launch_testing/pytest/hooks.py", line 112, in runtest
results_per_run = runner.run()
File "/tmp/ws/install_isolated/launch_testing/lib/python3.14/site-packages/launch_testing/test_runner.py", line 260, in run
results[run] = worker.run()
File "/tmp/ws/install_isolated/launch_testing/lib/python3.14/site-packages/launch_testing/test_runner.py", line 162, in run
self._launch_service.run(
File "/tmp/ws/install_isolated/launch/lib/python3.14/site-packages/launch/launch_service.py", line 394, in run
return loop.run_until_complete(run_async_task)
File "/usr/lib/python3.14/asyncio/base_events.py", line 706, in run_until_complete
self.run_forever()
File "/usr/lib/python3.14/asyncio/base_events.py", line 677, in run_forever
self._run_once()
File "/usr/lib/python3.14/asyncio/base_events.py", line 2019, in _run_once
event_list = self._selector.select(timeout)
File "/usr/lib/python3.14/selectors.py", line 452, in select
fd_event_list = self._selector.poll(timeout, max_ev)
+++++++++++++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++++++++++++++
Flakyness 15 days
| job_name | last_fail | first_fail | build_count | failure_count | failure_percentage |
|---|---|---|---|---|---|
| Lci__nightly-debug_ubuntu_resolute_amd64 | 2026-09-14 | 2026-09-02 | 5 | 4 | 80.0 |
| Lci__nightly-connext_ubuntu_resolute_amd64 | 2026-09-14 | 2026-09-02 | 4 | 4 | 100.0 |
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 by reproducing ros2topic.pytest.missing_result in the referenced Ubuntu Resolute nightly-debug and connext jobs, then inspect the launch_testing timeout stack and recent failure pattern. Done means the test completes successfully without timing out in the affected jobs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100