[Haskell-cafe] ghc panic when compiling blaze-builder

José Romildo Malaquias j.romildo at gmail.com
Sat Nov 20 19:20:42 EST 2010


When compiling blaze-builder-0.2.0.1 with ghc-7.0.1 on my ~amd64 gentoo
system, I am getting the shown below.

Any clues?

Romildo


[...]
Building blaze-builder-0.2.0.1...
[1 of 8] Compiling Blaze.ByteString.Builder.Internal ( Blaze/ByteString/Builder/Internal.hs, dist/build/Blaze/ByteString/Builder/Internal.o )
ghc: panic! (the 'impossible' happened)
  (GHC version 7.0.1 for x86_64-unknown-linux):
	dsLet: unlifted
    AbsBinds
    [b{tv aUH} [sk]]
    []
    [pe{v axd} [lid] <= [b{tv aUH} [sk]] pe{v aUG} [lid]]
      pe{v axd} [lid]
        :: forall b{tv aUH} [sk]. base:GHC.Ptr.Ptr{tc 33A} b{tv aUH} [sk]
      [LclId]
      { {273:19-54}
        {273:19-54}
        !((pe{v aUG} [lid] :: base:GHC.Ptr.Ptr{tc 33A} b{tv aUH} [sk]))
          = {273:30-54}
            {273:33-41}
            (base:GHC.Ptr.plusPtr{v r4X} [gid]) @ base:GHC.Word.Word8{tc 32U}
            @ b{tv aUH} [sk]
              pf{v axc} [lid] firstBufSize{v arR} [lid] }
    EvBinds{{}}
    base:GHC.Base.>>={v 01P} [gid[ClassOp]]
      @ <nt>ghc-prim:GHC.Types.IO{tc 32I}
      $dMonad{v aUI} [lid]
      @ blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre}
      @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
      (step0{v arY} [lid]
         pf{v axc} [lid] (pe{v axd} [lid] @ base:GHC.Word.Word8{tc 32U}))
      (\ (next{v axT} [lid]
            :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre}) ->
         let {
           ds_d15b{v} [lid]
             :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre}
           [LclId]
           ds_d15b{v} [lid] = next{v axT} [lid] } in
         case ds_d15b{v} [lid] {ghc-prim:GHC.Types.IO{tc 32I}
                                  bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}}
         of (wild_B1{v} [lid]
               :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre}) {
           blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.Done{d rrk} (rb_d15l{v} [lid]
                                                                                  :: ghc-prim:GHC.Prim.Addr#{(w) tc 33}) ->
             let {
               pf'{v axU} [lid]
                 :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}
               [LclId]
               pf'{v axU} [lid] =
                 base:GHC.Ptr.Ptr{v rcP} [gid[DataCon]]
                   @ base:GHC.Word.Word8{tc 32U} rb_d15l{v} [lid] } in
             let {
               fail_d15c{v} [lid]
                 :: ghc-prim:GHC.Prim.State#{(w) tc 32q}
                      ghc-prim:GHC.Prim.RealWorld{(w) tc 31E}
                    -> ghc-prim:GHC.Types.IO{tc 32I}
                         bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
               [LclId]
               fail_d15c{v} [lid] =
                 \ (ds_d15d{v} [lid]
                      :: ghc-prim:GHC.Prim.State#{(w) tc 32q}
                           ghc-prim:GHC.Prim.RealWorld{(w) tc 31E}) ->
                   base:GHC.Base.${v 019} [gid]
                     @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
                     @ (ghc-prim:GHC.Types.IO{tc 32I}
                          bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                     (base:GHC.Base.return{v 01T} [gid[ClassOp]]
                        @ <nt>ghc-prim:GHC.Types.IO{tc 32I}
                        $dMonad{v aUN} [lid]
                        @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                     (bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.$WChunk{v reF} [gid[DataConWrapper]]
                        (mkbs{v axe} [lid] @ base:GHC.Word.Word8{tc 32U} pf'{v axU} [lid])
                        k{v arT} [lid]) } in
             case base:GHC.Classes.=={v 01L} [gid[ClassOp]]
                    @ (base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U})
                    $dEq{v aUK} [lid]
                    pf'{v axU} [lid]
                    pf{v axc} [lid] {ghc-prim:GHC.Types.IO{tc 32I}
                                       bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}}
             of (wild_B1{v} [lid] :: ghc-prim:GHC.Bool.Bool{(w) tc 3c}) {
               ghc-prim:GHC.Bool.False{(w) d 68} ->
                 fail_d15c{v} [lid] ghc-prim:GHC.Prim.realWorld#{(w) v 0o} [gid];
               ghc-prim:GHC.Bool.True{(w) d 6u} ->
                 base:GHC.Base.return{v 01T} [gid[ClassOp]]
                   @ <nt>ghc-prim:GHC.Types.IO{tc 32I}
                   $dMonad{v aUL} [lid]
                   @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
                   k{v arT} [lid]
             };
           blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BufferFull{d rri} (rb_d15n{v} [lid]
                                                                                        :: ghc-prim:GHC.Prim.Int#{(w) tc 3G})
                                                                                     (rb_d15o{v} [lid]
                                                                                        :: ghc-prim:GHC.Prim.Addr#{(w) tc 33})
                                                                                     (nextStep{v axX} [lid]
                                                                                        :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc rrc}) ->
             let {
               newSize{v axV} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J}
               [LclId]
               newSize{v axV} [lid] =
                 ghc-prim:GHC.Types.I#{(w) v 6d} [gid[DataCon]]
                   rb_d15n{v} [lid] } in
             let {
               pf'{v axW} [lid]
                 :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}
               [LclId]
               pf'{v axW} [lid] =
                 base:GHC.Ptr.Ptr{v rcP} [gid[DataCon]]
                   @ base:GHC.Word.Word8{tc 32U} rb_d15o{v} [lid] } in
             let {
               l{v aUP} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J}
               [LclId]
               l{v aUP} [lid] =
                 base:GHC.Ptr.minusPtr{v r4U} [gid]
                   @ base:GHC.Word.Word8{tc 32U}
                   @ base:GHC.Word.Word8{tc 32U}
                   pf'{v axW} [lid]
                   pf{v axc} [lid] } in
             case l{v aUP} [lid]
             {ghc-prim:GHC.Types.IO{tc 32I}
                bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}}
             of (l{v aUP} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J})
             { __DEFAULT ->
             let {
               l{v axY} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J}
               [LclId]
               l{v axY} [lid] = l{v aUP} [lid] } in
             base:GHC.Base.${v 019} [gid]
               @ blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc rrc}
               @ (ghc-prim:GHC.Types.IO{tc 32I}
                    bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
               (fillNewBuffer{v arW} [lid]
                  (base:GHC.Classes.max{v rG} [gid[ClassOp]]
                     @ ghc-prim:GHC.Types.Int{(w) tc 3J}
                     $dOrd{v aUQ} [lid]
                     (base:GHC.Num.+{v r24} [gid[ClassOp]]
                        @ ghc-prim:GHC.Types.Int{(w) tc 3J}
                        $dNum{v aY6} [lid]
                        l{v axY} [lid]
                        newSize{v axV} [lid])
                     minBufSize{v arQ} [lid]))
               (\ (pfNew{v axZ} [lid]
                     :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U})
                  (peNew{v ay0} [lid]
                     :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}) ->
                  base:GHC.Base.>>{v 01Q} [gid[ClassOp]]
                    @ <nt>ghc-prim:GHC.Types.IO{tc 32I}
                    $dMonad{v aY7} [lid]
                    @ ghc-prim:GHC.Unit.(){(w) tc 40}
                    @ blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rre}
                    (base:Foreign.Marshal.Utils.copyBytes{v r4c} [gid]
                       @ base:GHC.Word.Word8{tc 32U}
                       pfNew{v axZ} [lid]
                       pf{v axc} [lid]
                       l{v axY} [lid])
                    (nextStep{v axX} [lid]
                       (base:GHC.Ptr.plusPtr{v r4X} [gid]
                          @ base:GHC.Word.Word8{tc 32U}
                          @ base:GHC.Word.Word8{tc 32U}
                          pfNew{v axZ} [lid]
                          l{v axY} [lid])
                       peNew{v ay0} [lid]))
             };
           blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.ModifyChunks{d rrg} (rb_d15q{v} [lid]
                                                                                          :: ghc-prim:GHC.Prim.Addr#{(w) tc 33})
                                                                                       (bsk{v ay2} [lid]
                                                                                          :: bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
                                                                                             -> bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                                                                                       (nextStep{v ay3} [lid]
                                                                                          :: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc rrc}) ->
             let {
               pf'{v ay1} [lid]
                 :: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}
               [LclId]
               pf'{v ay1} [lid] =
                 base:GHC.Ptr.Ptr{v rcP} [gid[DataCon]]
                   @ base:GHC.Word.Word8{tc 32U} rb_d15q{v} [lid] } in
             let {
               fail_d15g{v} [lid]
                 :: ghc-prim:GHC.Prim.State#{(w) tc 32q}
                      ghc-prim:GHC.Prim.RealWorld{(w) tc 31E}
                    -> ghc-prim:GHC.Types.IO{tc 32I}
                         bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
               [LclId]
               fail_d15g{v} [lid] =
                 \ (ds_d15h{v} [lid]
                      :: ghc-prim:GHC.Prim.State#{(w) tc 32q}
                           ghc-prim:GHC.Prim.RealWorld{(w) tc 31E}) ->
                   base:GHC.Base.${v 019} [gid]
                     @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
                     @ (ghc-prim:GHC.Types.IO{tc 32I}
                          bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                     (base:GHC.Base.return{v 01T} [gid[ClassOp]]
                        @ <nt>ghc-prim:GHC.Types.IO{tc 32I}
                        $dMonad{v aYc} [lid]
                        @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                     (bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.$WChunk{v reF} [gid[DataConWrapper]]
                        (mkbs{v axe} [lid] @ base:GHC.Word.Word8{tc 32U} pf'{v ay1} [lid])
                        (bsk{v ay2} [lid]
                           (base:GHC.Base.${v 019} [gid]
                              @ (ghc-prim:GHC.Types.IO{tc 32I}
                                   bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                              @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
                              (bytestring-0.9.1.8:Data.ByteString.Internal.inlinePerformIO{v riV} [gid]
                                 @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                              (fillNewBuffer{v arW} [lid]
                                 bufSize{v arP} [lid] nextStep{v ay3} [lid])))) } in
             case base:GHC.Classes.=={v 01L} [gid[ClassOp]]
                    @ (base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U})
                    $dEq{v aY9} [lid]
                    pf'{v ay1} [lid]
                    pf{v axc} [lid] {ghc-prim:GHC.Types.IO{tc 32I}
                                       bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}}
             of (wild_B1{v} [lid] :: ghc-prim:GHC.Bool.Bool{(w) tc 3c}) {
               ghc-prim:GHC.Bool.False{(w) d 68} ->
                 fail_d15g{v} [lid] ghc-prim:GHC.Prim.realWorld#{(w) v 0o} [gid];
               ghc-prim:GHC.Bool.True{(w) d 6u} ->
                 base:GHC.Base.${v 019} [gid]
                   @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
                   @ (ghc-prim:GHC.Types.IO{tc 32I}
                        bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                   (base:GHC.Base.return{v 01T} [gid[ClassOp]]
                      @ <nt>ghc-prim:GHC.Types.IO{tc 32I}
                      $dMonad{v aYa} [lid]
                      @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                   (bsk{v ay2} [lid]
                      (base:GHC.Base.${v 019} [gid]
                         @ (ghc-prim:GHC.Types.IO{tc 32I}
                              bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                         @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5}
                         (bytestring-0.9.1.8:Data.ByteString.Internal.inlinePerformIO{v riV} [gid]
                            @ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rg5})
                         (fillNewBuffer{v arW} [lid]
                            bufSize{v arP} [lid] nextStep{v ay3} [lid])))
             }
         })



More information about the Haskell-Cafe mailing list