GHC Panics with "colorGraph: trivially colorable nodes didn't color!" on PPC
I was finally able to build GHC 8.0.2rc2 (or rather, c5f375c5 + a minor buildsys fix) on AIX/PPC; most packages seem to work as they did with GHC 8.0.1, however, unordered-containers
now panics with:
$ cabal get unordered-containers && cd unordered-containers-0.2.7.1/
$ cabal new-build -j1
Resolving dependencies...
In order, the following will be built (use -v for more details):
- unordered-containers-0.2.7.1 (lib) (first run)
Configuring component lib from unordered-containers-0.2.7.1...
Preprocessing library unordered-containers-0.2.7.1...
[1 of 8] Compiling Data.HashMap.UnsafeShift ( Data/HashMap/UnsafeShift.hs, /home/hvr/unordered-containers-0.2.7.1/dist-newstyle/build/ppc-aix/ghc-8.0.1.20161223/unordered-containers-0.2.7.1/build/Data/HashMap/UnsafeShift.o )
[2 of 8] Compiling Data.HashMap.Unsafe ( Data/HashMap/Unsafe.hs, /home/hvr/unordered-containers-0.2.7.1/dist-newstyle/build/ppc-aix/ghc-8.0.1.20161223/unordered-containers-0.2.7.1/build/Data/HashMap/Unsafe.o )
[3 of 8] Compiling Data.HashMap.PopCount ( Data/HashMap/PopCount.hs, /home/hvr/unordered-containers-0.2.7.1/dist-newstyle/build/ppc-aix/ghc-8.0.1.20161223/unordered-containers-0.2.7.1/build/Data/HashMap/PopCount.o )
[4 of 8] Compiling Data.HashMap.Array ( Data/HashMap/Array.hs, /home/hvr/unordered-containers-0.2.7.1/dist-newstyle/build/ppc-aix/ghc-8.0.1.20161223/unordered-containers-0.2.7.1/build/Data/HashMap/Array.o )
[5 of 8] Compiling Data.HashMap.Base ( Data/HashMap/Base.hs, /home/hvr/unordered-containers-0.2.7.1/dist-newstyle/build/ppc-aix/ghc-8.0.1.20161223/unordered-containers-0.2.7.1/build/Data/HashMap/Base.o )
ghc: panic! (the 'impossible' happened)
(GHC version 8.0.1.20161223 for powerpc-ibm-aix):
colorGraph: trivially colorable nodes didn't color!
ksTriv = [%vHi_HCRu, %vHi_HCRA, %vI_nGN7, %vI_nGNh, %vI_sCRp,
%vI_sCRr, %vHi_HCRt, %vHi_HGNi, %vHi_HGNj, %vI_nGN3, %vI_nGN4,
%vI_nGN5, %vI_nGN6, %vI_nGN8, %vI_nGN9, %vI_nGNa, %vI_nGNb,
%vI_nGNc, %vI_nGNd, %vI_nGNe, %vI_nGNf, %vI_nGNi, %vI_nGNj,
%vI_nGNk, %vI_nGNl, %vI_nGNm, %vI_nGNn, %vI_nGNo, %vI_nGNp,
%vI_nGNq, %vI_nGNr, %vI_nGNs, %vI_nGNt, %vI_sCRH, %vI_sCRM]
ksNoTriv = [%vI_sCRr]
colors = [L0 :-> [R3 :-> %r3, R4 :-> %r4, R5 :-> %r5,
R6 :-> %r6, R7 :-> %r7, R8 :-> %r8, R9 :-> %r9, Ra :-> %r10,
Rb :-> %r11, Rc :-> %r12, Rn :-> %r23, Rq :-> %r26, Rs :-> %r28,
Rt :-> %r29, Rv :-> %r31],
L2 :-> [Rw :-> %r32, Rx :-> %r33, Ry :-> %r34, Rz :-> %r35,
RA :-> %r36, RB :-> %r37, RC :-> %r38, RD :-> %r39, RE :-> %r40,
RF :-> %r41, RG :-> %r42, RH :-> %r43, RI :-> %r44, RJ :-> %r45,
RQ :-> %r52, RR :-> %r53, RS :-> %r54, RT :-> %r55, RU :-> %r56,
RV :-> %r57, RW :-> %r58, RX :-> %r59, RY :-> %r60, RZ :-> %r61,
R10 :-> %r62, R11 :-> %r63]]
graph G {
node [label="%vHi_HCRt :: I\n(%r3)" style=filled fillcolor="white"] "%vHi_HCRt";
node [label="%vHi_HCRu :: I\n-%r3 -%r4 -%r5 -%r6 -%r7 -%r8 -%r9 -%r10 -%r11 -%r12 -%r32 -%r33 -%r34 -%r35 -%r36 -%r37 -%r38 -%r39 -%r40 -%r41 -%r42 -%r43 -%r44 -%r45 +%r3\n(%r23)" style=filled fillcolor="white"] "%vHi_HCRu";
node [label="%vHi_HCRA :: I\n-%r3 -%r4 -%r5 -%r6 -%r7 -%r8 -%r9 -%r10 -%r11 -%r12 -%r32 -%r33 -%r34 -%r35 -%r36 -%r37 -%r38 -%r39 -%r40 -%r41 -%r42 -%r43 -%r44 -%r45 +%r5\n(%r26)" style=filled fillcolor="white"] "%vHi_HCRA";
node [label="%vHi_HGNi :: I\n+%r3\n(%r3)" style=filled fillcolor="white"] "%vHi_HGNi";
node [label="%vHi_HGNj :: I\n-%r3 -%r4 +%r5\n(%r5)" style=filled fillcolor="white"] "%vHi_HGNj";
node [label="%vI_nGN3 :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGN3";
node [label="%vI_nGN4 :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGN4";
node [label="%vI_nGN5 :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGN5";
node [label="%vI_nGN6 :: I\n(%r4)" style=filled fillcolor="white"] "%vI_nGN6";
node [label="%vI_nGN7 :: I\n-%r3 -%r4 -%r5 -%r6 -%r7 -%r8 -%r9 -%r10 -%r11 -%r12 -%r32 -%r33 -%r34 -%r35 -%r36 -%r37 -%r38 -%r39 -%r40 -%r41 -%r42 -%r43 -%r44 -%r45 +%r4\n(%r28)" style=filled fillcolor="white"] "%vI_nGN7";
node [label="%vI_nGN8 :: I\n(%r5)" style=filled fillcolor="white"] "%vI_nGN8";
node [label="%vI_nGN9 :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGN9";
node [label="%vI_nGNa :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNa";
node [label="%vI_nGNb :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNb";
node [label="%vI_nGNc :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNc";
node [label="%vI_nGNd :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNd";
node [label="%vI_nGNe :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNe";
node [label="%vI_nGNf :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNf";
node [label="%vI_nGNh :: I\n-%r3 -%r4 -%r5 -%r6 -%r7 -%r8 -%r9 -%r10 -%r11 -%r12 -%r32 -%r33 -%r34 -%r35 -%r36 -%r37 -%r38 -%r39 -%r40 -%r41 -%r42 -%r43 -%r44 -%r45 +%r6\n(%r29)" style=filled fillcolor="white"] "%vI_nGNh";
node [label="%vI_nGNi :: I\n-%r3 +%r4\n(%r4)" style=filled fillcolor="white"] "%vI_nGNi";
node [label="%vI_nGNj :: I\n-%r3 -%r4 -%r5 +%r6\n(%r6)" style=filled fillcolor="white"] "%vI_nGNj";
node [label="%vI_nGNk :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNk";
node [label="%vI_nGNl :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNl";
node [label="%vI_nGNm :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNm";
node [label="%vI_nGNn :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNn";
node [label="%vI_nGNo :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNo";
node [label="%vI_nGNp :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNp";
node [label="%vI_nGNq :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNq";
node [label="%vI_nGNr :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNr";
node [label="%vI_nGNs :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNs";
node [label="%vI_nGNt :: I\n(%r3)" style=filled fillcolor="white"] "%vI_nGNt";
node [label="%vI_sCRo :: I\n-%r3 -%r4 -%r5 -%r6 -%r7 -%r8 -%r9 -%r10 -%r11 -%r12 -%r32 -%r33 -%r34 -%r35 -%r36 -%r37 -%r38 -%r39 -%r40 -%r41 -%r42 -%r43 -%r44 -%r45\n(spill?)" style=filled fillcolor=white] "%vI_sCRo";
node [label="%vI_sCRp :: I\n-%r3 -%r4 -%r5 -%r6 -%r7 -%r8 -%r9 -%r10 -%r11 -%r12 -%r32 -%r33 -%r34 -%r35 -%r36 -%r37 -%r38 -%r39 -%r40 -%r41 -%r42 -%r43 -%r44 -%r45\n(%r31)" style=filled fillcolor="white"] "%vI_sCRp";
node [label="%vI_sCRr :: I\n-%r3 -%r4 -%r5 -%r6 -%r7 -%r8 -%r9 -%r10 -%r11 -%r12 -%r32 -%r33 -%r34 -%r35 -%r36 -%r37 -%r38 -%r39 -%r40 -%r41 -%r42 -%r43 -%r44 -%r45\n(spill?)" style=filled fillcolor=white] "%vI_sCRr";
node [label="%vI_sCRH :: I\n+%r3\n(%r3)" style=filled fillcolor="white"] "%vI_sCRH";
node [label="%vI_sCRM :: I\n+%r3\n(%r3)" style=filled fillcolor="white"] "%vI_sCRM";
"%vHi_HCRt" -- "%vHi_HCRu";
"%vHi_HCRt" -- "%vI_nGN6";
"%vHi_HCRt" -- "%vI_nGN7";
"%vHi_HCRt" -- "%vI_nGN8";
"%vHi_HCRu" -- "%vHi_HCRA";
"%vHi_HCRu" -- "%vHi_HGNi";
"%vHi_HCRu" -- "%vHi_HGNj";
"%vHi_HCRu" -- "%vI_nGN6";
"%vHi_HCRu" -- "%vI_nGN7";
"%vHi_HCRu" -- "%vI_nGN8";
"%vHi_HCRu" -- "%vI_nGNh";
"%vHi_HCRu" -- "%vI_nGNi";
"%vHi_HCRu" -- "%vI_nGNj";
"%vHi_HCRu" -- "%vI_sCRo";
"%vHi_HCRu" -- "%vI_sCRp";
"%vHi_HCRu" -- "%vI_sCRr";
"%vHi_HCRu" -- "%vI_sCRH";
"%vHi_HCRA" -- "%vHi_HGNi";
"%vHi_HCRA" -- "%vHi_HGNj";
"%vHi_HCRA" -- "%vI_nGN7";
"%vHi_HCRA" -- "%vI_nGNh";
"%vHi_HCRA" -- "%vI_nGNi";
"%vHi_HCRA" -- "%vI_nGNj";
"%vHi_HCRA" -- "%vI_sCRo";
"%vHi_HCRA" -- "%vI_sCRp";
"%vHi_HCRA" -- "%vI_sCRr";
"%vHi_HCRA" -- "%vI_sCRH";
"%vHi_HGNi" -- "%vI_nGN7";
"%vHi_HGNi" -- "%vI_nGNh";
"%vHi_HGNi" -- "%vI_nGNi";
"%vHi_HGNi" -- "%vI_sCRo";
"%vHi_HGNi" -- "%vI_sCRp";
"%vHi_HGNi" -- "%vI_sCRr";
"%vHi_HGNj" -- "%vI_nGN7";
"%vHi_HGNj" -- "%vI_nGNh";
"%vHi_HGNj" -- "%vI_nGNj";
"%vHi_HGNj" -- "%vI_sCRo";
"%vHi_HGNj" -- "%vI_sCRp";
"%vHi_HGNj" -- "%vI_sCRr";
"%vI_nGN6" -- "%vI_nGN7";
"%vI_nGN6" -- "%vI_nGN8";
"%vI_nGN7" -- "%vI_nGN8";
"%vI_nGN7" -- "%vI_nGNh";
"%vI_nGN7" -- "%vI_nGNi";
"%vI_nGN7" -- "%vI_nGNj";
"%vI_nGN7" -- "%vI_sCRo";
"%vI_nGN7" -- "%vI_sCRp";
"%vI_nGN7" -- "%vI_sCRr";
"%vI_nGN7" -- "%vI_sCRH";
"%vI_nGNh" -- "%vI_nGNi";
"%vI_nGNh" -- "%vI_nGNj";
"%vI_nGNh" -- "%vI_sCRo";
"%vI_nGNh" -- "%vI_sCRp";
"%vI_nGNh" -- "%vI_sCRr";
"%vI_nGNh" -- "%vI_sCRH";
"%vI_nGNi" -- "%vI_sCRo";
"%vI_nGNi" -- "%vI_sCRp";
"%vI_nGNi" -- "%vI_sCRr";
"%vI_nGNj" -- "%vI_sCRo";
"%vI_nGNj" -- "%vI_sCRp";
"%vI_nGNj" -- "%vI_sCRr";
"%vI_nGNo" -- "%vI_sCRo";
"%vI_nGNo" -- "%vI_sCRp";
"%vI_nGNo" -- "%vI_sCRr";
"%vI_nGNp" -- "%vI_sCRo";
"%vI_nGNp" -- "%vI_sCRp";
"%vI_nGNp" -- "%vI_sCRr";
"%vI_sCRo" -- "%vI_sCRp";
"%vI_sCRo" -- "%vI_sCRr";
"%vI_sCRo" -- "%vI_sCRH";
"%vI_sCRo" -- "%vI_sCRM";
"%vI_sCRp" -- "%vI_sCRr";
"%vI_sCRp" -- "%vI_sCRH";
"%vI_sCRp" -- "%vI_sCRM";
"%vI_sCRr" -- "%vI_sCRH";
"%vI_sCRr" -- "%vI_sCRM";
}
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.2-rc2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | ptrommler |
Operating system | |
Architecture |