[GHC] #10764: GHC panic (no skolem info)

GHC ghc-devs at haskell.org
Tue Aug 11 08:27:37 UTC 2015


#10764: GHC panic (no skolem info)
-------------------------------------+-------------------------------------
        Reporter:  zardoz            |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.10.2
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash                              |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------
Changes (by bgamari):

 * failure:  None/Unknown => Compile-time crash


Old description:

> The attached program causes GHC 7.10.2 to panic with the following
> output:
>
> bug.hs:6:19:
>     Found hole ‘_’ with type: t1 → t2 → m1 a1 → m1 a1
>     Where: ‘t1’ is a rigid type variable bound by
>                 the inferred type of
>                 whenMultipleOf ∷ MonadPlus m1 ⇒ t1 → t2 → m1 a1 → m1 a1
>                 at bug.hs:7:1
>            ‘a1’ is a rigid type variable bound by
>                 the inferred type of
>                 whenMultipleOf ∷ MonadPlus m1 ⇒ t1 → t2 → m1 a1 → m1 a1
>                 at bug.hs:7:1
>            ‘m1’ is a rigid type variable bound by
>                 the inferred type of
>                 whenMultipleOf ∷ MonadPlus m1 ⇒ t1 → t2 → m1 a1 → m1 a1
>                 at bug.hs:7:1
>            ‘t2’ is a rigid type variable bound by
>                 the inferred type of
>                 whenMultipleOf ∷ MonadPlus m1 ⇒ t1 → t2 → m1 a1 → m1 a1
>                 at bug.hs:7:1
>     To use the inferred type, enable PartialTypeSignatures
>     In the type signature for ‘whenMultipleOf’: _
>
> bug.hs:7:1:
>     No instance for (MonadPlus m)
>     When checking that ‘whenMultipleOf’ has the specified type
>       whenMultipleOf ∷ ∀ t a (m ∷ * → *) t1. t → t1 → m a → m a
>     Probable cause: the inferred type is ambiguous
>
> bug.hs:10:62:
>     Couldn't match type ‘a1’ with ‘t’
>       ‘a1’ is a rigid type variable bound by
>            the type signature for
>              sumOfMultiples ∷ Integral a1 ⇒ [a1] → a1 → [a1]
>            at bug.hs:9:19ghci-ng: panic! (the 'impossible' happened)
>   (GHC version 7.10.2 for x86_64-unknown-linux):
>         No skolem info: t_a7vV[sk]
>
> Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

New description:

 The attached program causes GHC 7.10.2 to panic with the following output:

 {{{
 bug.hs:6:19:
     Found hole ‘_’ with type: t1 → t2 → m1 a1 → m1 a1
     Where: ‘t1’ is a rigid type variable bound by
                 the inferred type of
                 whenMultipleOf ∷ MonadPlus m1 ⇒ t1 → t2 → m1 a1 → m1 a1
                 at bug.hs:7:1
            ‘a1’ is a rigid type variable bound by
                 the inferred type of
                 whenMultipleOf ∷ MonadPlus m1 ⇒ t1 → t2 → m1 a1 → m1 a1
                 at bug.hs:7:1
            ‘m1’ is a rigid type variable bound by
                 the inferred type of
                 whenMultipleOf ∷ MonadPlus m1 ⇒ t1 → t2 → m1 a1 → m1 a1
                 at bug.hs:7:1
            ‘t2’ is a rigid type variable bound by
                 the inferred type of
                 whenMultipleOf ∷ MonadPlus m1 ⇒ t1 → t2 → m1 a1 → m1 a1
                 at bug.hs:7:1
     To use the inferred type, enable PartialTypeSignatures
     In the type signature for ‘whenMultipleOf’: _

 bug.hs:7:1:
     No instance for (MonadPlus m)
     When checking that ‘whenMultipleOf’ has the specified type
       whenMultipleOf ∷ ∀ t a (m ∷ * → *) t1. t → t1 → m a → m a
     Probable cause: the inferred type is ambiguous

 bug.hs:10:62:
     Couldn't match type ‘a1’ with ‘t’
       ‘a1’ is a rigid type variable bound by
            the type signature for
              sumOfMultiples ∷ Integral a1 ⇒ [a1] → a1 → [a1]
            at bug.hs:9:19ghci-ng: panic! (the 'impossible' happened)
   (GHC version 7.10.2 for x86_64-unknown-linux):
         No skolem info: t_a7vV[sk]

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
 }}}

--

Comment:

 Could you describe how you invoke GHC? I'm afraid I get no such error when
 I build your testcase with 7.10.2.

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


More information about the ghc-tickets mailing list