dimensionalOS / dimensionalOS/dimos

Flaky test: test_go_to_the_bed (test_dimsim_spatial_memory) times out intermittently

Open
#2,444 3 comments 0 reactions 1 assignee View on GitHub

@paul-nechifor is already working on this.

Since Jun 10, 2026.

bug
Dominant language
Python
Stars
4.5k
Forks
808
Avg merge
3d 5h
Merged PRs (30d)
233

Description

Flaky Test: test_go_to_the_bed

File: dimos/e2e_tests/test_dimsim_spatial_memory.py
CI Run: https://github.com/dimensionalOS/dimos/actions/runs/27148687897/job/80133497365

Behavior

The test fails on first run with a 180s timeout waiting for the robot to reach the target position, then passes on retry (same run). Classic flaky test.

Error
FAILED dimos/e2e_tests/test_dimsim_spatial_memory.py::test_go_to_the_bed - TimeoutError: Failed to get to position x=-3.567, y=-1.332

dimos/e2e_tests/lcm_spy.py:105: TimeoutError

    human_input("go to the bed")

>   lcm_spy.wait_until_odom_position(-3.567, -1.332, threshold=2, timeout=180)

E   TimeoutError: Failed to get to position x=-3.567, y=-1.332
Retry (same run)
run-last-failure: rerun previous 1 failure (skipped 216 files)
dimos/e2e_tests/test_dimsim_spatial_memory.py::test_go_to_the_bed PASSED [100%]
415.14s call     dimos/e2e_tests/test_dimsim_spatial_memory.py::test_go_to_the_bed
Analysis
  • The test sends "go to the bed" and waits for odom to reach (-3.567, -1.332) within threshold=2, timeout=180s
  • On retry it took 415s to pass — well over the 180s timeout on first attempt
  • The 180s timeout is likely too tight for this agentic navigation test (LLM reasoning + spatial memory lookup + path planning + execution)
  • Non-determinism in LLM responses and exploration timing makes this inherently variable
Suggested Fix
  • Increase timeout from 180s to ~600s (matching pytest-timeout), or
  • Add a retry decorator for known-flaky agentic tests, or
  • Split the test: verify the navigation command was issued (deterministic) separately from verifying arrival (non-deterministic)

Synced from DIM-996 by summer

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.