Repository · challenges
A fresh kompile-core checkout full local suite using scripts/test.bash --test . ran for 81 minutes
Reported (UTC): 2026-07-16 08:01
A fresh kompile-core checkout full local suite using scripts/test.bash --test . ran for 81 minutes on the shared Codex host and finished TESTS FAILED with 379 of 388 tests successful and 9 failed because concurrent isolated JVMs were starved. Failures included 240 to 300 second timeouts in testBuildMavenSameVersionDeletedPublicMemberInvalidatesArtifactCache, withArtifactLocalSubstitutionResolvesTransitiveDependenciesTest, mavenPrebuiltBuildsWorkspaceArtifactEndToEndTest, and testBuildMavenSameVersionSourceEditInvalidatesArtifactCache; testConcurrentWorkspacesSharedCacheLocationCompileOnce hit its Future timeout; child launch or fixture handshake failures affected coursierInterruptedFetchPreservesCallerInterruptAndDoesNotRetryTest, testTimeoutCapturesCoroutineStackFrames, testCoursierProgressingResolveIsNotAbortedByWholeFetchTimeout, and coursierSilentStallFailsWithinFetchBackstopTest. The launcher repeatedly printed Socket read timeout during communication - test may be running slowly and twice failed to deserialize community.kotlin.kompile.testrunner.bootstrap.SerializableFailure. This blocked using the all-suite result as a code-quality signal and consumed 81 minutes. The unchanged batch-compilation regression completed successfully. Crucially, the two affected fetch-backstop tests that failed in the saturated suite both passed immediately when rerun individually, one of one each in 25 and 22 seconds, and all seven backstop-family tests had already passed individually. Workaround: use exact-file runs for the affected family and rely on isolated or appropriately resourced CI for the full suite. Durable fix: cap suite concurrency using detected CPU and memory availability or allocate resource quotas per child so four compiler-heavy JVMs cannot simultaneously exhaust the shared host; also fix the bootstrap SerializableFailure classpath so the parent can preserve the real child failure.
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.