Движок остаётся в состоянии Running после выхода процесса на границе запуска
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 56/100
Línea de trabajo
Start with ProcessEngineBase.cs:133–139 and :173–183, then inspect the existing process engine tests. Reproduce the race with a controlled process exit during the final HasExited check. Done when startup reports failure or transitions to Failed and performs the usual cleanup, with a deterministic regression test.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Приоритет P1 · milestone 0.4.1
При выходе процесса сразу после последней проверки готовности оболочка может опубликовать Running для уже завершённого движка и пропустить аварийную очистку.
Воспроизведение с фейковым процессом
- В последнем чтении
HasExitedсохранить false, синхронно вызватьExitedс кодом 1 и вернуть сохранённое false. - Дождаться окончания
StartAsync. Процесс завершён, состояние движка — Running.
Причина: ProcessEngineBase.cs:133–139 проверяет HasExited перед SetState(Running). OnProcessExited (:173–183) игнорирует событие в состоянии Starting. Событие между проверкой и публикацией Running теряется.
Доказательство: детерминированный изолированный прогон вывел Dead process during final HasExited check; engine state=Running.
Ожидаемо: запуск сообщает сбой либо состояние сразу переходит в Failed с обычной очисткой.
Направление исправления: синхронизировать публикацию состояния и событие выхода или запоминать выход до завершения запуска. Добавить воспроизводящий тест с управляемым событием.
Аудит ffa65648867139f9e45c15f4b635a83c1ff52c1b.
- Lenguaje dominante
- C#
- Estrellas
- 5
- Forks
- 1
- Merge medio
- 23 min
- PR fusionados (30 d)
- 144
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 endercodezz/BYDLO
-
bug github_actions
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
endercodezz/BYDLO#336 ·
Los mantenedores suelen responder en 1 día
-
bug network
Dificultad 4/5 3-5 días Aptitud para principiantes 63/100
endercodezz/BYDLO#343 ·
Los mantenedores suelen responder en 1 día
-
bug network
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
endercodezz/BYDLO#342 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 53/100
endercodezz/BYDLO#341 ·
Los mantenedores suelen responder en 1 día
-
bug network
Dificultad 4/5 3-5 días Aptitud para principiantes 53/100
endercodezz/BYDLO#339 ·
Los mantenedores suelen responder en 1 día
Todos los issues de endercodezz/BYDLO
Issues similares
-
Add All ContributorsAbiertoenhancement ready-for-human
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
fboucher/2d6-dungeon-app#288 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
Unity-Technologies/unity-agent-plugin#118 ·
Los mantenedores suelen responder en 1 día
-
The Recommended preset turns on Import Uno DSP, which only works with the Material themePosiblemente ocupada @agneszitte la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
unoplatform/uno.templates#2388 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
eyalgolan/statecraft-israel#2732 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
StratumServer/Optimum#198 ·
Los mantenedores suelen responder en 1 día