[GHC] #10192: Template Haskell crashes when building yesod-core package

GHC ghc-devs at haskell.org
Wed Mar 25 21:12:57 UTC 2015


#10192: Template Haskell crashes when building yesod-core package
-------------------------------------+-------------------------------------
              Reporter:  DanielDiaz  |             Owner:
                  Type:  bug         |            Status:  new
              Priority:  normal      |         Milestone:
             Component:  Compiler    |           Version:  7.8.4
              Keywords:              |  Operating System:  Unknown/Multiple
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |        Blocked By:
             Test Case:              |   Related Tickets:
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
 This is the output when trying to install yesod-core in a sandbox:


 {{{
 Configuring yesod-core-1.4.8.3...
 Building yesod-core-1.4.8.3...
 Preprocessing library yesod-core-1.4.8.3...
 [ 1 of 31] Compiling Yesod.Routes.TH.Types ( Yesod/Routes/TH/Types.hs,
 dist/dist-sandbox-d1f72a97/build/Yesod/Routes/TH/Types.o )
 [ 2 of 31] Compiling Yesod.Routes.TH.Dispatch (
 Yesod/Routes/TH/Dispatch.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Routes/TH/Dispatch.o )
 [ 3 of 31] Compiling Yesod.Routes.Overlap ( Yesod/Routes/Overlap.hs, dist
 /dist-sandbox-d1f72a97/build/Yesod/Routes/Overlap.o )
 [ 4 of 31] Compiling Yesod.Core.TypeCache ( Yesod/Core/TypeCache.hs, dist
 /dist-sandbox-d1f72a97/build/Yesod/Core/TypeCache.o )
 [ 5 of 31] Compiling Yesod.Routes.Class ( Yesod/Routes/Class.hs, dist
 /dist-sandbox-d1f72a97/build/Yesod/Routes/Class.o )
 [ 6 of 31] Compiling Yesod.Routes.TH.RenderRoute (
 Yesod/Routes/TH/RenderRoute.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Routes/TH/RenderRoute.o )
 [ 7 of 31] Compiling Yesod.Routes.TH.ParseRoute (
 Yesod/Routes/TH/ParseRoute.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Routes/TH/ParseRoute.o )
 [ 8 of 31] Compiling Yesod.Routes.TH.RouteAttrs (
 Yesod/Routes/TH/RouteAttrs.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Routes/TH/RouteAttrs.o )
 [ 9 of 31] Compiling Yesod.Routes.TH  ( Yesod/Routes/TH.hs, dist/dist-
 sandbox-d1f72a97/build/Yesod/Routes/TH.o )
 [10 of 31] Compiling Yesod.Routes.Parse ( Yesod/Routes/Parse.hs, dist
 /dist-sandbox-d1f72a97/build/Yesod/Routes/Parse.o )
 [11 of 31] Compiling Paths_yesod_core ( dist/dist-sandbox-
 d1f72a97/build/autogen/Paths_yesod_core.hs, dist/dist-sandbox-
 d1f72a97/build/Paths_yesod_core.o )
 [12 of 31] Compiling Yesod.Core.Internal.Util (
 Yesod/Core/Internal/Util.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Core/Internal/Util.o )
 [13 of 31] Compiling Yesod.Core.Types ( Yesod/Core/Types.hs, dist/dist-
 sandbox-d1f72a97/build/Yesod/Core/Types.o )
 [14 of 31] Compiling Yesod.Core.Class.Handler (
 Yesod/Core/Class/Handler.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Core/Class/Handler.o )

 Yesod/Core/Class/Handler.hs:25:1: Warning:
     Module ‘Control.Monad.Trans.Error’ is deprecated:
       Use Control.Monad.Trans.Except instead

 Yesod/Core/Class/Handler.hs:56:11: Warning:
     In the use of type constructor or class ‘Error’
     (imported from Control.Monad.Trans.Error):
     Deprecated: "Use Control.Monad.Trans.Except instead"

 Yesod/Core/Class/Handler.hs:56:54: Warning:
     In the use of type constructor or class ‘ErrorT’
     (imported from Control.Monad.Trans.Error):
     Deprecated: "Use Control.Monad.Trans.Except instead"

 Yesod/Core/Class/Handler.hs:56:91: Warning:
     In the use of type constructor or class ‘ErrorT’
     (imported from Control.Monad.Trans.Error):
     Deprecated: "Use Control.Monad.Trans.Except instead"

 Yesod/Core/Class/Handler.hs:79:11: Warning:
     In the use of type constructor or class ‘Error’
     (imported from Control.Monad.Trans.Error):
     Deprecated: "Use Control.Monad.Trans.Except instead"

 Yesod/Core/Class/Handler.hs:79:52: Warning:
     In the use of type constructor or class ‘ErrorT’
     (imported from Control.Monad.Trans.Error):
     Deprecated: "Use Control.Monad.Trans.Except instead"
 [15 of 31] Compiling Yesod.Core.Internal.Request (
 Yesod/Core/Internal/Request.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Core/Internal/Request.o )
 [16 of 31] Compiling Yesod.Core.Internal.Session (
 Yesod/Core/Internal/Session.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Core/Internal/Session.o )
 [17 of 31] Compiling Yesod.Core.Content ( Yesod/Core/Content.hs, dist
 /dist-sandbox-d1f72a97/build/Yesod/Core/Content.o )

 Yesod/Core/Content.hs:227:27: Warning:
     In the use of ‘B.breakByte’ (imported from Data.ByteString):
     Deprecated: "It is an internal function and should never have been
 exported. Use 'break (== x)' instead. (There are rewrite rules that handle
 this special case of 'break'.)"

 Yesod/Core/Content.hs:232:36: Warning:
     In the use of ‘B.breakByte’ (imported from Data.ByteString):
     Deprecated: "It is an internal function and should never have been
 exported. Use 'break (== x)' instead. (There are rewrite rules that handle
 this special case of 'break'.)"

 Yesod/Core/Content.hs:235:19: Warning:
     In the use of ‘B.breakByte’ (imported from Data.ByteString):
     Deprecated: "It is an internal function and should never have been
 exported. Use 'break (== x)' instead. (There are rewrite rules that handle
 this special case of 'break'.)"
 [18 of 31] Compiling Yesod.Core.Handler ( Yesod/Core/Handler.hs, dist
 /dist-sandbox-d1f72a97/build/Yesod/Core/Handler.o )
 Loading package ghc-prim ... linking ... done.
 Loading package integer-gmp ... linking ... done.
 Loading package base ... linking ... done.
 Loading package array-0.5.1.0 ... linking ... done.
 Loading package auto-update-0.1.2.1 ... linking ... done.
 Loading package deepseq-1.3.0.2 ... linking ... done.
 Loading package bytestring-0.10.6.0 ... linking ... done.
 Loading package text-1.2.0.4 ... linking ... done.
 Loading package blaze-builder-0.4.0.1 ... linking ... done.
 Loading package hashable-1.2.3.2 ... linking ... done.
 Loading package case-insensitive-1.2.0.4 ... linking ... done.
 Loading package containers-0.5.6.3 ... linking ... done.
 Loading package scientific-0.3.3.8 ... linking ... done.
 Loading package attoparsec-0.12.1.3 ... linking ... done.
 Loading package http-date-0.0.6 ... linking ... done.
 Loading package http-types-0.8.6 ... linking ... done.
 Loading package appar-0.1.4 ... linking ... done.
 Loading package byteorder-1.0.4 ... linking ... done.
 Loading package time-1.5.0.1 ... linking ... done.
 Loading package unix-2.7.1.0 ... linking ... done.
 Loading package network-2.6.0.2 ... linking ... done.
 Loading package iproute-1.3.2 ... linking ... done.
 Loading package simple-sendfile-0.2.18 ... linking ... done.
 Loading package filepath-1.4.0.0 ... linking ... done.
 Loading package directory-1.2.2.0 ... linking ... done.
 Loading package process-1.2.3.0 ... linking ... done.
 Loading package random-1.1 ... linking ... done.
 Loading package stm-2.4.4 ... linking ... done.
 Loading package transformers-0.4.3.0 ... linking ... done.
 Loading package zlib-0.5.4.2 ... linking ... done.
 Loading package streaming-commons-0.1.10.0 ... linking ... done.
 Loading package unix-compat-0.4.1.4 ... linking ... done.
 Loading package unordered-containers-0.2.5.1 ... linking ... done.
 Loading package vault-0.3.0.4 ... linking ... done.
 Loading package nats-1 ... linking ... done.
 Loading package semigroups-0.16.2.2 ... linking ... done.
 Loading package void-0.7 ... linking ... done.
 Loading package wai-3.0.2.3 ... linking ... done.
 Loading package warp-3.0.10 ... linking ... done.
 Loading package ansi-terminal-0.6.2.1 ... linking ... done.
 Loading package base64-bytestring-1.0.0.1 ... linking ... done.
 Loading package data-default-class-0.0.1 ... linking ... done.
 Loading package bytestring-builder-0.10.4.1.2 ... linking ... done.
 Loading package fast-logger-2.3.0 ... linking ... done.
 Loading package transformers-compat-0.4.0.4 ... linking ... done.
 Loading package transformers-base-0.4.4 ... linking ... done.
 Loading package monad-control-1.0.0.4 ... linking ... done.
 Loading package lifted-base-0.2.3.6 ... linking ... done.
 Loading package old-locale-1.0.0.7 ... linking ... done.
 Loading package mtl-2.2.1 ... linking ... done.
 Loading package exceptions-0.8.0.2 ... linking ... done.
 Loading package mmorph-1.0.4 ... linking ... done.
 Loading package resourcet-1.1.4.1 ... linking ... done.
 Loading package stringsearch-0.3.6.5 ... linking ... done.
 Loading package easy-file-0.2.0 ... linking ... done.
 Loading package binary-0.7.4.0 ... linking ... done.
 Loading package old-time-1.1.0.3 ... linking ... done.
 Loading package unix-time-0.3.5 ... linking ... done.
 Loading package wai-logger-2.2.3 ... linking ... done.
 Loading package word8-0.1.2 ... linking ... done.
 Loading package wai-extra-3.0.4.6 ... linking ... done.
 Loading package dlist-0.7.1.1 ... linking ... done.
 Loading package syb-0.4.4 ... linking ... done.
 Loading package pretty-1.1.3.2 ... linking ... done.
 Loading package template-haskell ... linking ... done.
 Loading package primitive-0.5.4.0 ... linking ... done.
 Loading package vector-0.10.12.2 ... linking ... done.
 Loading package aeson-0.8.0.2 ... linking ... done.
 Loading package blaze-markup-0.7.0.2 ... linking ... done.
 Loading package blaze-html-0.8.0.2 ... linking ... done.
 Loading package parsec-3.1.9 ... linking ... done.
 Loading package system-filepath-0.4.13.2 ... linking ... done.
 Loading package system-fileio-0.3.16.1 ... linking ... done.
 Loading package shakespeare-2.0.4.1 ... linking ... done.
 Loading package safe-0.3.8 ... linking ... done.
 Loading package path-pieces-0.2.0 ... linking ... done.
 Loading package mwc-random-0.13.3.0 ... linking ... done.
 Loading package conduit-1.2.4 ... linking ... done.
 Loading package conduit-extra-1.1.7.1 ... linking ... done.
 Loading package monad-loops-0.4.2.1 ... linking ... done.
 Loading package stm-chans-3.0.0.2 ... linking ... done.
 Loading package monad-logger-0.3.13.1 ... linking ... done.
 Loading package data-default-instances-base-0.0.1 ... linking ... done.
 Loading package data-default-instances-containers-0.0.1 ... linking ...
 done.
 Loading package data-default-instances-dlist-0.0.1 ... linking ... done.
 Loading package data-default-instances-old-locale-0.0.1 ... linking ...
 done.
 Loading package data-default-0.5.3 ... linking ... done.
 Loading package cookie-0.4.1.4 ... linking ... done.
 Loading package cereal-0.4.1.1 ... linking ... done.
 Loading package byteable-0.1.1 ... linking ... done.
 Loading package securemem-0.1.7 ... linking ... done.
 Loading package crypto-cipher-types-0.0.9 ... linking ... done.
 Loading package cipher-aes-0.2.10 ... linking ... done.
 Loading package crypto-random-0.0.9 ... linking ... done.
 Loading package cprng-aes-0.6.1 ... linking ... done.
 Loading package entropy-0.3.6 ... linking ... done.
 Loading package tagged-0.7.3 ... linking ... done.
 Loading package crypto-api-0.13.2 ... linking ... done.
 Loading package setenv-0.1.1.3 ... linking ... done.
 Loading package skein-1.0.9.2 ... linking ... done.
 Loading package clientsession-0.9.1.1 ... linking ... done.
 [19 of 31] Compiling Yesod.Core.Widget ( Yesod/Core/Widget.hs, dist/dist-
 sandbox-d1f72a97/build/Yesod/Core/Widget.o )
 [20 of 31] Compiling Yesod.Core.Class.Breadcrumbs (
 Yesod/Core/Class/Breadcrumbs.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Core/Class/Breadcrumbs.o )
 [21 of 31] Compiling Yesod.Core.Class.Yesod ( Yesod/Core/Class/Yesod.hs,
 dist/dist-sandbox-d1f72a97/build/Yesod/Core/Class/Yesod.o )
 [22 of 31] Compiling Yesod.Core.Json  ( Yesod/Core/Json.hs, dist/dist-
 sandbox-d1f72a97/build/Yesod/Core/Json.o )
 [23 of 31] Compiling Yesod.Core.Internal.Response (
 Yesod/Core/Internal/Response.hs, dist/dist-sandbox-
 d1f72a97/build/Yesod/Core/Internal/Response.o )
 [24 of 31] Compiling Yesod.Core.Internal.Run ( Yesod/Core/Internal/Run.hs,
 dist/dist-sandbox-d1f72a97/build/Yesod/Core/Internal/Run.o )

 ByteCodeLink.lookupCE
 During interactive linking, GHCi couldn't find the following symbol:
 templatezmhaskell_LanguageziHaskellziTHziSyntax_zdfMonadQzuzdczgzgze_closure
 This may be due to you not asking GHCi to load extra object files,
 archives or DLLs needed by your current session.  Restart GHCi, specifying
 the missing library using the -L/path/to/object/dir and -lmissinglibname
 flags, or simply by naming the relevant files on the GHCi command line.
 Alternatively, this link failure might indicate a bug in GHCi.
 If you suspect the latter, please send a bug report to:
   glasgow-haskell-bugs at haskell.org
 }}}

 It's in a fresh installation of GHC-7.8.4, using cabal-install-1.22.2.0.

 It is worth noting that this works:

 {{{
 cabal sandbox init
 cabal install yesod-core
 }}}

 But this does not:

 {{{
 cabal sandbox init
 cabal install yesod-core --upgrade-dependencies --force-reinstalls
 }}}

 The context where I ran into this problem uses {{{--upgrade-
 dependencies}}}, and installs yesod-core as a dependency.

 Let me know if you need more information.

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


More information about the ghc-tickets mailing list