[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