Skip to content

Hadrian's stdout/stderr capture can capture unbounded output

Currently the Hadrian.Builder.cmd' utility used by Hadrian to run builders forces capture of stdout and stderr. These are apparently buffered in memory. This can easily backfire if faced with a process that emits a large quantity of output (e.g. GHC with dump flags or even the testsuite driver with some test failures).

We should either:

  • disable this behavior by default,
  • bound the quantity of output that we collect, or
  • buffer to file instead of in memory
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information