Ticket #7513 (closed bug: fixed)

Opened 6 months ago

Last modified 6 months ago

ghc panic in kindFunResult

Reported by: ifigueroap Owned by:
Priority: normal Milestone:
Component: Compiler Version: 7.4.1
Keywords: Cc: pho@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The compiler made me post this bug report. Unfortunately I don't have a minimal example to reproduce it...

ghc: panic! (the 'impossible' happened)
  (GHC version 7.4.1 for i386-apple-darwin):
	kindFunResult
    ( k_a2Yio{tv} [tau] :: ghc-prim:GHC.Prim.BOX{(w) tc 347} )

Change History

  Changed 6 months ago by PHO

  • cc pho@… added

  Changed 6 months ago by goldfire

  • summary changed from ghc panic to ghc panic in kindFunResult

Have you tried compiling with 7.6.1 or with HEAD? Some kindFunResult panics have been fixed since 7.4.1...

This may be related to #7368. Do you have a non-minimal example to reproduce the bug?

  Changed 6 months ago by simonpj

  • status changed from new to infoneeded
  • difficulty set to Unknown

Let's hope it's a duplicate of #7368. Still, it has served the useful purpose of reminding me about #7368, which I've just fixed. Validating now!

Meanwhile this ticket is stalled unless you can come up with a reproducible example. Probably the path of least resistance is to wait for the patch for #7368 to hit the repository, build GHC, and test to see if it fixes your problem.

Simon

follow-up: ↓ 5   Changed 6 months ago by ifigueroap

I'm sorry, I don't have a minimal reproducible example. The error ocurred when I was working in monadic code and I put a wrong type annotation, something like:

do current <- getCurrent :: m (M m)

the annotation was wrong because the type of getCurrent was actually

(AOT (MbT m)) (M m)

where AOT and MbT are some custom monad transformers

in reply to: ↑ 4   Changed 6 months ago by ifigueroap

Since then I modified my code to work correctly... If you think it is not a duplicate of #7368, I think I can search my svn history and provide the full project version that triggers the error.

Replying to ifigueroap:

I'm sorry, I don't have a minimal reproducible example. The error ocurred when I was working in monadic code and I put a wrong type annotation, something like: {{{ do current <- getCurrent :: m (M m) }}} the annotation was wrong because the type of getCurrent was actually {{{ (AOT (MbT m)) (M m) }}} where AOT and MbT are some custom monad transformers

  Changed 6 months ago by simonpj

  • status changed from infoneeded to closed
  • resolution set to fixed

I'm guessing that it's the same, and it's fixed in HEAD, so I'll close this ticket. Reopen if you subsequently discover that HEAD doens't work for you. Thanks!

Simon

Note: See TracTickets for help on using tickets.