[GHC] #7928: GHC fails to terminate while compiling with optimizations
GHC
cvs-ghc at haskell.org
Fri May 24 03:00:45 CEST 2013
#7928: GHC fails to terminate while compiling with optimizations
-----------------------------+----------------------------------------------
Reporter: Ptharien's Flame | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.6.3 | Keywords:
Os: Unknown/Multiple | Architecture: x86_64 (amd64)
Failure: Other | Blockedby:
Blocking: | Related:
-----------------------------+----------------------------------------------
When I try to compile random-fu-0.2.4.0 from Hackage, using the command:
{{{
cabal install --ghc --ghc-options="-fllvm -O2 -dcore-lint" --enable-
optimization=2 random-fu-0.2.4.0
}}}
I get the following output:
{{{
Resolving dependencies...
Configuring random-fu-0.2.4.0...
Building random-fu-0.2.4.0...
Preprocessing library random-fu-0.2.4.0...
[ 1 of 27] Compiling Data.Random.Internal.Find (
src/Data/Random/Internal/Find.hs, dist/build/Data/Random/Internal/Find.o )
[ 2 of 27] Compiling Data.Random.Internal.Fixed (
src/Data/Random/Internal/Fixed.hs, dist/build/Data/Random/Internal/Fixed.o
)
[ 3 of 27] Compiling Data.Random.Internal.TH (
src/Data/Random/Internal/TH.hs, dist/build/Data/Random/Internal/TH.o )
[ 4 of 27] Compiling Data.Random.Lift ( src/Data/Random/Lift.hs,
dist/build/Data/Random/Lift.o )
[ 5 of 27] Compiling Data.Random.RVar ( src/Data/Random/RVar.hs,
dist/build/Data/Random/RVar.o )
[ 6 of 27] Compiling Data.Random.Distribution (
src/Data/Random/Distribution.hs, dist/build/Data/Random/Distribution.o )
[ 7 of 27] Compiling Data.Random.Distribution.Uniform (
src/Data/Random/Distribution/Uniform.hs,
dist/build/Data/Random/Distribution/Uniform.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package mtl-2.1.2 ... linking ... done.
Loading package MonadPrompt-1.0.0.3 ... linking ... done.
Loading package array-0.4.0.1 ... linking ... done.
Loading package deepseq-1.3.0.1 ... linking ... done.
Loading package containers-0.5.0.0 ... linking ... done.
Loading package pretty-1.1.1.0 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package syb-0.4.0 ... linking ... done.
Loading package th-extras-0.0.0.2 ... linking ... done.
Loading package flexible-defaults-0.0.1.1 ... linking ... done.
Loading package old-locale-1.0.0.5 ... linking ... done.
Loading package old-time-1.1.0.1 ... linking ... done.
Loading package time-1.4.0.1 ... linking ... done.
Loading package random-1.0.1.1 ... linking ... done.
Loading package mersenne-random-pure64-0.2.0.3 ... linking ... done.
Loading package primitive-0.5.0.1 ... linking ... done.
Loading package vector-0.10.0.1 ... linking ... done.
Loading package mwc-random-0.12.0.1 ... linking ... done.
Loading package stm-2.4.2 ... linking ... done.
Loading package stateref-0.3 ... linking ... done.
Loading package random-source-0.3.0.4 ... linking ... done.
Loading package rvar-0.2.0.1 ... linking ... done.
Loading package MonadRandom-0.1.9 ... linking ... done.
Loading package random-shuffle-0.0.4 ... linking ... done.
Loading package monad-loops-0.4.2 ... linking ... done.
Loading package continued-fractions-0.9.1.1 ... linking ... done.
Loading package converge-0.1.0.1 ... linking ... done.
Loading package gamma-0.9.0.2 ... linking ... done.
Loading package erf-2.0.0.0 ... linking ... done.
[ 8 of 27] Compiling Data.Random.List ( src/Data/Random/List.hs,
dist/build/Data/Random/List.o )
[ 9 of 27] Compiling Data.Random.Distribution.Bernoulli (
src/Data/Random/Distribution/Bernoulli.hs,
dist/build/Data/Random/Distribution/Bernoulli.o )
[10 of 27] Compiling Data.Random.Distribution.Categorical (
src/Data/Random/Distribution/Categorical.hs,
dist/build/Data/Random/Distribution/Categorical.o )
*** Core Lint warnings : in result of Desugar (after optimization) ***
<no location info>: Warning:
[RHS of $c>>_aMYc :: forall p_aMMn.
GHC.Num.Num p_aMMn =>
forall a_a3Jr b_a3Js.
Data.Random.Distribution.Categorical.Categorical
p_aMMn a_a3Jr
->
Data.Random.Distribution.Categorical.Categorical p_aMMn b_a3Js
->
Data.Random.Distribution.Categorical.Categorical p_aMMn b_a3Js]
INLINE binder is (non-rule) loop breaker: $c>>_aMYc
}}}
It then freezes for an as-far-as-I-known indefinite amount of time; I have
tried it several times, and it never moves beyond that. Once, I left it
for two whole hours without any change. Every time, I have had to
manually interrupt it with {{{ctrl-c}}}.
On the other hand, if I instead use the command:
{{{
cabal install --ghc --ghc-options="-fllvm -O1 -dcore-lint" --enable-
optimization=1 random-fu-0.2.4.0
}}}
It produces literally identitical output up to the point that the first
command stopped at, but it continues as normal afterwards and finishes
installing random-fu as expected.
My terminal confirms that the {{{ghc}}} executable (as opposed to, say,
{{{opt}}} or {{{llc}}}) is the one that the first command gets stuck on.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7928>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list