Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

VNC console: port 5901 not ready within 120s after #261 (Windows, Docker, Autoparking)

Aperta
#277 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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

bug

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:

  1. docker compose up with the usual RoboticsAcademy compose file.
  2. Open the Academy in the browser (e.g. http://127.0.0.1:7164/).
  3. Open Autoparking → Connect.
  4. 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

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di JdeRobot/RoboticsApplicationManager

Tutte le issue di JdeRobot/RoboticsApplicationManager

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.