[GHC] #12425: With -O1 and above causes ghc to use all available memory before being killed by OOM killer

GHC ghc-devs at haskell.org
Mon Aug 29 20:35:51 UTC 2016


#12425: With -O1 and above causes ghc to use all available memory before being
killed by OOM killer
-------------------------------------+-------------------------------------
        Reporter:  erikd             |                Owner:
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.0.2
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:  Inlining
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 Indeed there does appear to be some sort of loop here. `-ddump-inlinings`
 shows long repeated runs of,
 {{{
 ...
 Inlining done: Control.Monad.Trans.State.Lazy.$fMonadStateT1
 Inlining done: Control.Monad.Trans.State.Lazy.$fMonadStateT_$c>>=
 Inlining done: GHC.Base.$
 Inlining done: Control.Monad.Trans.State.Lazy.runStateT
 Inlining done: Control.Monad.Trans.State.Lazy.runStateT1
 Inlining done: Control.Monad.Trans.State.Lazy.runStateT
 Inlining done: Control.Monad.Trans.State.Lazy.runStateT1
 Inlining done: GHC.Base.liftM
 Inlining done:
     Control.Monad.Trans.State.Lazy.$fMonadStateT_$creturn
 ...
 }}}
 These runs are punctuated by runs of,
 {{{
 ...
 Inlining done: GHC.Base.$fApplicativeMaybe_$sliftM
 ...
 }}}

 The runs appear to get longer as the simplifier progresses. It indeed
 seems plausible that all of these bindings have INLINE pragmas attached.

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


More information about the ghc-tickets mailing list