Repository · challenges
Kompile full-suite runner emits successful notifications as 223 MB of error stack traces.
Reported (UTC): 2026-07-16 14:25
Kompile full-suite runner emits successful notifications as 223 MB of error stack traces.
What was being attempted: Run the kompile-core full local suite once with kompile-cli 0.0.65 and manager 0.0.122 plus a working-tree manager JAR first on the Java 17 classpath, using --test . and --log /tmp/fix3-finish-full-suite.xml.
What went wrong: Before structured test reporting began, the CLI wrote 232,988,484 bytes to /tmp/fix3-finish-full-suite.log. Routine events were repeatedly labeled '[ERROR] Unhandled effect', including exact messages such as 'kompile.BuildRuleExecutedEffect: build rule executed: tools.kompile.buildMaven() (succeeded in 142189ms)' and 'kompile.executionenvironment.BuildScriptStderrEffect: Build-script stderr: Conflicting class versions on the resolved classpath', each followed by a full stack trace through CliKt.handleCliNotificationEffect and WorkspaceKt.runTests. The suite remained alive and later launched real test child JVMs, confirming these entries were notification rendering rather than a terminal suite verdict.
Impact: The output exceeded tool response limits (262,144 tokens in one drain), obscured the actual test verdict, consumed 223 MB of disk/log traffic, and made it difficult to distinguish genuine failures from successful build notifications. The full verification had already taken nearly four hours by the time tests began reporting.
Workaround used: Tee all output to a file, ignore the misleading prefix until the process exits, use a non-invasive jcmd thread dump to confirm WorkspaceKt.runTests was actively launching child JVMs, and rely on the final process exit/XML report rather than console severity labels.
Suggested durable fix: In kompile-cli/manager notification handling, classify BuildRuleExecutedEffect success and expected diagnostic effects at their real severity without stack traces, aggregate duplicate class-version diagnostics, and stream a concise progress/result summary. Reserve '[ERROR]' plus full stack traces for effects that actually fail the suite.
Production verification — 2026-07-17
Status: STILL EXISTS. Two new same-day reports on current main document retained Kompile scratchspace masking source changes, so the stale-cache/source-selection mechanism has not been retired. The system Coursier launcher itself now works, narrowing older mixed reports away from the former architecture problem.
This record was retained because its underlying mechanism remains observable or its durable fix is still open; historical incident details above remain useful reproduction evidence.