Relay shows Baton Connected after the plugin has gone, and never accepts it again
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- networking
Línea de trabajo
Start with the receive loop in relay/src/state.rs around line 745 and read the Windows behavior described in #254. Decide how the relay can detect a disconnected plugin when Ok(0) is ambiguous, considering the heartbeat or blocking-reader options in the issue. Done means the relay shows :( No Baton Connection after disconnection and accepts a reconnect without manual IPC controls.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
Once the relay has accepted the plugin, it never notices the plugin going away. The window keeps showing :) Baton Connected!, and a plugin that reconnects is never served, so the only recovery is Disconnect IPC then Connect IPC, or restarting the relay.
The receive loop in ipc_connect treats Ok(0) as "no data yet" and keeps polling (relay/src/state.rs:745). On Windows, interprocess returns Ok(0) both for an empty pipe and for one whose other end has closed (see #254), so the loop cannot tell the two apart and never exits. The BrokenPipe arm below it is unreachable on Windows for the same reason. accept() is only called again after that loop exits, so nothing new is accepted.
In the lab this followed directly from #254: the plugin dropped the connection after its failed handshake, but the relay still showed Baton Connected, which made the problem look like it was further down the line.
To Reproduce
- On Windows, start the relay, then X-Plane, so the plugin connects.
- Untick PilotDataSync in Plugin Admin, or quit X-Plane.
- The relay still shows
:) Baton Connected!. - Re-tick the plugin. Nothing reaches the relay until
Disconnect IPC/Connect IPCis pressed.
Expected behavior
The relay notices the plugin has gone, shows :( No Baton Connection, and goes back to accepting, so the plugin can reconnect without anyone touching the relay.
Additional context
Because a read cannot distinguish "empty" from "closed" on Windows, this needs a signal other than the read result. Options include a heartbeat line from baton with a timeout on the relay side, or a blocking reader thread, where Ok(0) really does mean closed. baton already writes SHUTDOWN on a clean stop, but that does not cover X-Plane crashing or the handshake failing.
- Lenguaje dominante
- Python
- Estrellas
- 4
- Forks
- 9
- Merge medio
- 3 d 21 h
- PR fusionados (30 d)
- 7
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de oss-slu/PilotDataSynchronization
-
area:docs area:xplane-plugin documentation needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
oss-slu/PilotDataSynchronization#259 ·
Los mantenedores suelen responder en 3 días
-
Connect TCP with an invalid address is silent in the event logPosiblemente ocupada @PRINCEKK122 la tomó hace 23 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
oss-slu/PilotDataSynchronization#241 ·
Los mantenedores suelen responder en 3 días
-
cluster_pilots.py shows a traceback for a bad --k and leaves outputs when --truth is invalidPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoarea:ml bug python
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
oss-slu/PilotDataSynchronization#232 ·
Los mantenedores suelen responder en 3 días
-
Document running the Python listener on a second PCPosiblemente ocupada @Omanhene20 la tomó hace 4 días. Abiertoarea:docs area:ml area:relay documentation needs-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
oss-slu/PilotDataSynchronization#264 · 1 asignado ·
Los mantenedores suelen responder en 3 días
-
data_logger stops with a traceback if its CSV is open in ExcelPosiblemente ocupada @jmacd867 la tomó hace 11 días. Abiertoarea:ml bug needs-triage python
oss-slu/PilotDataSynchronization#263 · 1 asignado ·
Los mantenedores suelen responder en 3 días
Todos los issues de oss-slu/PilotDataSynchronization
Issues similares
-
area: providers/aws priority: p2 size: S type: bug type: testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
finos/open-resource-broker#851 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
sandialabs/atlas-ui-3#1196 ·
Los mantenedores suelen responder en 1 día
-
enhancement triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ShaftHQ/SHAFT_ENGINE#7902 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: GraphML export writes invalid XML when a value contains a control character (e.g. form feed)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
topoteretes/cognee#6646 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
DOI-USGS/pywatershed#428 ·