
#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