apple / apple/pkl

Flaky test: JvmServerTest > concurrent encoding -- multiple evaluators with module reads()

Open
#1,493 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
11.5k
Forks
402
Avg merge
1d 15h
Merged PRs (30d)
20

Description

This recently added test regularly fails with:

```
JvmServerTest > concurrent encoding -- multiple evaluators with module reads() FAILED
java.lang.AssertionError: 2 encoding errors (decoded 3894/4000): Write end dead
at org.pkl.server.AbstractServerTest.concurrent encoding -- multiple evaluators with module reads(AbstractServerTest.kt:930)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

Caused by:
java.io.IOException: Write end dead
at java.base/java.io.PipedInputStream.read(PipedInputStream.java:316)
at java.base/java.io.PipedInputStream.read(PipedInputStream.java:380)
at java.base/java.io.InputStream.read(InputStream.java:220)
at org.msgpack.core.buffer.InputStreamBufferInput.next(InputStreamBufferInput.java:75)
at org.msgpack.core.MessageUnpacker.ensureBuffer(MessageUnpacker.java:361)
at org.msgpack.core.MessageUnpacker.hasNext(MessageUnpacker.java:354)
at org.pkl.core.messaging.AbstractMessagePackDecoder.decode(AbstractMessagePackDecoder.java:52)
at org.pkl.server.AbstractServerTest.concurrent_encoding____multiple_evaluators_with_module_reads$lambda$2(AbstractServerTest.kt:904)
at java.base/java.lang.Thread.run(Thread.java:1583)
```

Contributor guide

Open the contributing guide

Research direction

Start with the concurrent encoding test in AbstractServerTest.kt, especially the decoder around line 904 and the assertion at line 930. Reproduce JvmServerTest > concurrent encoding -- multiple evaluators with module reads() and trace the Write end dead failures. Done means the test reliably decodes all 4000 messages without encoding errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kotlin
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.