Движок остаётся в состоянии Running после выхода процесса на границе запуска
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 56/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Приоритет 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.
- Lingua principale
- C#
- Stelle
- 5
- Fork
- 1
- Merge medio
- 23m
- PR unite (30g)
- 144
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 endercodezz/BYDLO
-
bug github_actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
endercodezz/BYDLO#336 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 63/100
endercodezz/BYDLO#343 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
endercodezz/BYDLO#342 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 53/100
endercodezz/BYDLO#341 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 53/100
endercodezz/BYDLO#339 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di endercodezz/BYDLO
Issue simili
-
.NET good first issue testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
HelloblueAI/HelloblueGK#311 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-area-label
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 2 giorni
-
State: Needs Discussion
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
getsentry/sentry-dotnet#5876 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area-Extensions-FileSystem untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
dotnet/runtime#136989 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Library Request: highspyApertalibrary-request
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
QuantConnect/Lean#10034 ·
I maintainer di solito rispondono entro 1 giorno