Skip to content

Very slow (nonterminating?) compilation if libraries compiled with -fexpose-all-unfoldings

I built the libraries with -fexpose-all-unfoldings. The stage 1 compiler then failed to terminate within ~20 minutes on InstalledPackageInfo.hs and PackageDescription.hs. The memory usage of the compiler did not grow appreciably (at all?) during this time, which makes me suspect that the problem is a loop rather than the extra unfoldings leading to code bloat (somehow).

An example of an offending invocation is:

"inplace/bin/ghc-stage1"   -H64m -O -fasm    -package-name Cabal-1.11.2 -hide-all-packages -i -ilibraries/Cabal/cabal/. -ilibraries/Cabal/cabal/dist-install/build -ilibraries/Cabal/cabal/dist-install/build/autogen -Ilibraries/Cabal/cabal/dist-install/build -Ilibraries/Cabal/cabal/dist-install/build/autogen -Ilibraries/Cabal/cabal/.    -optP-include -optPlibraries/Cabal/cabal/dist-install/build/autogen/cabal_macros.h -package array-0.3.0.3 -package base-4.4.0.0 -package containers-0.4.1.0 -package directory-1.1.0.1 -package filepath-1.2.0.1 -package old-time-1.0.0.7 -package pretty-1.1.0.0 -package process-1.1.0.0 -package unix-2.5.0.0  -fwarn-tabs -Wall -fno-ignore-asserts -XHaskell98 -XCPP -O -dcore-lint -fexpose-all-unfoldings -no-user-package-conf -rtsopts     -odir libraries/Cabal/cabal/dist-install/build -hidir libraries/Cabal/cabal/dist-install/build -stubdir libraries/Cabal/cabal/dist-install/build -hisuf hi -osuf  o -hcsuf hc -c libraries/Cabal/cabal/./Distribution/InstalledPackageInfo.hs -o libraries/Cabal/cabal/dist-install/build/Distribution/InstalledPackageInfo.o

The workaround is to build these two files with -O0.

Trac metadata
Trac field Value
Version 7.0.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information