Одиночный сбой очистки helper навсегда занимает слот подключения
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
Piste de recherche
Start with HelperSession.cs:87–97, HelperServer.cs:46–66, and HelperLeasePool.cs:9–14; trace how cleanup failures affect the lease and session directory. Reproduce the failure with a fake StopAsync that throws once, then check that a retry can complete cleanup and a later session can acquire the slot. Done means failed cleanup remains retryable, and file deletion after a confirmed engine stop does not block new connections.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Приоритет P1 · milestone 0.4.1
Если остановка движка или удаление каталога сессии помощника завершится исключением, последующие подключения могут получать «A privileged engine already owns this resource» до перезапуска помощника.
Воспроизведение с фейком
- Занять слот через HelperSession.
- Закрыть клиентскую сессию, заставив фейковый StopAsync один раз выбросить исключение.
- Попробовать занять слот второй сессией. Первая очистка не повторяется и захват отклоняется.
Причина: HelperSession.cs:87–97 выполняет остановку, Dispose и удаление каталога последовательно, освобождая lease в самом конце. HelperServer.cs:63–66 ожидает Dispose один раз, а :46–52 только логирует ошибку завершённой задачи и теряет ссылку. HelperLeasePool.cs:9–14 продолжает отклонять новые подключения.
Доказательство: изолированный прогон получил A privileged engine already owns this resource. StopAttempts=1; old session directory remains=True.
Ожидаемо: сбой очистки остаётся доступен для повторной попытки. После подтверждённой остановки движка временная ошибка удаления файлов не блокирует все последующие подключения.
Направление исправления: удерживать состояние незавершённой очистки для повторов. Разделить освобождение слота после безопасной остановки и отдельное удаление каталога сессии.
Связано: #257, #182.
Аудит ffa65648867139f9e45c15f4b635a83c1ff52c1b.
- Langage dominant
- C#
- Étoiles
- 5
- Forks
- 1
- Merge moyen
- 46 min
- PR mergées (30 j)
- 202
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de endercodezz/BYDLO
-
Difficulté 4/5 3-5 jours Accessibilité débutants 58/100
endercodezz/BYDLO#468 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
endercodezz/BYDLO#467 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
endercodezz/BYDLO#466 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement P3
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
endercodezz/BYDLO#455 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement P3 ux
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
endercodezz/BYDLO#438 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de endercodezz/BYDLO
Issues similaires
-
Assert.That on a null non-generic IEnumerable throws ArgumentNullException, so IsNull() cannot passOuvertebug P2
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
bug frontend ui
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
agentic-workflows
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
documentation trivial
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
[辞書] 同梱辞書追加Ouverte提案 辞書
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
yksr-melt/Meltype#1651 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour