ros2 / ros2/ros2cli

:farmer: ros2topic.pytest.missing_result test consistently times out on Lyrical

Open
#1,294 0 comments 0 reactions 0 assignees View on GitHub

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
  1. Go to any of the jobs listed below
  2. Build a job
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.