[GHC] #13886: GHC panic when using GHC plugins

GHC ghc-devs at haskell.org
Wed Jun 28 21:51:14 UTC 2017


#13886: GHC panic when using GHC plugins
-------------------------------------+-------------------------------------
        Reporter:  Darwin226         |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.2
      Resolution:                    |             Keywords:
Operating System:  Windows           |         Architecture:  x86_64
 Type of failure:  Compile-time      |  (amd64)
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Darwin226):

 Ok, that did it for hashable, now after adding a few more manual versions
 I'm stuck at

 {{{
 Warning:
     This package indirectly depends on multiple versions of the same
 package. This is very likely to cause a compile failure.
       package time (time-1.8.0.1) requires Win32-2.5.4.1
       package process (process-1.6.0.0) requires Win32-2.5.4.1
       package ghc (ghc-8.2.0.20170507) requires Win32-2.5.4.1
       package directory (directory-1.3.0.2) requires Win32-2.5.4.1
       package time (time-1.8.0.1-7Vbd89jgVoWBI75ow03wJC) requires
 Win32-2.5.4.1-8epaQbqY3jGLJxXm3ux8Ua
       package directory (directory-1.3.0.2-7PuJPOCiLbC9oRaTNsfccX)
 requires Win32-2.5.4.1-8epaQbqY3jGLJxXm3ux8Ua
       package ghci (ghci-8.2.0.20170507) requires array-0.5.1.2
       package ghc (ghc-8.2.0.20170507) requires array-0.5.1.2
       package deepseq (deepseq-1.4.3.0) requires array-0.5.1.2
       package containers (containers-0.5.10.2) requires array-0.5.1.2
       package binary (binary-0.8.5.1) requires array-0.5.1.2
       package type-tensor (type-tensor-0.1.0.0) requires
 array-0.5.1.2-HLhzmZOrFF33n5vNRSsiul
       package text (text-1.2.2.2-C576mx40Etr4P9ekPR0dZa) requires
 array-0.5.1.2-HLhzmZOrFF33n5vNRSsiul
       package integer-logarithms (integer-
 logarithms-1.0.1-J81sJnt8kMJ9jRMUf4vFoR) requires
 array-0.5.1.2-HLhzmZOrFF33n5vNRSsiul
       package deepseq (deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI) requires
 array-0.5.1.2-HLhzmZOrFF33n5vNRSsiul
       package containers (containers-0.5.7.1-JQ6HxxqcTn7Hov4MCJUivJ)
 requires array-0.5.1.2-HLhzmZOrFF33n5vNRSsiul
       package binary (binary-0.8.5.1-C4OPHIQcyRaGV2kWdJl2VT) requires
 array-0.5.1.2-HLhzmZOrFF33n5vNRSsiul
       package attoparsec (attoparsec-0.13.1.0-FUS3j19YAjQ6jq7Rnfohq)
 requires array-0.5.1.2-HLhzmZOrFF33n5vNRSsiul
       package ghci (ghci-8.2.0.20170507) requires binary-0.8.5.1
       package ghc-boot (ghc-boot-8.2.0.20170507) requires binary-0.8.5.1
       package ghc (ghc-8.2.0.20170507) requires binary-0.8.5.1
       package uuid-types (uuid-types-1.0.3-K55Ih5xEU247FankRMW0NM)
 requires binary-0.8.5.1-C4OPHIQcyRaGV2kWdJl2VT
       package text (text-1.2.2.2-C576mx40Etr4P9ekPR0dZa) requires
 binary-0.8.5.1-C4OPHIQcyRaGV2kWdJl2VT
       package scientific (scientific-0.3.4.15-7PyzWbTeymdIyGs7DQZDDY)
 requires binary-0.8.5.1-C4OPHIQcyRaGV2kWdJl2VT

       package ghci (ghci-8.2.0.20170507) requires bytestring-0.10.8.2
       package ghc-boot (ghc-boot-8.2.0.20170507) requires
 bytestring-0.10.8.2
       package ghc (ghc-8.2.0.20170507) requires bytestring-0.10.8.2
       package binary (binary-0.8.5.1) requires bytestring-0.10.8.2
       package Win32 (Win32-2.5.4.1) requires bytestring-0.10.8.2
       package uuid-types (uuid-types-1.0.3-K55Ih5xEU247FankRMW0NM)
 requires bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI
       package text (text-1.2.2.2-C576mx40Etr4P9ekPR0dZa) requires
 bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI
       package scientific (scientific-0.3.4.15-7PyzWbTeymdIyGs7DQZDDY)
 requires bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI
       package hashable (hashable-1.2.6.0-JYQFWiKYG1UDI9NcuUwIS5) requires
 bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI

       package dump-core (dump-core-0.1.3-G8qMx3XDmny68ZAiu2ZEKo) requires
 bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI

       package binary (binary-0.8.5.1-C4OPHIQcyRaGV2kWdJl2VT) requires
 bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI
       package attoparsec (attoparsec-0.13.1.0-FUS3j19YAjQ6jq7Rnfohq)
 requires bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI
       package aeson (aeson-1.1.2.0-9gz0GeJuooI5cNB8Jm3VaT) requires
 bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI
       package Win32 (Win32-2.5.4.1-8epaQbqY3jGLJxXm3ux8Ua) requires
 bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI
       package hpc (hpc-0.6.0.3) requires containers-0.5.10.2
       package hoopl (hoopl-3.10.2.2) requires containers-0.5.10.2
       package ghci (ghci-8.2.0.20170507) requires containers-0.5.10.2
       package ghc (ghc-8.2.0.20170507) requires containers-0.5.10.2
       package binary (binary-0.8.5.1) requires containers-0.5.10.2
       package scientific (scientific-0.3.4.15-7PyzWbTeymdIyGs7DQZDDY)
 requires containers-0.5.7.1-JQ6HxxqcTn7Hov4MCJUivJ
       package dump-core (dump-core-0.1.3-G8qMx3XDmny68ZAiu2ZEKo) requires
 containers-0.5.7.1-JQ6HxxqcTn7Hov4MCJUivJ
       package binary (binary-0.8.5.1-C4OPHIQcyRaGV2kWdJl2VT) requires
 containers-0.5.7.1-JQ6HxxqcTn7Hov4MCJUivJ
       package attoparsec (attoparsec-0.13.1.0-FUS3j19YAjQ6jq7Rnfohq)
 requires containers-0.5.7.1-JQ6HxxqcTn7Hov4MCJUivJ
       package aeson (aeson-1.1.2.0-9gz0GeJuooI5cNB8Jm3VaT) requires
 containers-0.5.7.1-JQ6HxxqcTn7Hov4MCJUivJ
       package time (time-1.8.0.1) requires deepseq-1.4.3.0
       package process (process-1.6.0.0) requires deepseq-1.4.3.0
       package pretty (pretty-1.1.3.3) requires deepseq-1.4.3.0
       package ghci (ghci-8.2.0.20170507) requires deepseq-1.4.3.0
       package ghc (ghc-8.2.0.20170507) requires deepseq-1.4.3.0
       package containers (containers-0.5.10.2) requires deepseq-1.4.3.0
       package bytestring (bytestring-0.10.8.2) requires deepseq-1.4.3.0
       package vector (vector-0.12.0.1-EZRn7LVKnvJJeGsCj3bs9M) requires
 deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package uuid-types (uuid-types-1.0.3-K55Ih5xEU247FankRMW0NM)
 requires deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package unordered-containers (unordered-
 containers-0.2.8.0-9DG9g9mCNzf2q6WCRkUFS4) requires
 deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package time (time-1.8.0.1-7Vbd89jgVoWBI75ow03wJC) requires
 deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package text (text-1.2.2.2-C576mx40Etr4P9ekPR0dZa) requires
 deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package tagged (tagged-0.8.5-Kprpkqx3zNrJScWjBTq820) requires
 deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package scientific (scientific-0.3.4.15-7PyzWbTeymdIyGs7DQZDDY)
 requires deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package hashable (hashable-1.2.6.0-JYQFWiKYG1UDI9NcuUwIS5) requires
 deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package dlist (dlist-0.8.0.2-GbiPGq2orrp5Ip3NNjwkmD) requires
 deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package containers (containers-0.5.7.1-JQ6HxxqcTn7Hov4MCJUivJ)
 requires deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI

       package bytestring (bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI)
 requires deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package attoparsec (attoparsec-0.13.1.0-FUS3j19YAjQ6jq7Rnfohq)
 requires deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI

       package aeson (aeson-1.1.2.0-9gz0GeJuooI5cNB8Jm3VaT) requires
 deepseq-1.4.3.0-1LQl7dQqRaX7SddkECLIDI
       package process (process-1.6.0.0) requires directory-1.3.0.2
       package hpc (hpc-0.6.0.3) requires directory-1.3.0.2
       package ghc-boot (ghc-boot-8.2.0.20170507) requires
 directory-1.3.0.2
       package ghc (ghc-8.2.0.20170507) requires directory-1.3.0.2
       package dump-core (dump-core-0.1.3-G8qMx3XDmny68ZAiu2ZEKo) requires
 directory-1.3.0.2-7PuJPOCiLbC9oRaTNsfccX
       package process (process-1.6.0.0) requires filepath-1.4.1.2
       package hpc (hpc-0.6.0.3) requires filepath-1.4.1.2
       package ghci (ghci-8.2.0.20170507) requires filepath-1.4.1.2
       package ghc-boot (ghc-boot-8.2.0.20170507) requires filepath-1.4.1.2
       package ghc (ghc-8.2.0.20170507) requires filepath-1.4.1.2
       package directory (directory-1.3.0.2) requires filepath-1.4.1.2
       package Win32 (Win32-2.5.4.1) requires filepath-1.4.1.2
       package dump-core (dump-core-0.1.3-G8qMx3XDmny68ZAiu2ZEKo) requires
 filepath-1.4.1.2-FVx4R9yeJjI1Ab4DPhTPDl
       package directory (directory-1.3.0.2-7PuJPOCiLbC9oRaTNsfccX)
 requires filepath-1.4.1.2-FVx4R9yeJjI1Ab4DPhTPDl
       package Win32 (Win32-2.5.4.1-8epaQbqY3jGLJxXm3ux8Ua) requires
 filepath-1.4.1.2-FVx4R9yeJjI1Ab4DPhTPDl
       package hpc (hpc-0.6.0.3) requires time-1.8.0.1
       package ghc (ghc-8.2.0.20170507) requires time-1.8.0.1
       package directory (directory-1.3.0.2) requires time-1.8.0.1
       package time-locale-compat (time-locale-
 compat-0.1.1.3-ADr89HVPhNu71NOppkwVdg) requires
 time-1.8.0.1-7Vbd89jgVoWBI75ow03wJC
       package random (random-1.1-GLIzFPLOiIE1BNNTGq3j7b) requires
 time-1.8.0.1-7Vbd89jgVoWBI75ow03wJC
       package directory (directory-1.3.0.2-7PuJPOCiLbC9oRaTNsfccX)
 requires time-1.8.0.1-7Vbd89jgVoWBI75ow03wJC
       package aeson (aeson-1.1.2.0-9gz0GeJuooI5cNB8Jm3VaT) requires
 time-1.8.0.1-7Vbd89jgVoWBI75ow03wJC
 type-tensor-0.1.0.0: build (lib)
 Preprocessing library for type-tensor-0.1.0.0..
 Building library for type-tensor-0.1.0.0..
 [1 of 2] Compiling Data.Tensor      ( src\Data\Tensor.hs, .stack-
 work\dist\f42fcbca\build\Data\Tensor.o )
 GHC runtime linker: fatal error: I found a duplicate definition for symbol
    fps_reverse
 whilst processing object file
    C:\Users\darwi\Projects\type-tensor\.stack-
 work\install\0fd0aaa2\lib\x86_64-windows-
 ghc-8.2.0.20170507\bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI\HSbytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI.o
 The symbol was previously defined in
 C:\Users\darwi\AppData\Local\Programs\stack\x86_64-windows\ghc-8.2.0.20170507\lib\bytestring-0.10.8.2\HSbytestring-0.10.8.2.o
 This could be caused by:
    * Loading two different object files which export the same symbol
    * Specifying the same object file twice on the GHCi command line
    * An incorrect `package.conf' entry, causing some object to be
      loaded twice.
 ghc.EXE: panic! (the 'impossible' happened)
   (GHC version 8.2.0.20170507 for x86_64-unknown-mingw32):
         loadObj "C:\\Users\\darwi\\Projects\\type-tensor\\.stack-
 work\\install\\0fd0aaa2\\lib\\x86_64-windows-
 ghc-8.2.0.20170507\\bytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI\\HSbytestring-0.10.8.2-HmJDVybICq95XgdDM4QLKI.o":
 failed

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

 Completed 24 action(s).
 }}}

 These are the packages that I've added as extra dependencies.

 {{{
 extra-deps:
 - dump-core-0.1.3
 - deepseq-1.4.3.0
 - hashable-1.2.6.0
 - bytestring-0.10.8.2
 - Win32-2.5.4.1
 - array-0.5.1.2
 - binary-0.8.5.1
 - containers-0.5.7.1
 - directory-1.3.0.2
 - filepath-1.4.1.2
 - time-1.8.0.1
 }}}

 Any ideas?
 Also, I hope I'm not taking too much of anybody's time. Sorry guys.

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


More information about the ghc-tickets mailing list