[GHC] #15411: urk! lookup local fingerprint

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.4.3 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: Compile-time Unknown/Multiple | crash or panic Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- When building GHC 8.6.0-alpha2 the build fails with the following error. {{{ [ghc-8.6.0.20180714] alan% make ===--- building phase 0 make --no-print-directory -f ghc.mk phase=0 phase_0_builds make[1]: Nothing to be done for 'phase_0_builds'. ===--- building phase 1 make --no-print-directory -f ghc.mk phase=1 phase_1_builds make[1]: Nothing to be done for 'phase_1_builds'. ===--- building final phase make --no-print-directory -f ghc.mk phase=final all "inplace/bin/ghc-stage2" -hisuf dyn_hi -osuf dyn_o -hcsuf dyn_hc -fPIC -dynamic -H32m -O -Wall -hide-all-packages -i -iutils/haddock/driver -iutils/haddock/haddock-api/src -iutils/haddock/haddock-library/src -iutils/haddock/dist/build -Iutils/haddock/dist/build -iutils/haddock/dist/build/haddock/autogen -Iutils/haddock/dist/build/haddock/autogen -optP-DIN_GHC_TREE -optP- include -optPutils/haddock/dist/build/haddock/autogen/cabal_macros.h -package-id Cabal-2.3.0.0 -package-id array-0.5.2.0 -package-id base-4.12.0.0 -package-id bytestring-0.10.8.2 -package-id containers-0.6.0.1 -package-id deepseq-1.4.4.0 -package-id directory-1.3.3.0 -package-id filepath-1.4.2 -package-id ghc-8.6.0.20180714 -package-id ghc-boot-8.6.0.20180714 -package-id parsec-3.1.13.0.0.0.0.0 -package-id text-1.2.3.0 -package-id transformers-0.5.5.0 -package-id xhtml-3000.2.2.1 -funbox-strict-fields -Wall -fwarn-tabs -O2 -threaded -XHaskell2010 -no-user-package-db -rtsopts -Wno-unused-imports -Wno-deprecations -Wnoncanonical-monad- instances -odir utils/haddock/dist/build -hidir utils/haddock/dist/build -stubdir utils/haddock/dist/build -c utils/haddock/haddock- api/src/Haddock/Backends/Hyperlinker/Types.hs -o utils/haddock/dist/build/Haddock/Backends/Hyperlinker/Types.dyn_o ghc-stage2: panic! (the 'impossible' happened) (GHC version 8.6.0.20180714 for powerpc64-unknown-linux): urk! lookup local fingerprint $fEqTokenDetails [cESf79 :-> (Span, 3bafa1c9fb27c5bcc8d6a0fca267f340)] Call stack: CallStack (from HasCallStack): callStackDoc, called at compiler/utils/Outputable.hs:1164:37 in ghc:Outputable pprPanic, called at compiler/iface/MkIface.hs:523:37 in ghc:MkIface Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug make[1]: *** [utils/haddock/ghc.mk:20: utils/haddock/dist/build/Haddock/Backends/Hyperlinker/Types.dyn_o] Error 1 make: *** [Makefile:127: all] Error 2 }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by trommler): * version: 8.4.3 => 8.5 * related: => #15399 Comment: Could this be related to #15399? You are on PowerPC 64-bit big endian, aren't you. I also built on a little endian machine and everything is fine there. Could this be an endianness issue. The code generated does not differ much in fact when I wrote both 64-bit backends endianness did not matter at all, only the C calling convention was different. I am setting the version number to 8.5 which is technically still incorrect but 8.6.1 alpha-2 is not on offer and this is as close as we get. I have started to look into #15399 and did some bisecting. I will add my findings there soon. BTW: Good to know that I am not the only one here running GHC on a big endian PowerPC 64-bit :-) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by trommler): * cc: trommler, bgamari, hvr (added) Comment: CCing @bgamari as this is a regression, @hvr for the AIX port and myself (for the PowerPC backend) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by admock): I am building on a big endian OS, which seems to be a cause of many problems. I also saw the issue in #15399 so it's possible that they're related. I have also started bisecting looking for the breaking commit and I'll post my results when I have it. I haven't really done any work on GHC but I'm happy to help if I can. It is good to see someone else cares about the PPC64 backend. I thought I'd have to figure this out on my own since it's big endian :) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by trommler): Perhaps we can coordinate our efforts. In #15399 I am currently bisecting between changeset:d78dde9 (good) and changeset:ec22f7dd (with changeset:bdfc85b applied to fix validate). A commit in that range broke quite a few GHCi tests on PPC64 but not PPC64le. I wonder if you could help bisect from changeset:bdfc85b (good) to HEAD of 8.6.1-alpha2 (bad) and either find a commit that fixed GHCi (if one exists) or find the commit that is responsible for the breakage reported in this ticket. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by admock): I found that c35ad6e0b3c62976e6251f1e9c47fe83ff15f4ce breaks the build for me. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

I found that c35ad6e0b3c62976e6251f1e9c47fe83ff15f4ce breaks the build for me. That is the commit updating libraries. We need to find the breaking
#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by trommler): Replying to [comment:5 admock]: library update and then bisect in that library. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

That is the commit updating libraries. We need to find the breaking
#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by trommler): Replying to [comment:6 trommler]: library update and then bisect in that library. I eyeballed some of the libraries and I will bisect in containers next. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: trommler Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by trommler): * owner: (none) => trommler -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: trommler Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by trommler): I confirmed that changeset:c35ad6e builds with the containers version bump reverted. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: trommler Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by admock): I bisected containers and the bad commit is cfb136731bc5c182e005b21a2dd857fd8c9694df. I looked at the diff but I don't see how it could cause this. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: trommler Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by trommler): Replying to [comment:10 admock]:
I bisected containers and the bad commit is cfb136731bc5c182e005b21a2dd857fd8c9694df. I looked at the diff but I don't see how it could cause this. Thanks. I had started bisection as well, but my PowerMac is quite slow :-(
I suspected that commit could be the culprit. Something in the implementation of an unboxed array could be endian sensitive. I think I saw some changes regarding unboxed arrays happen recently. But first I will have a look at changeset:ec22f7dd again, which is the commit that caused #15399 and that is only partially fixed. My plan is to cherry-pick cfb126 in containers and build at changeset:ec22f7dd and the previous commit. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: trommler Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by trommler): I patched GHC 8.6.1 to not use unboxed arrays in `containers` and that fixes the build. Perhaps we need to look for endian issues in `array` or in the RTS array primitives. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15411: urk! lookup local fingerprint -------------------------------------+------------------------------------- Reporter: admock | Owner: trommler Type: bug | Status: new Priority: normal | Milestone: 8.10.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: 15916 Related Tickets: #15399 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by trommler): * Attachment "Disable-unboxed-arrays.patch" added. Workaround so we can build GHC on PowerPC 64-bit big-endian. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15411 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC