Files
onion-mc/analysis/state/03-current-state.md
T
logan a84319bb2f fix(mods): add MidnightLib 1.10.0 to fix startup CME crash
Fright's Delight jar-in-jars MidnightLib 1.9.2, whose MidnightConfig.init
races during NeoForge parallel mod construction (ConcurrentModificationException).
The broken mod state left mod_resources unloaded, so WATUT's reloadShaders
mixin crashed on particle.json - WATUT was the victim, not the cause.
1.10.0 synchronizes the entries map (upstream 1fe69729); FML selects it over
the JiJ copy. Verified: 10/10 clean cold launches to world join.

Also adds analysis/state/ (Phase 2 state capture).
2026-10-15 17:07:52 -04:00

5.2 KiB
Raw Blame History

Current state — exact position

As of capture (2026-10-14 ~23:45 EDT, HEAD e5e369a pushed).

Multi-step plan position

The initiative's plan (from the journal + BENCH-MATRIX) is: boot check → fix blockers → build bench world → confirm uncapped frametimes → run B0→B14 → write winners into build.py → ship → report to owner.

Step Status
1. Boot check, client ✅ essentially PASS (2026-10-14/15 session; HANDOFF.md). 22 benign ERRORs.
1b. Boot check, dedicated server ✅ PASS — booted from repo at 21:01, Done (3.004s), no missing deps / mixin failures / ftbteams / fishermans-haven / YACL errors (see notes-serverlog-triage.md).
2. Fix boot blockers ✅ CAC spawn-key NPE fixed by owner (8e8483d). The 20:34 crash report is this bug — do not confuse it with the WATUT crash.
3. WATUT intermittent world-load crash ❌ OPEN — first task. Details below.
4. Confirm uncapped frametimes ❌ Not verified after vblank_mode=0 fix.
5. Bench world complete ⚠️ PARTIAL — S1–S3 built & verified; S4 airships not built; S5 tour only partially exercised; S2 /fill motors may need manual re-placement (BENCH-MATRIX §2).
6. Run matrix B0→B14 ❌ Zero blocks run.
7. Winners → build.py → ship → commit ❌ Not started.
8. Report to owner (B7 shader data, B12b trial verdicts, B14) ❌ Not started.

Open defect: WATUT world-load crash (blocking bench runs)

  • Symptom: intermittent crash on world load — corosus.watut.ShaderInstanceBlur.<init> → FileNotFoundException: minecraft:shaders/core/particle.json, during "Rendering overlay".
  • First world load works, a later load crashed (2026-10-14/15 session).
  • The 20:34 crash report in crash-reports/ is NOT this — it is the already-fixed CAC spawn-key NPE. No crash report exists for the WATUT crash yet.
  • Owner constraint: remove no mods → find a WATUT config/patch/reliable-retry, or reproduce and characterize it first.
  • It must be resolved (or made reliably recoverable) before trusting long bench runs.

Live processes / environment left by the interrupted session

  • The dedicated server is still running: java PID 1699563 in tmux session onion-mc, started 21:01:35 from the repo root (port 25565, RCON :25575). Idle boot-check run; zero players joined. Never kill it; never touch world/.
  • An RCON client from 127.0.0.1 connects/disconnects every 30 s (through #353 by 23:57). The poller process was not identified (candidates: a keepalive loop or tools/rcon.py under some wrapper). Investigate before assuming it's yours to kill.
  • Uncommitted working-tree changes are benign mod re-saves, expected on boot:
    • config/alexsmobs-common.toml: 13-line tuned partial expanded to 913 full lines (all tuned values retained — e.g. gazelleSpawnWeight = 20).
    • config/akashictome-common.toml: re-serialized; curated whitelist intact, comments stripped, arrays collapsed.
    • Rule (05-decisions-and-rules.md): git checkout -- config/ before staging; do not commit these.
  • config/*.toml.bak files + config/spark/tmp-client/*.jfr.tmp (spark's live background-profiler buffer, still growing while the server runs) = runtime junk.
  • context.md in the repo root was scout scratch from this capture session — safe to delete (content folded into this directory).

Measurements so far (all of it)

Exactly one harness run, not decision-grade (vsync-locked):

~/onion-bench/harness-results.csv:
  C1,s1,n=1889, p50=16.7ms p95=17.0ms p99=17.2ms peak=17.6ms avg_fps=59.8 1%low=57.5

Supporting MangoHud CSVs in ~/onion-bench/mangologs/: java_2026-10-14_22-13-53.csv (2353 rows), java_2026-10-14_22-14-54.csv (3762), java_2026-10-14_22-21-46.csv (178, truncated), plus two glxgears sanity runs. The vsync fix (fps_limit=0, vblank off in ~/.local/bin/mangohud-local) has been applied but not re-verified — first task after WATUT: one C1/S1 run must show well above 60 fps.

Bench instance state (ready to use)

~/onion-bench/prism/instances/OnionBench/.minecraft: provisioned, mods installed, saves/onionbench present (26 MB, from 21:54 worldgen), config/defaultoptions/ seeded, options.txt carries the bench pins (maxFps:260, enableVsync:false, renderDistance:8, simulationDistance:8), BENCH_VARIANT.txt = C1 (last applied). PreLaunchCommand empty by design. MaxMemAlloc 8192. Launched offline as user Tester via ~/onion-bench/launch-bench.sh (DISPLAY=:1).

Known open questions

  1. WATUT crash root cause + fix path (top priority).
  2. Identity of the 30 s RCON poller.
  3. Whether uncommitted config re-saves should simply be checked out (recommended) — and whether AkashicTome stripping comments matters for future edits (edit the shipped source-of-truth, then expect the mod to re-serialize locally).
  4. S2 Create floor: /fill-placed kinetic network may need motors re-placed by hand (checklist in BENCH-MATRIX §2 step 2) — verify during S4 build.
  5. B5 (SSRD/Sable airship decay) is scoped to fleet P0/P1 — needs a documented proxy adaptation or a "deferred, fleet-only" note in results.