Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,977
    • Issues 4,977
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 482
    • Merge requests 482
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #17684
Closed
Open
Created Jan 15, 2020 by robdockins@robdockins

Panic when compiling `cryptol` with profiling enabled on GHC 8.8.1

Summary

Panic when compiling with profiling enabled.

Steps to reproduce

$ uname -a
Darwin dyn-40-200.galois.com 19.0.0 Darwin Kernel Version 19.0.0: Wed Sep 25 20:18:50 PDT 2019; root:xnu-6153.11.26~2/RELEASE_X86_64 x86_64

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.8.1

$ cabal --version
cabal-install version 3.0.0.0
compiled using version 3.0.0.0 of the Cabal library

$ git clone https://github.com/GaloisInc/cryptol
<snip>

$ git log | head -n 1
commit 1e883e9f1dd0190f2b5a24a371f1deb239cc676c

$ cabal v2-configure
'cabal.project.local' file already exists. Now overwriting it.
Build profile: -w ghc-8.8.1 -O1
In order, the following would be built (use -v for more details):
 - Glob-0.10.0 (lib) (requires build)
 - HUnit-1.6.0.0 (lib) (requires build)
 - Only-0.1 (lib) (requires build)
 - binary-orphans-1.0.1 (lib) (requires download & build)
 - base-compat-batteries-0.11.0 (lib) (requires download & build)
 - abstract-deque-0.3 (lib) (requires build)
 - abstract-par-0.3.3 (lib) (requires build)
 - code-page-0.2 (lib) (requires download & build)
 - crackNum-2.3 (exe:crackNum) (requires build)
 - cryptol-2.8.1 (lib) (configuration changed)
 - uuid-types-1.0.3 (lib) (requires build)
 - data-default-class-0.1.2.0 (requires build)
 - hostname-1.0 (requires build)
 - js-flot-0.8.3 (lib) (requires build)
 - js-jquery-3.3.1 (lib) (requires build)
 - old-locale-1.0.0.7 (lib) (requires build)
 - optparse-applicative-0.15.1.0 (lib) (requires build)
 - regex-base-0.94.0.0 (lib) (requires build)
 - time-compat-1.9.2.2 (lib) (requires build)
 - vector-binary-instances-0.2.5.1 (lib) (requires download & build)
 - vector-algorithms-0.8.0.3 (lib) (requires build)
 - vector-th-unbox-0.2.1.7 (lib) (requires build)
 - xml-1.3.14 (requires build)
 - extensible-exceptions-0.1.1.4 (requires download & build)
 - cassava-0.5.2.0 (lib) (requires download & build)
 - monad-par-extras-0.3.3 (lib) (requires build)
 - cryptol-2.8.1 (exe:cryptol-html) (first run)
 - cryptol-2.8.1 (exe:cryptol) (first run)
 - regex-posix-0.96.0.0 (lib) (requires download & build)
 - aeson-1.4.6.0 (lib) (requires build)
 - math-functions-0.3.3.0 (lib) (requires build)
 - test-framework-0.8.2.0 (lib) (requires download & build)
 - microstache-1.0.1.1 (lib) (requires build)
 - criterion-measurement-0.1.2.0 (lib) (requires download & build)
 - mwc-random-0.14.0.0 (lib) (requires build)
 - dense-linear-algebra-0.1.0.0 (lib) (requires download & build)
 - test-framework-hunit-0.3.0.2 (requires download & build)
 - monad-par-0.3.5 (lib) (requires download & build)
 - test-lib-0.2 (lib) (requires download & build)
 - statistics-0.15.2.0 (lib) (requires download & build)
 - test-lib-0.2 (exe:test-runner) (requires download & build)
 - cryptol-test-runner-2.0 (exe:cryptol-test-runner) (first run)
 - criterion-1.5.6.1 (lib) (requires download & build)
 - cryptol-2.8.1 (bench:cryptol-bench) (first run)
 - criterion-1.5.6.1 (exe:criterion-report) (requires download & build)

$ cabal v2-build --enable-profiling
Build profile: -w ghc-8.8.1 -O1
In order, the following will be built (use -v for more details):
 - cryptol-2.8.1 (lib) --enable-profiling (configuration changed)
 - cryptol-2.8.1 (exe:cryptol-html) --enable-profiling (first run)
 - cryptol-2.8.1 (exe:cryptol) --enable-profiling (first run)
Configuring library for cryptol-2.8.1..
Preprocessing library for cryptol-2.8.1..
Building library for cryptol-2.8.1..
[20 of 90] Compiling Cryptol.Parser.Names ( src/Cryptol/Parser/Names.hs, /Users/rdockins/code/cryptol/dist-newstyle/build/x86_64-osx/ghc-8.8.1/cryptol-2.8.1/build/Cryptol/Parser/Names.p_o )
ghc: panic! (the 'impossible' happened)
  (GHC version 8.8.1 for x86_64-apple-darwin):
        LocalReg's live-in to graph
  cd8E {_scvf::P64}
  Call stack:
      CallStack (from HasCallStack):
        callStackDoc, called at compiler/utils/Outputable.hs:1159:37 in ghc:Outputable
        pprPanic, called at compiler/cmm/CmmLive.hs:70:8 in ghc:CmmLive

Expected behavior

Expect compile to succeed.

Environment

  • GHC version used: 8.8.1

Optional:

  • Operating System: OSX Catalina 10.15
  • System Architecture:
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking