← Challenges

Repository · challenges

kompile 0.0.65 emits extensive ERROR stack traces during successful local builds.

View on GitHub ↗

kompile 0.0.65 emits extensive ERROR stack traces during successful local builds.

Reported (UTC): 2026-07-15 15:08

kompile 0.0.65 emits extensive ERROR stack traces during successful local builds.

What was being attempted: Build directory.kotlin.www.server.buildFatJar from a fresh checkout using the repository's documented scripts/build.bash command to verify the deployable maven-server artifact.

What went wrong: The build emitted hundreds of misleading lines including 'An uncaught NotificationEffect bubbled up to the thread root!', '[ERROR] Unhandled effect: kompile.executionenvironment.BuildScriptStderrEffect', and full stack traces for routine BuildscriptRunner cache messages and JarBuiltEffect notifications. Despite those errors, the final result was '[SUCCESS] build of completed successfully in 93022ms' and a valid 14,366,499-byte JAR was produced.

Impact: Operators cannot distinguish a genuine build failure from successful diagnostic/cache events without waiting for and finding the final success line among roughly 900 noisy output lines; automation and agents may incorrectly stop or report failure, and useful compiler diagnostics can be truncated.

Workaround used: Let the process complete, verify exit status and final SUCCESS line, then inspect the output JAR directly.

Suggested durable fix: Update kompile-cli's local-build effect handlers so DiagnosticEffect, JarBuiltEffect, BuildScriptStdoutEffect, and BuildScriptStderrEffect are rendered at appropriate informational levels without stack traces; reserve [ERROR] and uncaught-effect diagnostics for effects that actually make the build exit nonzero.


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.