[GHC] #13987: T13701 fails sporadically
GHC
ghc-devs at haskell.org
Mon Jul 17 01:17:52 UTC 2017
#13987: T13701 fails sporadically
-------------------------------------+-------------------------------------
Reporter: duog | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Test Suite | Version: 8.3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Other
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
T13701 fails sporadically, comments in Phab: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
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13987>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list