[GHC] #13033: GHC Panics with "colorGraph: trivially colorable nodes didn't color!" on PPC
GHC
ghc-devs at haskell.org
Fri Dec 23 22:12:22 UTC 2016
#13033: GHC Panics with "colorGraph: trivially colorable nodes didn't color!" on
PPC
-------------------------------------+-------------------------------------
Reporter: hvr | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.0.2
Component: Compiler | Version: 8.0.2-rc2
Keywords: | Operating System: AIX
Architecture: powerpc | Type of failure: Compile-time
| crash or panic
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
I was finally able to build GHC 8.0.2rc2 (or rather,
c5f375c53671130c79713800b13a1da53d070b84 + 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
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13033>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list