diff --git a/doc/etcp_multipath_plan.txt b/doc/etcp_multipath_plan.txt index 49b785e5..59fedc85 100644 --- a/doc/etcp_multipath_plan.txt +++ b/doc/etcp_multipath_plan.txt @@ -63,6 +63,14 @@ REINIT у обоих владельцев, четыре линка UP, стар с detect_leaks=1. Логи: /tmp/etcp-oom-reinit-asan-test_*.log, /tmp/etcp-abort-faults-final.log, /tmp/etcp-abort-encrypted-recovery.log. Исходное воспроизведение потери: /tmp/etcp-unpack-admission-review.c/.mk/.log. +Полный check.sh после OOM-правок: 181/183, FAIL test_bgp_route_exchange и +test_encrypted_attachment. BGP отдельно с диагностикой PASS; причина нестабильности +общего прогона не установлена. Вложения отдельно снова FAIL: очистка кеша удаляет +активный .uenc.tmp., затем запись BLOCK_CHUNK получает ENOENT. В этом сценарии +ETCP не сбрасывается. Отдельная задача внесена в doc/tasks.md; media-код не изменялся. +Логи: /tmp/etcp-oom-reinit-full-check.log, +/tmp/etcp-oom-reinit-repeat-test_bgp_route_exchange.log, +/tmp/utun_encrypted_attachment_HwkBUM/test.log. Исходные нарушения до реализации (пункты 1–5 и вход recv_q из пункта 8 исправлены) diff --git a/doc/tasks.md b/doc/tasks.md index 338ac7cf..8a45f3eb 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -21,10 +21,21 @@ Проверены отказы RX/TX, flush/waiter/session-таймеров, RNG, reset/close из callback и ноль выделений при reset. windows31 сценарий, queue_regressions77/77 и шифрованное восстановление обеих сторон PASS; десять тестов ASAN/UBSan с detect_leaks=1 PASS. Далее — ранние повторы и здоровье каналов. + После OOM-правок полный check.sh: 181/183; FAIL BGP route exchange и encrypted attachment. + BGP отдельно с диагностикой PASS; encrypted attachment повторно FAIL из-за удаления активного temp кешем (задача ниже). План и подробные результаты: [doc/etcp_multipath_plan.txt](etcp_multipath_plan.txt). Логи: /tmp/etcp-attempts-matrix.log, /tmp/etcp-attempts-asan-test_*.log, /tmp/etcp-oom-reinit-asan-test_*.log, /tmp/etcp-abort-encrypted-recovery.log. +[ ] **Media: очистка кеша удаляет временный файл активной загрузки** — подтверждено 23.10.2026: + test_encrypted_attachment зависает в phase=3: orphan_walk_cb удаляет .uenc.tmp., + следующий BLOCK_CHUNK получает ENOENT и завершает загрузку с ошибкой. + chat_media_cache_cleanup_orphans защищает cipher_path и старое имя .part, но не фактический temp загрузки. + Нужна защита файлов, которыми владеют активные media_delivery/download, через их реестр владения; + проверять по фактическим путям, без угадывания суффикса. ETCP REINIT в воспроизведении отсутствует. + Лог: /tmp/utun_encrypted_attachment_HwkBUM/test.log (удаление → отказ записи), + /tmp/etcp-oom-reinit-full-check.log; профильные OOM/ETCP sanitizer-тесты проходят. + [+] **ETCP/BBR: бюджет очереди в установившемся режиме** — реализовано 23.10.2026 по выбору пользователя: В PROBE_BW окно ограничено max(4*MSS, BDP + BW*20мс), с насыщением арифметики и учётом ACK/PROBE_UP резервов внутри общего предела. Ограничение применяется также на fast path и до callback. 0 отключает политику.