VNC console: port 5901 not ready within 120s after #261 (Windows, Docker, Autoparking)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- docker, docker-compose, python
- Ambito
- backend, devops, networking
Direzione di ricerca
Inizia da robotics_application_manager/manager/vnc/vnc_server.py e segui start_vnc attraverso wait_for_port, quindi esamina manager/launcher/launcher_console.py e launcher_tools.py. Riproduci l’avvio della console Autoparking su Windows con Docker Desktop e risorse esclusivamente CPU, usando i log riportati come riferimento. Il lavoro è completato quando si determina se il mancato avvio della porta 5901 dopo 120 secondi è una limitazione dell’ambiente o un bug successivo a #261, e il comportamento viene documentato chiaramente o corretto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
When connecting to an exercise, RAM starts the console tool: the X server comes up on display :1, but nothing listens on port 5901 within the 120 second wait. prepare_tools then fails with TimeoutError in vnc_server.wait_for_port.
This occurs after the timeout change described in #261 (20s → 120s). The wait expires at the full 120s (see timestamps below), so the failure is not “needs slightly more than 20s”—the VNC port does not become available in that window.
Related
- #261 — Port 5901 gets stuck sometimes (timeout increased to 120s; closed as completed)
Environment
| Item | Value |
|---|---|
| Host OS | Windows (build 10.0.26200) |
| Docker | Docker Desktop (WSL2 backend); Docker Engine v29.2.1 |
| Compose / stack | RoboticsAcademy docker compose with local repo mount; services robotics-academy → developer-container, universe_db |
| Images | jderobot/robotics-academy:latest (developer-container), jderobot/robotics-database:latest |
| Academy (container) | Django 4.1.7; http://0.0.0.0:7164/; RAM WebSocket 7163 |
| GPU | No /dev/dri in logs; CPU-only mode for this run |
| Docker resources | CPUs: 16; Memory: 15.27 GiB (from docker info) |
Exercise / reproduction
| Item | Value |
|---|---|
| Exercise | Autoparking (project_id=autoparking) |
| Universe | Autopark_line (default after connect) |
| World launcher | /opt/jderobot/Launchers/autopark_line.launch.py (gz) |
| Tools requested | console, simulator, web_gui |
Steps:
docker compose upwith the usual RoboticsAcademy compose file.- Open the Academy in the browser (e.g.
http://127.0.0.1:7164/). - Open Autoparking → Connect.
- Wait for tools to prepare (do not switch universe or stop while starting).
Expected outcome
The console VNC path completes: something listens on 5901 within the wait, prepare_tools finishes, and the session reaches a stable tools-ready state.
Actual outcome
TimeoutError: Port 5901 on localhost didn't become available within 120 seconds. Failure occurs during on_prepare_tools while starting the console VNC.
Timing (from logs): tools transition started at 22:02:33; error at 22:04:35 (~122 s later), consistent with exhausting the 120 s wait.
Logs
Tools transition started developer-container | Xserver on :1 is running! developer-container | 22:04:35 [MainThread ] [ERROR] (my_app_logger) Port 5901 on localhost didn't become available within 120 seconds. developer-container | Traceback (most recent call last): developer-container | File "//RoboticsApplicationManager/robotics_application_manager/manager/manager.py", line 1052, in start
developer-container | self.process_message(message) developer-container | File "//RoboticsApplicationManager/robotics_application_manager/manager/manager.py", line 910, in process_message
developer-container | self.trigger(message.command, data=message.data or None) developer-container | File "/usr/local/lib/python3.10/dist-packages/transitions/core.py", line 922, in _get_trigger
developer-container | return event.trigger(model, *args, **kwargs) developer-container | File "/usr/local/lib/python3.10/dist-packages/transitions/core.py", line 402, in trigger
developer-container | return self.machine._process(func) developer-container | File "/usr/local/lib/python3.10/dist-packages/transitions/core.py", line 1211, in _process
developer-container | return trigger() developer-container | File "/usr/local/lib/python3.10/dist-packages/transitions/core.py", line 416, in _trigger
developer-container | self._process(event_data) developer-container | File "/usr/lo.....n_manager/manager/manager.py", line 418, in on_prepare_tools developer-container | return trigger() developer-container | File "/usr/local/lib/python3.10/dist-packages/transitions/core.py", line 416, in _trigger developer-container | self._process(event_data) developer-container | File "/usr/lo.....n_manager/manager/manager.py", line 418, in on_prepare_tools developer-container | self.tools_launcher.run(self.consumer)
developer-container | File "/RoboticsApplicationManager/robotics_application_manager/manager/launcher/launcher_tools.py", line 93, in run
developer-container | launcher = self.launch_module(tool, module, consumer) developer-container | File "/RoboticsApplicationManager/robotics_application_manager/manager/launcher/launcher_tools.py", line 123, in launch_module developer-container | launcher.run(config, process_terminated)
developer-container | File "/RoboticsApplicationManager/robotics_application_manager/manager/launcher/launcher_console.py", line 30, in run
developer-container | self.console_vnc.start_vnc( developer-container | File "/RoboticsApplicationManager/robotics_application_manager/manager/vnc/vnc_server.py", line 66, in start_vnc
developer-container | self.wait_for_port("localhost", internal_port) developer-container | File "/RoboticsApplicationManager/robotics_application_manager/manager/vnc/vnc_server.py", line 132, in wait_for_port
developer-container | raise TimeoutError( developer-container | TimeoutError: Port 5901 on localhost didn't become available within 120 seconds.
Outcome requested
Clarify whether this is an expected limitation on Windows + Docker Desktop (CPU-only) versus a bug; track post–#261 cases where 5901 still never opens within 120s (distinct from the rare/low-power case described in #261).
- Lingua principale
- Python
- Stelle
- 12
- Fork
- 34
- Merge medio
- 16m
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JdeRobot/RoboticsApplicationManager
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
JdeRobot/RoboticsApplicationManager#282 · 1 commento ·
-
Failed to import WebGUI and HAL if entrypoint is not in rootForse di nuovo libera @javizqh l’ha presa 211 giorni fa e non c’è nessuna pull request aperta. Aperta
JdeRobot/RoboticsApplicationManager#275 · 1 assegnatario ·
-
Add cpp autocompletionAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
-
Fix logging in VNC ConsoleForse di nuovo libera @AshishRamesh l’ha presa 482 giorni fa e non c’è nessuna pull request aperta. Apertagsoc help wanted ros-native
JdeRobot/RoboticsApplicationManager#222 · 9 commenti · 1 assegnatario ·
Tutte le issue di JdeRobot/RoboticsApplicationManager
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
common-workflow-language/cwl-utils#477 ·
I maintainer di solito rispondono entro 1 giorno
-
Add dependabotApertafeat
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 72/100
open-nudge/opentemplate#204 ·
I maintainer di solito rispondono entro 1 giorno
-
github-stale-ci-pr-closer: KV state is double-wrapped, never persists, and hits the depth-32 limitForse già presa @VascoSch92 l’ha presa oggi. Apertapriority:medium ready-for-dev
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenHands/extensions#781 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
curriculum documentation quality
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
githubnext/gh-aw-workshop#4638 ·
I maintainer di solito rispondono entro 1 giorno