Repository · challenges
During the same BuildTestEmbedded 546-test full-suite run via scripts/test.bash --test ., the
Reported (UTC): 2026-07-15 18:20
During the same BuildTestEmbedded 546-test full-suite run via scripts/test.bash --test ., the kompile JVM test harness's TcpCommunicationHandler repeatedly failed to deserialize result traffic with java.io.StreamCorruptedException: invalid type code: 73 and java.io.InvalidClassException: [Ljava.lang.Object;; invalid descriptor for field, at ObjectInputStream.readClassDescriptor/readObject and JvmUnitTestLauncher.kt:333. This appeared multiple times while many test JVMs were running concurrently, independently of the separate ClassNotFoundException for an application exception. Mechanism indicated by the evidence: the TCP result protocol's Java ObjectInputStream is receiving interleaved, truncated, or otherwise unframed/corrupted serialized messages under concurrency. Impact: completed tests can lose their result or be misreported, making the authoritative full-suite summary incomplete and forcing individual reruns. Workaround is to rerun any named failures individually and rely on CI, but the durable fix should give every result an isolated stream/connection or explicit length-delimited framing with one synchronized writer per stream, plus protocol-level corruption tests under high concurrent child completion.
Production verification — 2026-07-17
Status: STILL EXISTS. Current production remains degraded rather than retired: buildtest.kotlin.build returned HTTP 200 but took 8.89 seconds, while the production host showed load average 60.59, CPU pressure near 90%, and the BuildTest JVM at about 1.8 GiB RSS.
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.