[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