Files
drhider/History/tests/2026-08-23-obfuscation-tests.md
T

3.1 KiB
Raw Blame History

drhider — тесты реальной обфускации и фикс .doc (2026-08-23, v0.0.600.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 (нет текста), не ошибка.