EugeneandEugene cfba74f6ee [2.0.x] fix: Read all forked test output before reporting the fork's exit (#9860)
**Problem**
When a forked test JVM exits, WorkerProxy.watch calls notifyExit right
away, and on exit code 0 that completes the run. If the response reader
has not consumed the rest of the stream yet, the remaining events, logs and
the final response are dropped, and the build passes with failing tests
unreported. Slow listeners, or several forks at once, make this likely.

**Solution**
Track when the response stream reaches end of input (the socket reader for
Tcp/Ipc, stdout for Stdio), and have the watch thread wait for it, with a
bound, before calling notifyExit. This is what sbt 1.x did by joining the
acceptor thread. The new scripted test uses a listener that sleeps per
event, and fails without this change.

Fixes #9859

Generated-by: Claude Opus 5.5

Co-authored-by: Eugene <[email protected]>
2026-10-05 14:01:49 -04:00
2026-05-31 16:30:32 -04:00
2024-10-11 14:30:55 +02:00
2026-05-31 16:30:32 -04:00
2021-11-19 20:41:39 -05:00
2026-07-26 15:49:44 -04:00
2026-01-24 04:52:28 -05:00
2023-11-25 01:06:30 -05:00
2019-06-11 09:30:14 +02:00
2020-11-19 12:42:26 -08:00
2023-01-02 22:06:46 -05:00
2023-06-20 16:39:07 +02:00
2023-06-20 16:39:07 +02:00
2017-09-16 15:52:58 -04:00
2026-10-02 00:37:13 -04:00
2021-04-19 23:43:15 -04:00
2017-10-03 01:45:06 -04:00
2023-06-20 16:39:07 +02:00

CI Latest version Discord

sbt

sbt is a build tool for Scala, Java, and more.

For general documentation, see https://www.scala-sbt.org/.

sbt 2.x

This is the 2.x series of sbt. The source code of sbt is split across several GitHub repositories, including this one.

  • sbt/io hosts sbt.io module.
  • sbt/zinc hosts Zinc, an incremental compiler for Scala.
  • sbt/sbt, this repository hosts modules that implement the build tool.
  • Setup: Describes getting started with the latest binary release.
  • FAQ: Explains how to get help and more.
  • sbt/sbt-zero-seven: hosts sbt 0.7.7 and earlier versions

Issues and Pull Requests

Please read CONTRIBUTING carefully before opening a GitHub Issue or a pull request.

If you're looking for an idea for a contribution, issues labeled with good first issue or help wanted might be good starting points.

If you would like to ask questions about sbt, there's sbt channel on Scala Discord, but it would be good to gather questions on Stackoverflow.

license

See LICENSE.

S
Description
sbt, the interactive build tool
Readme
102 MiB
Languages
Scala 94.5%
Java 3.1%
Shell 1.1%
Batchfile 0.9%
Roff 0.2%
Other 0.1%