Skip to content

GHC 8.0.2 panics when trying a simple snippet involving Parsec

I am working through "Create your own Scheme in 48 hours", and the following program:

$ cat SimpleParser.hs
import Text.ParserCombinators.Parsec hiding (spaces)

symbol :: Parser Char
symbol = anyOf "!$%&|*+-/:<=?>@^_^~#"

causes GHC to crash and burn with a panic message.

Please find the details as follows:

  • * PLATFORM and OS DETAILS **
$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.12.2
BuildVersion:	16C67

$ uname -a
Darwin <elided> 16.3.0 Darwin Kernel Version 16.3.0: Thu Nov 17 20:23:58 PST 2016; root:xnu-3789.31.2~1/RELEASE_X86_64 x86_64
  • * GHC and Parsec version**
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.0.2

$ ghc-pkg list | grep -i parsec
    attoparsec-0.13.1.0
    parsec-3.1.11
  • * crash error message **
$ ghc -v3 SimpleParser.hs
Glasgow Haskell Compiler, Version 8.0.2, stage 2 booted by GHC version 7.10.3
Using binary package database: /Library/Frameworks/GHC.framework/Versions/8.0.2-x86_64/usr/lib/ghc-8.0.2/package.conf.d/package.cache
Using binary package database: /Users/<elided>/.ghc/x86_64-darwin-8.0.2/package.conf.d/package.cache
loading package database /Library/Frameworks/GHC.framework/Versions/8.0.2-x86_64/usr/lib/ghc-8.0.2/package.conf.d
loading package database /Users/<elided>/.ghc/x86_64-darwin-8.0.2/package.conf.d
wired-in package ghc-prim mapped to ghc-prim-0.5.0.0
wired-in package integer-gmp mapped to integer-gmp-1.0.0.1
wired-in package base mapped to base-4.9.1.0
wired-in package rts mapped to rts
wired-in package template-haskell mapped to template-haskell-2.11.1.0
wired-in package ghc mapped to ghc-8.0.2
wired-in package dph-seq not found.
wired-in package dph-par not found.
Hsc static flags:
loading package database /Library/Frameworks/GHC.framework/Versions/8.0.2-x86_64/usr/lib/ghc-8.0.2/package.conf.d
loading package database /Users/z0ltan/.ghc/x86_64-darwin-8.0.2/package.conf.d
wired-in package ghc-prim mapped to ghc-prim-0.5.0.0
wired-in package integer-gmp mapped to integer-gmp-1.0.0.1
wired-in package base mapped to base-4.9.1.0
wired-in package rts mapped to rts-1.0
wired-in package template-haskell mapped to template-haskell-2.11.1.0
wired-in package ghc mapped to ghc-8.0.2
wired-in package dph-seq not found.
wired-in package dph-par not found.
*** Chasing dependencies:
Chasing modules from: *SimpleParser.hs
!!! Chasing dependencies: finished in 0.62 milliseconds, allocated 0.337 megabytes
Stable obj: []
Stable BCO: []
Ready for upsweep
  [NONREC
      ModSummary {
         ms_hs_date = 2017-06-28 09:58:23 UTC
         ms_mod = Main,
         ms_textual_imps = [(Nothing, Prelude),
                            (Nothing, Text.ParserCombinators.Parsec)]
         ms_srcimps = []
      }]
*** Deleting temp files:
Deleting:
compile: input file SimpleParser.hs
*** Checking old interface for Main:
[1 of 1] Compiling Main             ( SimpleParser.hs, SimpleParser.o )
*** Parser [Main]:
!!! Parser [Main]: finished in 0.20 milliseconds, allocated 0.134 megabytes
*** Renamer/typechecker [Main]:
*** Deleting temp files:
Deleting:
*** Deleting temp dirs:
Deleting:
ghc: panic! (the 'impossible' happened)
  (GHC version 8.0.2 for x86_64-apple-darwin):
	initTc: unsolved constraints
  WC {wc_insol = [W] anyOf_a1lw :: t_a1lv[tau:1] (CHoleCan: anyOf)}

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
Trac metadata
Trac field Value
Version 8.0.2
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