#4498: ghc 7.0.1 and 7.1.20101112+ panics building blaze-builder-0.2.0.1
---------------------------------+------------------------------------------
Reporter: awson | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.0.1 | Keywords:
Testcase: | Blockedby:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: Compile-time crash
---------------------------------+------------------------------------------
When building blaze-builder-0.2.0.1, ghc 7.0.1 (I've tried ghc
7.1.20101112 and 7.1.20101115 also) spits this:
{{{
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.exe: panic! (the 'impossible' happened)
(GHC version 7.0.1 for i386-unknown-mingw32):
dsLet: unlifted
AbsBinds
[b{tv aW1} [sk]]
[]
[pe{v ax5} [lid] <= [b{tv aW1} [sk]] pe{v aW0} [lid]]
pe{v ax5} [lid]
:: forall b{tv aW1} [sk]. base:GHC.Ptr.Ptr{tc 33A} b{tv aW1} [sk]
[LclId]
{ {273:19-54}
{273:19-54}
!((pe{v aW0} [lid] :: base:GHC.Ptr.Ptr{tc 33A} b{tv aW1} [sk]))
= {273:30-54}
{273:33-41}
(base:GHC.Ptr.plusPtr{v r4T} [gid]) @ base:GHC.Word.Word8{tc
32U}
@ b{tv aW1} [sk]
pf{v ax4} [lid] firstBufSize{v arJ} [lid] }
EvBinds{{}}
base:GHC.Base.>>={v 01P} [gid[ClassOp]]
@ <nt>ghc-prim:GHC.Types.IO{tc 32I}
$dMonad{v aW2} [lid]
@ blaze-
builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rr6}
@ bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc
rfX}
(step0{v arQ} [lid]
pf{v ax4} [lid] (pe{v ax5} [lid] @ base:GHC.Word.Word8{tc 32U}))
(\ (next{v axL} [lid]
:: blaze-
builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rr6}) ->
let {
ds_d16v{v} [lid]
:: blaze-
builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rr6}
[LclId]
ds_d16v{v} [lid] = next{v axL} [lid] } in
case ds_d16v{v} [lid] {ghc-prim:GHC.Types.IO{tc 32I}
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX}}
of (wild_B1{v} [lid]
:: blaze-
builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rr6}) {
blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.Done{d
rrc} (rb_d16F{v} [lid]
:: ghc-prim:GHC.Prim.Addr#{(w) tc 33}) ->
let {
pf'{v axM} [lid]
:: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}
[LclId]
pf'{v axM} [lid] =
base:GHC.Ptr.Ptr{v rcL} [gid[DataCon]]
@ base:GHC.Word.Word8{tc 32U} rb_d16F{v} [lid] } in
let {
fail_d16w{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 rfX}
[LclId]
fail_d16w{v} [lid] =
\ (ds_d16x{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 rfX}
@ (ghc-prim:GHC.Types.IO{tc 32I}
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(base:GHC.Base.return{v 01T} [gid[ClassOp]]
@ <nt>ghc-prim:GHC.Types.IO{tc 32I}
$dMonad{v aW7} [lid]
@
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.$WChunk{v reB}
[gid[DataConWrapper]]
(mkbs{v ax6} [lid] @ base:GHC.Word.Word8{tc 32U}
pf'{v axM} [lid])
k{v arL} [lid]) } in
case base:GHC.Classes.=={v 01L} [gid[ClassOp]]
@ (base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc
32U})
$dEq{v aW4} [lid]
pf'{v axM} [lid]
pf{v ax4} [lid] {ghc-prim:GHC.Types.IO{tc 32I}
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX}}
of (wild_B1{v} [lid] :: ghc-prim:GHC.Bool.Bool{(w) tc 3c}) {
ghc-prim:GHC.Bool.False{(w) d 68} ->
fail_d16w{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 aW5} [lid]
@
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX}
k{v arL} [lid]
};
blaze-
builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BufferFull{d rra}
(rb_d16H{v} [lid]
:: ghc-prim:GHC.Prim.Int#{(w) tc 3G})
(rb_d16I{v} [lid]
:: ghc-prim:GHC.Prim.Addr#{(w) tc 33})
(nextStep{v axP} [lid]
:: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc
rr4}) ->
let {
newSize{v axN} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J}
[LclId]
newSize{v axN} [lid] =
ghc-prim:GHC.Types.I#{(w) v 6d} [gid[DataCon]]
rb_d16H{v} [lid] } in
let {
pf'{v axO} [lid]
:: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}
[LclId]
pf'{v axO} [lid] =
base:GHC.Ptr.Ptr{v rcL} [gid[DataCon]]
@ base:GHC.Word.Word8{tc 32U} rb_d16I{v} [lid] } in
let {
l{v aW9} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J}
[LclId]
l{v aW9} [lid] =
base:GHC.Ptr.minusPtr{v r4Q} [gid]
@ base:GHC.Word.Word8{tc 32U}
@ base:GHC.Word.Word8{tc 32U}
pf'{v axO} [lid]
pf{v ax4} [lid] } in
case l{v aW9} [lid]
{ghc-prim:GHC.Types.IO{tc 32I}
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX}}
of (l{v aW9} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J})
{ __DEFAULT ->
let {
l{v axQ} [lid] :: ghc-prim:GHC.Types.Int{(w) tc 3J}
[LclId]
l{v axQ} [lid] = l{v aW9} [lid] } in
base:GHC.Base.${v 019} [gid]
@ blaze-
builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc rr4}
@ (ghc-prim:GHC.Types.IO{tc 32I}
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(fillNewBuffer{v arO} [lid]
(base:GHC.Classes.max{v rC} [gid[ClassOp]]
@ ghc-prim:GHC.Types.Int{(w) tc 3J}
$dOrd{v aWa} [lid]
(base:GHC.Num.+{v r20} [gid[ClassOp]]
@ ghc-prim:GHC.Types.Int{(w) tc 3J}
$dNum{v aZq} [lid]
l{v axQ} [lid]
newSize{v axN} [lid])
minBufSize{v arI} [lid]))
(\ (pfNew{v axR} [lid]
:: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc
32U})
(peNew{v axS} [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 aZr} [lid]
@ ghc-prim:GHC.Unit.(){(w) tc 40}
@ blaze-
builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildSignal{tc rr6}
(base:Foreign.Marshal.Utils.copyBytes{v r48} [gid]
@ base:GHC.Word.Word8{tc 32U}
pfNew{v axR} [lid]
pf{v ax4} [lid]
l{v axQ} [lid])
(nextStep{v axP} [lid]
(base:GHC.Ptr.plusPtr{v r4T} [gid]
@ base:GHC.Word.Word8{tc 32U}
@ base:GHC.Word.Word8{tc 32U}
pfNew{v axR} [lid]
l{v axQ} [lid])
peNew{v axS} [lid]))
};
blaze-
builder-0.2.0.1:Blaze.ByteString.Builder.Internal.ModifyChunks{d rr8}
(rb_d16K{v} [lid]
:: ghc-prim:GHC.Prim.Addr#{(w) tc 33})
(bsk{v axU} [lid]
:: bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX}
-> bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(nextStep{v axV} [lid]
:: blaze-builder-0.2.0.1:Blaze.ByteString.Builder.Internal.BuildStep{tc
rr4}) ->
let {
pf'{v axT} [lid]
:: base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc 32U}
[LclId]
pf'{v axT} [lid] =
base:GHC.Ptr.Ptr{v rcL} [gid[DataCon]]
@ base:GHC.Word.Word8{tc 32U} rb_d16K{v} [lid] } in
let {
fail_d16A{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 rfX}
[LclId]
fail_d16A{v} [lid] =
\ (ds_d16B{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 rfX}
@ (ghc-prim:GHC.Types.IO{tc 32I}
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(base:GHC.Base.return{v 01T} [gid[ClassOp]]
@ <nt>ghc-prim:GHC.Types.IO{tc 32I}
$dMonad{v aZw} [lid]
@
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.$WChunk{v reB}
[gid[DataConWrapper]]
(mkbs{v ax6} [lid] @ base:GHC.Word.Word8{tc 32U}
pf'{v axT} [lid])
(bsk{v axU} [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 rfX})
@
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX}
(bytestring-0.9.1.8:Data.ByteString.Internal.inlinePerformIO{v riN} [gid]
@
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(fillNewBuffer{v arO} [lid]
bufSize{v arH} [lid] nextStep{v axV}
[lid])))) } in
case base:GHC.Classes.=={v 01L} [gid[ClassOp]]
@ (base:GHC.Ptr.Ptr{tc 33A} base:GHC.Word.Word8{tc
32U})
$dEq{v aZt} [lid]
pf'{v axT} [lid]
pf{v ax4} [lid] {ghc-prim:GHC.Types.IO{tc 32I}
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX}}
of (wild_B1{v} [lid] :: ghc-prim:GHC.Bool.Bool{(w) tc 3c}) {
ghc-prim:GHC.Bool.False{(w) d 68} ->
fail_d16A{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 rfX}
@ (ghc-prim:GHC.Types.IO{tc 32I}
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(base:GHC.Base.return{v 01T} [gid[ClassOp]]
@ <nt>ghc-prim:GHC.Types.IO{tc 32I}
$dMonad{v aZu} [lid]
@
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(bsk{v axU} [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 rfX})
@
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX}
(bytestring-0.9.1.8:Data.ByteString.Internal.inlinePerformIO{v riN} [gid]
@
bytestring-0.9.1.8:Data.ByteString.Lazy.Internal.ByteString{tc rfX})
(fillNewBuffer{v arO} [lid]
bufSize{v arH} [lid] nextStep{v axV} [lid])))
}
})
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4498>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs