# drhider — тесты реальной обфускации и фикс .doc (2026-08-23, v0.0.60–0.0.61) _Кластер `naeel-test-3`, v0.0.60 → v0.0.61. Корпус: `/mnt/y/T` (flat+many, 309 файлов pdf/doc/docx)._ ## Проблема: .doc не конвертируется (v0.0.60) Симптом: `.doc`-файлы в ZIP с заглушкой `[DOC — conversion failed: libreoffice: failed to launch javaldx - java may not function correctly]`. **Диагностика:** - `.doc` конвертирует сервис **liberta** (`CONVERT_SERVICE_URL` дефолт `https://liberta.containerk8s.dev.nubes.ru/convert`; в деплое не переопределён). - liberta **жива** (200 на `/` и `/health`), последовательный `/convert` — 200 (~3с). - **Под нагрузкой падает**: 5 параллельных `/convert` → 2-3 возвращают 500 `javaldx` (JVM/libreoffice не тянет конкурентность). - drhider конвертировал `.doc` **параллельно** (ThreadPoolExecutor max_workers=4 в `obfuscator.py`) → бил liberta потоком → часть конверсий падала. ## Фикс: v0.0.61 — параллельность убрана - `obfuscator.py`: удалён ThreadPoolExecutor — `.doc` конвертируются **последовательно**. - `scanner.py`: `_LLM_CONCURRENCY = 1` — LLM-чанки **последовательно**. - Версия 0.0.60 → 0.0.61. ## Результаты после фикса (v0.0.61) ### Контрольный .doc (7 файлов) Все конвертируются по 2.4–3.9с (реальное время), **javaldx-ошибок нет**. Единственный FAIL — `mini_78b` (78 байт, битый файл) → «conversion produced no .docx» (не связано с параллельностью). ### Полный набор (30 файлов) upload=30, zip=25 (5 мини-PDF пустые), **convfail=1** (только mini_78b), mapping=86, tokens=61983, llm=79.9с, proc=118.9с. Сравнение с v0.0.60 (было 7 convfail) — регрессий нет. ### Долгий прогон (2×100 файлов) | Сессия | upload | zip | convfail | mapping | tokens | llm | всего | |---|---|---|---|---|---|---|---| | SET1 | 100 | 99 | 0 | 430 | 700474 | 985с | 1142.5с | | SET2 | 100 | 98 | 0 | 493 | 671170 | 841с | 972.1с | | Итого | 200 | 197 | **0** | 923 | ~1.37 млн | ~1826с | ~35 мин | ## Выводы 1. `.doc`/liberta починено: **0 ошибок конверсии на 200 файлах**. 2. Обфускация на объёме стабильна (923 замены, без регрессий). 3. Цена «без параллельности» (по требованию): LLM-этап медленнее (100 файлов ≈ 16–19 мин; с параллельностью было бы ~4× быстрее). 4. Файлы вне ZIP (2–3 шт) — битые/пустые PDF (нет текста), не ошибка.