[GHC] #9370: unfolding info as seen when building a module depends on flags in a previously-compiled module (was: OPTIONS_GHC (or its absence) leaks between modules compiled in parallel)

GHC ghc-devs at haskell.org
Wed Jul 30 16:48:59 UTC 2014


#9370: unfolding info as seen when building a module depends on flags in a
previously-compiled module
-------------------------------------+-------------------------------------
              Reporter:  carter      |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  high        |        Milestone:  7.10.1
             Component:  Compiler    |          Version:  7.8.3
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:  Compile-    |       Blocked By:
  time performance bug               |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
Changes (by rwbarton):

 * keywords:  parmake =>
 * priority:  highest => high
 * related:  #910 #9221 =>


Comment:

 OK I take it all back. The parallel build is not really responsible at
 all. You get the same blowup when building `Text.XmlHtml.HTML.Meta` with
 `-j1` if you just add an `import Text.XmlHtml.Common` so that
 `Text.XmlHtml.Common` is built before `Text.XmlHtml.HTML.Meta`.

 As far as I can tell, the reason is that when we read an interface file
 from an external package, we may or may not attach unfolding info to its
 Ids according to the dynamic flags that are in effect for the module we
 are building. But when we later build another module, we might reuse that
 external package information even though different dynamic flags are now
 in effect. I haven't tried to track down the code that loads interface
 files, but does this sound plausible?

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


More information about the ghc-tickets mailing list