
thomas.hartman@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@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@linuxpt:~/installs/regexstuff/regex-newest/regex-tdfa>runghc Setup.hs configure Configuring regex-tdfa-0.93... hartthoma@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@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@linuxpt:~/installs/regexstuff/regex-newest/regex-tdfa>