[GHC] #14089: Segmentation fault/access violation using Yesod and Postgresql
GHC
ghc-devs at haskell.org
Fri Aug 11 14:50:42 UTC 2017
#14089: Segmentation fault/access violation using Yesod and Postgresql
---------------------------------+--------------------------------------
Reporter: Burtannia | Owner: (none)
Type: bug | Status: infoneeded
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.2
Resolution: | Keywords:
Operating System: Windows | Architecture: x86_64 (amd64)
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
---------------------------------+--------------------------------------
Comment (by RyanGlScott):
Thanks Burtannia. I tried building each of these examples with both GHC
8.0.2 and 8.2.1. Neither example segfaulted on GHC 8.2.1. On GHC 8.0.2,
the `postgres` example didn't segfault, but the `sqlite` example did:
{{{
$ cabal build
Preprocessing library for sqliteExample-0.0.0..
Building library for sqliteExample-0.0.0..
[ 1 of 11] Compiling Settings ( src\Settings.hs,
dist\build\Settings.o )
[ 2 of 11] Compiling Settings.StaticFiles ( src\Settings\StaticFiles.hs,
dist\build\Settings\StaticFiles.o )
[ 3 of 11] Compiling Model ( src\Model.hs, dist\build\Model.o )
[ 4 of 11] Compiling Import.NoFoundation ( src\Import\NoFoundation.hs,
dist\build\Import\NoFoundation.o )
[ 5 of 11] Compiling Foundation ( src\Foundation.hs,
dist\build\Foundation.o )
Segmentation fault/access violation in generated code
}}}
Running `cabal build` after this causes the build to succeed. However,
`cabal clean`-ing and re-running `cabal build` causes the segfault to
resurface:
{{{
$ cabal build
Preprocessing library for sqliteExample-0.0.0..
Building library for sqliteExample-0.0.0..
[ 1 of 11] Compiling Settings ( src\Settings.hs,
dist\build\Settings.o )
[ 2 of 11] Compiling Settings.StaticFiles ( src\Settings\StaticFiles.hs,
dist\build\Settings\StaticFiles.o )
Segmentation fault/access violation in generated code
}}}
Notice that it appeared to segfault in a different location that time!
Moreover, you appear to need to build these modules in parallel (`cabal
build`'s default behavior) to trigger the segfault (at least, on my 64-bit
Windows 10 machine), since I can't get it to segfault with `cabal build
-j1`.
My initial hunch is that this is an occurrence of #13112, since both
`Foundation` and `Settings.StaticFiles` use quite a bit of Template
Haskell.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14089#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list