[GHC] #12349: Parallel make should interleave output if it means we can report an error earlier

GHC ghc-devs at haskell.org
Thu Jun 30 18:52:50 UTC 2016


#12349: Parallel make should interleave output if it means we can report an error
earlier
-------------------------------------+-------------------------------------
           Reporter:  ezyang         |             Owner:
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.0.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Steps to reproduce:

 1. Take the example from #12347
 2. Run `ghc --make` and observe what order the modules are reported in (on
 my box the ordering is `C`, `B`, then `A`)
 3. Modify `A` to be a small, quick-to-compile module with a type error.
 `module A where x = True True` works grand.
 4. Run `ghc --make All A B C -j4 +RTS -N4`

 Expected result: `ghc --make` reports the error in `A` immediately

 Actual result: `ghc --make` ponders for a while before reporting the error

 An interesting way to mix up the experiment is to put the type error in
 `C` rather than `A`. Then indeed the error is reported early, but GHC
 fails to exit until some undetermined later time (it is certainly not
 waiting for the other threads to finish compiling, because you don't see
 object files being produced.)

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12349>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list