T13701 fails sporadically
T13701 fails sporadically, comments in D3586 indicate that it happens while the system is under load.
I reproduced this issue by duplicating T13701 7 times, making tests T13701[A-H], then running
make test TEST="T13701A T13701B T13701C T13701D T13701E T13701F T13701G T13701H THREADS=8"
on my box with 4 cpus.
Comparing profiling reports of the test under and not under load, I found the additional allocations to be in SysTools.builderMainLoop.loop. This function busy-waits from when 2 EOFs are received until getProcessExitCode returns a Just. That this is the cause was verified by changing
| otherwise -> loop chan hProcess t p exitcode
to
| otherwise -> threadDelay 10000 >> loop chan hProcess t p exitcode
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Test Suite |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |