[GHC] #15808: Master sefaults on windows during aeson build when stage2 libs have dwarf enabled.

GHC ghc-devs at haskell.org
Thu Oct 25 18:26:35 UTC 2018


#15808: Master sefaults on windows during aeson build when stage2 libs have dwarf
enabled.
-------------------------------------+-------------------------------------
           Reporter:  AndreasK       |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.7
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I haven't had any luck with reproducing it outside of building the aeson
 package with cabal yet. So for now just documenting the fact.

 build.mk used
 {{{
 GhcLibHcOpts += -g3
 GhcRtsHcOpts += -g3

 STRIP_CMD = :

 BUILD_PROF_LIBS    = NO
 SplitObjs          = NO
 SplitSections      = NO
 HADDOCK_DOCS       = NO
 BUILD_SPHINX_HTML  = NO
 BUILD_SPHINX_PDF   = NO
 BUILD_MAN          = NO

 }}}

 Error log:
 {{{
 "E:/ghc_dwarf/inplace/bin/ghc-stage2.exe" "--make" "-fbuilding-cabal-
 package" "-O" "-outputdir" "C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build"
 "-odir" "C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build"
 "-hidir" "C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build"
 "-stubdir" "C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build""-i"
 "-iC:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build" "-i."
 "-iattoparsec-iso8601/" "-ipure" "-iC:\ghc\msys64\home\Andi\aeson_repro
 \dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\autogen"
 "-iC:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\global-
 autogen" "-IC:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\autogen"
 "-IC:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\global-
 autogen" "-IC:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build"
 "-Iinclude" "-IC:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\include"
 "-optP-include" "-optPC:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\autogen\cabal_macros.h"
 "-this-unit-id" "aeson-1.4.1.0-inplace" "-hide-all-packages" "-Wmissing-
 home-modules" "-no-user-package-db" "-package-db"
 "C:\Users\Andi\AppData\Roaming\cabal\store\ghc-8.7.20181025\package.db"
 "-package-db" "C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\packagedb\ghc-8.7.20181025" "-package-db"
 "C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\package.conf.inplace"
 "-package-id"
 "attoparsec-0.13.2.2-8913a968506e9e83757f6fe696d6fe61e0d4b4a8" "-package-
 id" "base-4.12.0.0" "-package-id" "base-
 compat-0.10.5-34e11ceb2d98e0262d1d958bca2afc3184e70c60" "-package-id"
 "bytestring-0.10.8.2" "-package-id" "containers-0.6.0.1" "-package-id"
 "deepseq-1.4.4.0" "-package-id"
 "dlist-0.8.0.5-681a0f929505417757ba9f9981a50ab1d7c8a0e0" "-package-id"
 "ghc-prim-0.5.3" "-package-id"
 "hashable-1.2.7.0-50f89c5dee92df34fc2d6540cfde1983f26d8e31" "-package-id"
 "primitive-0.6.4.0-c08c185073660c1604acdddfe5c369afae583ba2" "-package-id"
 "scientific-0.3.6.2-4bea197b4523e02da61c34a1eed01432d9fefff6" "-package-
 id" "tagged-0.8.6-d3cce1acba663b646f565adb64d80579664d8caa" "-package-id"
 "template-haskell-2.14.0.0" "-package-id" "text-1.2.3.1" "-package-id"
 "th-abstraction-0.2.8.0-e197ba78a6de8bf8fc5d00ecb5a358a8b27bcc92"
 "-package-id" "time-1.8.0.2" "-package-id" "time-locale-
 c_-0.1.1.5-7549537073e62ce01921c89c30cc6cafeed99b5b" "-package-id"
 "unordered-con_-0.2.9.0-f5cd33176070f516c88b1aac3ef61959b09fcfa6"
 "-package-id" "uuid-types-1.0.3-f68643250767dce83d2c227104d15a0aa9c3c77f"
 "-package-id" "vector-0.12.0.1-3a9a26f81a463f0efefa41528af3e27d3a88cc7d"
 "-XHaskell2010" "Data.Aeson" "Data.Aeson.Encoding" "Data.Aeson.Parser"
 "Data.Aeson.Text" "Data.Aeson.Types" "Data.Aeson.TH"
 "Data.Aeson.QQ.Simple" "Data.Aeson.Encoding.Internal"
 "Data.Aeson.Internal" "Data.Aeson.Internal.Time"
 "Data.Aeson.Parser.Internal" "Data.Aeson.Encode" "Data.Aeson.Compat"
 "Data.Aeson.Encoding.Builder" "Data.Aeson.Internal.Functions"
 "Data.Aeson.Parser.Unescape" "Data.Aeson.Parser.Time"
 "Data.Aeson.Types.FromJSON" "Data.Aeson.Types.Generic"
 "Data.Aeson.Types.ToJSON" "Data.Aeson.Types.Class"
 "Data.Aeson.Types.Internal" "Data.Attoparsec.Time"
 "Data.Attoparsec.Time.Internal" "Data.Aeson.Parser.UnescapePure" "-Wall"
 "-O2" "-hide-all-packages" "-g13"
 [ 2 of 25] Compiling Data.Aeson.Internal.Functions (
 Data\Aeson\Internal\Functions.hs, C:\ghc\msys64\home\Andi\aeson_repro
 \dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Internal\Functions.o
 ) [Data.HashMap.Strict changed]
 [ 5 of 25] Compiling Data.Aeson.Types.Generic (
 Data\Aeson\Types\Generic.hs, C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Types\Generic.o
 ) [Prelude.Compat changed]
 [ 6 of 25] Compiling Data.Aeson.Types.Internal (
 Data\Aeson\Types\Internal.hs, C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Types\Internal.o
 ) [Data.Vector changed]
 [ 7 of 25] Compiling Data.Aeson.Parser.Internal (
 Data\Aeson\Parser\Internal.hs, C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Parser\Internal.o
 ) [Data.Scientific changed]
 [ 8 of 25] Compiling Data.Aeson.Parser ( Data\Aeson\Parser.hs,
 C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Parser.o
 ) [Data.Aeson.Parser.Internal changed]
 [ 9 of 25] Compiling Data.Attoparsec.Time.Internal ( attoparsec-
 iso8601\Data\Attoparsec\Time\Internal.hs,
 C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Attoparsec\Time\Internal.o
 ) [Prelude.Compat changed]

 attoparsec-iso8601\Data\Attoparsec\Time\Internal.hs:24:1: warning:
 [-Wunused-imports]
     The import of `Unsafe.Coerce' is redundant
       except perhaps to import instances from `Unsafe.Coerce'
     To import instances alone, use: import Unsafe.Coerce()
    |
 24 | import Unsafe.Coerce (unsafeCoerce)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 [10 of 25] Compiling Data.Attoparsec.Time ( attoparsec-
 iso8601\Data\Attoparsec\Time.hs, C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Attoparsec\Time.o
 ) [Data.Attoparsec.Text changed]
 [11 of 25] Compiling Data.Aeson.Parser.Time ( Data\Aeson\Parser\Time.hs,
 C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Parser\Time.o
 ) [Data.Attoparsec.Text changed]
 [12 of 25] Compiling Data.Aeson.Types.FromJSON (
 Data\Aeson\Types\FromJSON.hs, C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Types\FromJSON.o
 ) [Data.Primitive.PrimArray changed]
 [13 of 25] Compiling Data.Aeson.Internal ( Data\Aeson\Internal.hs,
 C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Internal.o
 ) [Data.Aeson.Types.FromJSON changed]
 [14 of 25] Compiling Data.Aeson.Internal.Time (
 Data\Aeson\Internal\Time.hs, C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Internal\Time.o
 ) [Data.Attoparsec.Time.Internal changed]
 [15 of 25] Compiling Data.Aeson.Encoding.Builder (
 Data\Aeson\Encoding\Builder.hs, C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Encoding\Builder.o
 ) [Data.Vector changed]
 [16 of 25] Compiling Data.Aeson.Encoding.Internal (
 Data\Aeson\Encoding\Internal.hs, C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Encoding\Internal.o
 ) [Data.Scientific changed]
 [17 of 25] Compiling Data.Aeson.Encoding ( Data\Aeson\Encoding.hs,
 C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Encoding.o
 ) [Data.Aeson.Encoding.Internal changed]
 [18 of 25] Compiling Data.Aeson.Types.ToJSON ( Data\Aeson\Types\ToJSON.hs,
 C:\ghc\msys64\home\Andi\aeson_repro\dist-
 newstyle\build\x86_64-windows\ghc-8.7.20181025\aeson-1.4.1.0\build\Data\Aeson\Types\ToJSON.o
 ) [Data.Primitive.PrimArray changed]

 Access violation in generated code when executing data at 0x103fec440

  Attempting to reconstruct a stack trace...

    Frame        Code address
  * 0x845d9c0    0x103fec440
  * 0x845da20    0x400c0f8 E:\ghc_dwarf\inplace\bin\ghc-
 stage2.exe+0x3c0c0f8
  * 0x845da80    0x3fec9a1 E:\ghc_dwarf\inplace\bin\ghc-
 stage2.exe+0x3bec9a1
  * 0x845dab0    0x3feca31 E:\ghc_dwarf\inplace\bin\ghc-
 stage2.exe+0x3beca31
  * 0x845dab8    0x34c8934 E:\ghc_dwarf\inplace\bin\ghc-
 stage2.exe+0x30c8934
  * 0x845dac0    0xfa340
  * 0x845dac8    0x2a940b78
  * 0x845dad0    0x2a98cd69
  * 0x845dad8    0x2a98d7d0

 CallStack (from HasCallStack):
   die', called at .\\Distribution\\Client\\ProjectOrchestration.hs:977:55
 in main:Distribution.Client.ProjectOrchestration
 cabal.exe: Failed to build aeson-1.4.1.0-inplace. The build process
 terminated
 with exit code 11
 }}}

 I could only reproduce it with master on Windows so far. It always
 triggers but under very specific circumstances:
 * GHC built with the flags above, adding dwarf info to the ghc executable
 or removing dwarf info eliminates the issue.
 * Only on a complete rebuild of aeson. Restarting the crashed build
 finishes without an error.

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


More information about the ghc-tickets mailing list