[Haskell-cafe] Odd error report against ghc-6.8.1

ChrisK haskell at list.mightyreason.com
Fri Nov 9 18:03:05 EST 2007


thomas.hartman at db.com has sent me a new bug report.  Apparently he can crash
ghc-6.8.1 when compiling regex-tdfa-0.93 (darcs under
http://darcs.haskell.org/packages/regex-unstable/regex-tdfa/ ).

Should I open a ticket for this?

> 
> I darcs got the newest regex-tdfa (0.93 iirc) and made all the obvious changes involving LANGUAGE/OPTION_GHC pragmas to get this to work on ghc-6.8.1
> 
> prereq regex_base 0.93 installs ok
> regex-tdfa panics with
> 
> hartthoma at linuxpt:~/installs/regexstuff/regex-newest/regex-tdfa>runghc Setup.hs build
> Preprocessing library regex-tdfa-0.93...
> Building regex-tdfa-0.93...
> [ 1 of 21] Compiling Data.IntMap.CharMap ( Data/IntMap/CharMap.hs, dist/build/Data/IntMap/CharMap.o )
> 
> Data/IntMap/CharMap.hs:9:27:
>     Warning: Imported from `Data.Char' but not used: `chr'
> [ 2 of 21] Compiling Data.IntSet.EnumSet ( Data/IntSet/EnumSet.hs, dist/build/Data/IntSet/EnumSet.o )
> [ 3 of 21] Compiling Data.IntMap.EnumMap ( Data/IntMap/EnumMap.hs, dist/build/Data/IntMap/EnumMap.o )
> [ 4 of 21] Compiling Text.Regex.TDFA.IntArrTrieSet ( Text/Regex/TDFA/IntArrTrieSet.hs, dist/build/Text/Regex/TDFA/IntArrTrieSet.o )
> [ 5 of 21] Compiling Text.Regex.TDFA.Common ( Text/Regex/TDFA/Common.hs, dist/build/Text/Regex/TDFA/Common.o )
> [ 6 of 21] Compiling Text.Regex.TDFA.Pattern ( Text/Regex/TDFA/Pattern.hs, dist/build/Text/Regex/TDFA/Pattern.o )
> [ 7 of 21] Compiling Text.Regex.TDFA.ReadRegex ( Text/Regex/TDFA/ReadRegex.hs, dist/build/Text/Regex/TDFA/ReadRegex.o )
> [ 8 of 21] Compiling Text.Regex.TDFA.CorePattern ( Text/Regex/TDFA/CorePattern.hs, dist/build/Text/Regex/TDFA/CorePattern.o )
> ghc-6.8.1: panic! (the 'impossible' happened)
>   (GHC version 6.8.1 for i386-unknown-linux):
>         splitFunTy
>     <nt>mtl-1.1.0.0:Control.Monad.RWS.Lazy.RWS{tc rsRo}
>       (base:Data.Maybe.Maybe{tc r6}
>          regex-tdfa-0.93:Text.Regex.TDFA.Common.GroupIndex{tc raaa})
>       [base:Data.Either.Either{tc 344}
>          regex-tdfa-0.93:Text.Regex.TDFA.Common.Tag{tc raai}
>          regex-tdfa-0.93:Text.Regex.TDFA.Common.GroupInfo{tc raa4}]
>       ([regex-tdfa-0.93:Text.Regex.TDFA.Common.OP{tc raae}]
>        -> [regex-tdfa-0.93:Text.Regex.TDFA.Common.OP{tc raae}],
>        regex-tdfa-0.93:Text.Regex.TDFA.Common.Tag{tc raai})
>       (base:GHC.Prim.Any{(w) tc 31N},
>        [regex-tdfa-0.93:Text.Regex.TDFA.Common.Tag{tc raai}])
> 
> Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Note that "Text.Regex.TDFA.Common.Tag" is "type Tag = Int" and compiling the
CorePattern.hs file works fine under ghc-6.6.1.  The only unusual thing in
CorePattern is the use of "mdo" recursive-do syntax.

His message continues with the steps he used, and the minimal patch that got it
from ghc-6.6.1 to ghc-6.8.1 :


> 
> hartthoma at linuxpt:~/installs/regexstuff/regex-newest/regex-tdfa>runghc Setup.hs configure
> Configuring regex-tdfa-0.93...
> hartthoma at linuxpt:~/installs/regexstuff/regex-newest/regex-tdfa>runghc Setup.hs build
> Preprocessing library regex-tdfa-0.93...
> Building regex-tdfa-0.93...
> 
> Text/Regex/TDFA/MutRunBS.hs:12:17:
>     Could not find module `Data.ByteString.Base':
>       Use -v to see a list of the files searched for.
> hartthoma at linuxpt:~/installs/regexstuff/regex-newest/regex-tdfa>darcs whatsnew
> {
> hunk ./Text/Regex/TDFA/CorePattern.hs 1
> +{-# OPTIONS_GHC -XRecursiveDo #-}
> hunk ./Text/Regex/TDFA/RunMutState.hs 1
> -{-# LANGUAGE CPP #-}
> +{-# OPTIONS_GHC -fglasgow-exts -XCPP #-}
> +
> hunk ./regex-tdfa.cabal 16
> -Build-Depends:          regex-base >= 0.80, base >= 2.0, parsec, mtl
> +Build-Depends:          regex-base >= 0.80, base >= 2.0, parsec, mtl, containers, array, bytestring
> hunk ./regex-tdfa.cabal 45
> -GHC-Options:            -Wall -Werror -O2 -funbox-strict-fields
> +GHC-Options:            -Wall -Wwarn -O2 -funbox-strict-fields
> }
> hartthoma at linuxpt:~/installs/regexstuff/regex-newest/regex-tdfa>
> 
> 



More information about the Haskell-Cafe mailing list