GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2019-07-07T18:51:06Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/7153GHC crashes with "(Array.!): undefined array element" while building2019-07-07T18:51:06ZtibbeGHC crashes with "(Array.!): undefined array element" while buildingI switched my build bot to use 7.6.1-rc1 today and the Cabal build failed with an error in GHC:
```
Started by an SCM change
Building in workspace /var/lib/jenkins/workspace/cabal
Checkout:cabal / /var/lib/jenkins/workspace/cabal - huds...I switched my build bot to use 7.6.1-rc1 today and the Cabal build failed with an error in GHC:
```
Started by an SCM change
Building in workspace /var/lib/jenkins/workspace/cabal
Checkout:cabal / /var/lib/jenkins/workspace/cabal - hudson.remoting.LocalChannel@1ada1e0
Using strategy: Default
Last Built Revision: Revision b1bc9417d696fb145fc5bbc252ecac594c23e6f1 (origin/master)
Fetching changes from 1 remote Git repository
Fetching upstream changes from https://github.com/haskell/cabal.git
Commencing build of Revision 698ec39fc520298221b8f45fbe5b05927de26558 (origin/master)
Checking out Revision 698ec39fc520298221b8f45fbe5b05927de26558 (origin/master)
[cabal] $ /bin/sh -xe /tmp/hudson2234053132228099538.sh
+ cd Cabal
+ cabal install --only-dependencies --enable-tests
Resolving dependencies...
All the requested packages are already installed:
Use --reinstall if you want to reinstall anyway.
+ cabal clean
cleaning...
+ cabal configure --enable-tests --ghc-option=+RTS --ghc-option=-M300m --ghc-option=-RTS
Resolving dependencies...
[ 1 of 65] Compiling Distribution.Compat.Exception ( Distribution/Compat/Exception.hs, dist/setup/Distribution/Compat/Exception.o )
[ 2 of 65] Compiling Distribution.Compat.TempFile ( Distribution/Compat/TempFile.hs, dist/setup/Distribution/Compat/TempFile.o )
[ 3 of 65] Compiling Distribution.Compat.CopyFile ( Distribution/Compat/CopyFile.hs, dist/setup/Distribution/Compat/CopyFile.o )
[ 4 of 65] Compiling Distribution.GetOpt ( Distribution/GetOpt.hs, dist/setup/Distribution/GetOpt.o )
[ 5 of 65] Compiling Distribution.Compat.ReadP ( Distribution/Compat/ReadP.hs, dist/setup/Distribution/Compat/ReadP.o )
[ 6 of 65] Compiling Distribution.Text ( Distribution/Text.hs, dist/setup/Distribution/Text.o )
[ 7 of 65] Compiling Distribution.Version ( Distribution/Version.hs, dist/setup/Distribution/Version.o )
[ 8 of 65] Compiling Language.Haskell.Extension ( Language/Haskell/Extension.hs, dist/setup/Language/Haskell/Extension.o )
[ 9 of 65] Compiling Distribution.TestSuite ( Distribution/TestSuite.hs, dist/setup/Distribution/TestSuite.o )
[10 of 65] Compiling Distribution.System ( Distribution/System.hs, dist/setup/Distribution/System.o )
[11 of 65] Compiling Distribution.Simple.PreProcess.Unlit ( Distribution/Simple/PreProcess/Unlit.hs, dist/setup/Distribution/Simple/PreProcess/Unlit.o )
[12 of 65] Compiling Distribution.ReadE ( Distribution/ReadE.hs, dist/setup/Distribution/ReadE.o )
[13 of 65] Compiling Distribution.Verbosity ( Distribution/Verbosity.hs, dist/setup/Distribution/Verbosity.o )
[14 of 65] Compiling Distribution.Package ( Distribution/Package.hs, dist/setup/Distribution/Package.o )
[15 of 65] Compiling Distribution.ModuleName ( Distribution/ModuleName.hs, dist/setup/Distribution/ModuleName.o )
[16 of 65] Compiling Distribution.Simple.Utils ( Distribution/Simple/Utils.hs, dist/setup/Distribution/Simple/Utils.o )
[17 of 65] Compiling Distribution.Simple.Program.Types ( Distribution/Simple/Program/Types.hs, dist/setup/Distribution/Simple/Program/Types.o )
[18 of 65] Compiling Distribution.Simple.Program.Builtin ( Distribution/Simple/Program/Builtin.hs, dist/setup/Distribution/Simple/Program/Builtin.o )
[19 of 65] Compiling Distribution.Simple.Program.Db ( Distribution/Simple/Program/Db.hs, dist/setup/Distribution/Simple/Program/Db.o )
[20 of 65] Compiling Distribution.Simple.Program.Run ( Distribution/Simple/Program/Run.hs, dist/setup/Distribution/Simple/Program/Run.o )
[21 of 65] Compiling Distribution.Simple.Program ( Distribution/Simple/Program.hs, dist/setup/Distribution/Simple/Program.o )
[22 of 65] Compiling Distribution.Simple.Program.Ar ( Distribution/Simple/Program/Ar.hs, dist/setup/Distribution/Simple/Program/Ar.o )
[23 of 65] Compiling Distribution.Simple.Program.Hpc ( Distribution/Simple/Program/Hpc.hs, dist/setup/Distribution/Simple/Program/Hpc.o )
[24 of 65] Compiling Distribution.Simple.Program.Ld ( Distribution/Simple/Program/Ld.hs, dist/setup/Distribution/Simple/Program/Ld.o )
[25 of 65] Compiling Distribution.Simple.Program.Script ( Distribution/Simple/Program/Script.hs, dist/setup/Distribution/Simple/Program/Script.o )
[26 of 65] Compiling Distribution.License ( Distribution/License.hs, dist/setup/Distribution/License.o )
[27 of 65] Compiling Distribution.Compiler ( Distribution/Compiler.hs, dist/setup/Distribution/Compiler.o )
[28 of 65] Compiling Distribution.PackageDescription ( Distribution/PackageDescription.hs, dist/setup/Distribution/PackageDescription.o )
[29 of 65] Compiling Distribution.PackageDescription.Configuration ( Distribution/PackageDescription/Configuration.hs, dist/setup/Distribution/PackageDescription/Configuration.o )
[30 of 65] Compiling Distribution.PackageDescription.Check ( Distribution/PackageDescription/Check.hs, dist/setup/Distribution/PackageDescription/Check.o )
[31 of 65] Compiling Distribution.ParseUtils ( Distribution/ParseUtils.hs, dist/setup/Distribution/ParseUtils.o )
[32 of 65] Compiling Distribution.InstalledPackageInfo ( Distribution/InstalledPackageInfo.hs, dist/setup/Distribution/InstalledPackageInfo.o )
[33 of 65] Compiling Distribution.Simple.PackageIndex ( Distribution/Simple/PackageIndex.hs, dist/setup/Distribution/Simple/PackageIndex.o )
[34 of 65] Compiling Distribution.Simple.GHC.IPI642 ( Distribution/Simple/GHC/IPI642.hs, dist/setup/Distribution/Simple/GHC/IPI642.o )
[35 of 65] Compiling Distribution.Simple.GHC.IPI641 ( Distribution/Simple/GHC/IPI641.hs, dist/setup/Distribution/Simple/GHC/IPI641.o )
[36 of 65] Compiling Distribution.PackageDescription.Parse ( Distribution/PackageDescription/Parse.hs, dist/setup/Distribution/PackageDescription/Parse.o )
[37 of 65] Compiling Distribution.Simple.Command ( Distribution/Simple/Command.hs, dist/setup/Distribution/Simple/Command.o )
[38 of 65] Compiling Distribution.Simple.Compiler ( Distribution/Simple/Compiler.hs, dist/setup/Distribution/Simple/Compiler.o )
[39 of 65] Compiling Distribution.Simple.Program.HcPkg ( Distribution/Simple/Program/HcPkg.hs, dist/setup/Distribution/Simple/Program/HcPkg.o )
[40 of 65] Compiling Distribution.Simple.InstallDirs ( Distribution/Simple/InstallDirs.hs, dist/setup/Distribution/Simple/InstallDirs.o )
[41 of 65] Compiling Distribution.Simple.Setup ( Distribution/Simple/Setup.hs, dist/setup/Distribution/Simple/Setup.o )
[42 of 65] Compiling Distribution.Simple.LocalBuildInfo ( Distribution/Simple/LocalBuildInfo.hs, dist/setup/Distribution/Simple/LocalBuildInfo.o )
[43 of 65] Compiling Distribution.Simple.Build.Macros ( Distribution/Simple/Build/Macros.hs, dist/setup/Distribution/Simple/Build/Macros.o )
[44 of 65] Compiling Distribution.Simple.BuildPaths ( Distribution/Simple/BuildPaths.hs, dist/setup/Distribution/Simple/BuildPaths.o )
[45 of 65] Compiling Distribution.Simple.Build.PathsModule ( Distribution/Simple/Build/PathsModule.hs, dist/setup/Distribution/Simple/Build/PathsModule.o )
[46 of 65] Compiling Distribution.Simple.LHC ( Distribution/Simple/LHC.hs, dist/setup/Distribution/Simple/LHC.o )
[47 of 65] Compiling Distribution.Simple.Hpc ( Distribution/Simple/Hpc.hs, dist/setup/Distribution/Simple/Hpc.o )
[48 of 65] Compiling Distribution.Simple.JHC ( Distribution/Simple/JHC.hs, dist/setup/Distribution/Simple/JHC.o )
[49 of 65] Compiling Distribution.Simple.NHC ( Distribution/Simple/NHC.hs, dist/setup/Distribution/Simple/NHC.o )
[50 of 65] Compiling Distribution.Simple.UHC ( Distribution/Simple/UHC.hs, dist/setup/Distribution/Simple/UHC.o )
[51 of 65] Compiling Distribution.Simple.Program.GHC ( Distribution/Simple/Program/GHC.hs, dist/setup/Distribution/Simple/Program/GHC.o )
[52 of 65] Compiling Distribution.Simple.GHC ( Distribution/Simple/GHC.hs, dist/setup/Distribution/Simple/GHC.o )
[53 of 65] Compiling Distribution.Simple.Test ( Distribution/Simple/Test.hs, dist/setup/Distribution/Simple/Test.o )
[54 of 65] Compiling Distribution.Simple.PreProcess ( Distribution/Simple/PreProcess.hs, dist/setup/Distribution/Simple/PreProcess.o )
[55 of 65] Compiling Distribution.Simple.Hugs ( Distribution/Simple/Hugs.hs, dist/setup/Distribution/Simple/Hugs.o )
[56 of 65] Compiling Distribution.Simple.Configure ( Distribution/Simple/Configure.hs, dist/setup/Distribution/Simple/Configure.o )
[57 of 65] Compiling Distribution.Simple.Install ( Distribution/Simple/Install.hs, dist/setup/Distribution/Simple/Install.o )
[58 of 65] Compiling Distribution.Simple.Register ( Distribution/Simple/Register.hs, dist/setup/Distribution/Simple/Register.o )
[59 of 65] Compiling Distribution.Simple.Build ( Distribution/Simple/Build.hs, dist/setup/Distribution/Simple/Build.o )
[60 of 65] Compiling Distribution.Simple.Haddock ( Distribution/Simple/Haddock.hs, dist/setup/Distribution/Simple/Haddock.o )
[61 of 65] Compiling Distribution.Simple.SrcDist ( Distribution/Simple/SrcDist.hs, dist/setup/Distribution/Simple/SrcDist.o )
[62 of 65] Compiling Distribution.Simple.UserHooks ( Distribution/Simple/UserHooks.hs, dist/setup/Distribution/Simple/UserHooks.o )
[63 of 65] Compiling Distribution.Simple.Bench ( Distribution/Simple/Bench.hs, dist/setup/Distribution/Simple/Bench.o )
[64 of 65] Compiling Distribution.Simple ( Distribution/Simple.hs, dist/setup/Distribution/Simple.o )
[65 of 65] Compiling Main ( Setup.hs, dist/setup/Main.o )
Linking ./dist/setup/setup ...
Configuring Cabal-1.17.0...
+ cabal build
Building Cabal-1.17.0...
Preprocessing library Cabal-1.17.0...
[ 1 of 67] Compiling Paths_Cabal ( dist/build/autogen/Paths_Cabal.hs, dist/build/Paths_Cabal.o )
[ 2 of 67] Compiling Distribution.TestSuite ( Distribution/TestSuite.hs, dist/build/Distribution/TestSuite.o )
[ 3 of 67] Compiling Distribution.Simple.PreProcess.Unlit ( Distribution/Simple/PreProcess/Unlit.hs, dist/build/Distribution/Simple/PreProcess/Unlit.o )
[ 4 of 67] Compiling Distribution.GetOpt ( Distribution/GetOpt.hs, dist/build/Distribution/GetOpt.o )
[ 5 of 67] Compiling Distribution.Compat.Exception ( Distribution/Compat/Exception.hs, dist/build/Distribution/Compat/Exception.o )
[ 6 of 67] Compiling Distribution.Compat.TempFile ( Distribution/Compat/TempFile.hs, dist/build/Distribution/Compat/TempFile.o )
[ 7 of 67] Compiling Distribution.Compat.CopyFile ( Distribution/Compat/CopyFile.hs, dist/build/Distribution/Compat/CopyFile.o )
[ 8 of 67] Compiling Distribution.Compat.ReadP ( Distribution/Compat/ReadP.hs, dist/build/Distribution/Compat/ReadP.o )
[ 9 of 67] Compiling Distribution.ReadE ( Distribution/ReadE.hs, dist/build/Distribution/ReadE.o )
[10 of 67] Compiling Distribution.Verbosity ( Distribution/Verbosity.hs, dist/build/Distribution/Verbosity.o )
[11 of 67] Compiling Distribution.Text ( Distribution/Text.hs, dist/build/Distribution/Text.o )
[12 of 67] Compiling Distribution.ModuleName ( Distribution/ModuleName.hs, dist/build/Distribution/ModuleName.o )
[13 of 67] Compiling Distribution.System ( Distribution/System.hs, dist/build/Distribution/System.o )
[14 of 67] Compiling Language.Haskell.Extension ( Language/Haskell/Extension.hs, dist/build/Language/Haskell/Extension.o )
[15 of 67] Compiling Distribution.Version ( Distribution/Version.hs, dist/build/Distribution/Version.o )
[16 of 67] Compiling Distribution.License ( Distribution/License.hs, dist/build/Distribution/License.o )
[17 of 67] Compiling Distribution.Package ( Distribution/Package.hs, dist/build/Distribution/Package.o )
[18 of 67] Compiling Distribution.Simple.Utils ( Distribution/Simple/Utils.hs, dist/build/Distribution/Simple/Utils.o )
[19 of 67] Compiling Distribution.Simple.Program.Types ( Distribution/Simple/Program/Types.hs, dist/build/Distribution/Simple/Program/Types.o )
[20 of 67] Compiling Distribution.Simple.Program.Run ( Distribution/Simple/Program/Run.hs, dist/build/Distribution/Simple/Program/Run.o )
[21 of 67] Compiling Distribution.Simple.Program.Ar ( Distribution/Simple/Program/Ar.hs, dist/build/Distribution/Simple/Program/Ar.o )
[22 of 67] Compiling Distribution.Simple.Program.Ld ( Distribution/Simple/Program/Ld.hs, dist/build/Distribution/Simple/Program/Ld.o )
[23 of 67] Compiling Distribution.Simple.Program.Hpc ( Distribution/Simple/Program/Hpc.hs, dist/build/Distribution/Simple/Program/Hpc.o )
[24 of 67] Compiling Distribution.Simple.Program.Script ( Distribution/Simple/Program/Script.hs, dist/build/Distribution/Simple/Program/Script.o )
[25 of 67] Compiling Distribution.Simple.Program.Builtin ( Distribution/Simple/Program/Builtin.hs, dist/build/Distribution/Simple/Program/Builtin.o )
[26 of 67] Compiling Distribution.Simple.Program.Db ( Distribution/Simple/Program/Db.hs, dist/build/Distribution/Simple/Program/Db.o )
[27 of 67] Compiling Distribution.Simple.Program ( Distribution/Simple/Program.hs, dist/build/Distribution/Simple/Program.o )
[28 of 67] Compiling Distribution.Compiler ( Distribution/Compiler.hs, dist/build/Distribution/Compiler.o )
[29 of 67] Compiling Distribution.ParseUtils ( Distribution/ParseUtils.hs, dist/build/Distribution/ParseUtils.o )
[30 of 67] Compiling Distribution.InstalledPackageInfo ( Distribution/InstalledPackageInfo.hs, dist/build/Distribution/InstalledPackageInfo.o )
[31 of 67] Compiling Distribution.Simple.PackageIndex ( Distribution/Simple/PackageIndex.hs, dist/build/Distribution/Simple/PackageIndex.o )
[32 of 67] Compiling Distribution.Simple.GHC.IPI642 ( Distribution/Simple/GHC/IPI642.hs, dist/build/Distribution/Simple/GHC/IPI642.o )
[33 of 67] Compiling Distribution.Simple.GHC.IPI641 ( Distribution/Simple/GHC/IPI641.hs, dist/build/Distribution/Simple/GHC/IPI641.o )
[34 of 67] Compiling Distribution.Simple.Command ( Distribution/Simple/Command.hs, dist/build/Distribution/Simple/Command.o )
[35 of 67] Compiling Distribution.PackageDescription ( Distribution/PackageDescription.hs, dist/build/Distribution/PackageDescription.o )
ghc: panic! (the 'impossible' happened)
(GHC version 7.6.0.20120810 for i386-unknown-linux):
(Array.!): undefined array element
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Build step 'Execute shell' marked build as failure
Recording test results
Sending e-mails to: johan.tibell@gmail.com
Finished: FAILURE
```7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7149Heap profiling restricted with retainers (+RTS -hrfoo -hc) segfaults2019-07-07T18:51:07Ztakano-akioHeap profiling restricted with retainers (+RTS -hrfoo -hc) segfaultsSteps to reproduce:
```
% cat hello.hs
main = print $ last [0..]
% ghc hello.hs -prof
[1 of 1] Compiling Main ( hello.hs, hello.o )
Linking hello ...
% ./hello +RTS -hrfoo -hc
zsh: segmentation fault ./hello +RTS -hrfoo -hc...Steps to reproduce:
```
% cat hello.hs
main = print $ last [0..]
% ghc hello.hs -prof
[1 of 1] Compiling Main ( hello.hs, hello.o )
Linking hello ...
% ./hello +RTS -hrfoo -hc
zsh: segmentation fault ./hello +RTS -hrfoo -hc
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Profiling |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Heap profiling restricted with retainers (+RTS -hrfoo -hc) segfaults","status":"New","operating_system":"","component":"Profiling","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Steps to reproduce:\r\n\r\n{{{\r\n% cat hello.hs\r\nmain = print $ last [0..]\r\n% ghc hello.hs -prof\r\n[1 of 1] Compiling Main ( hello.hs, hello.o )\r\nLinking hello ...\r\n% ./hello +RTS -hrfoo -hc\r\nzsh: segmentation fault ./hello +RTS -hrfoo -hc\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7144directory-1.1.1.0 violates the PVP2019-07-07T18:51:08ZSimon Hengelsol@typeful.netdirectory-1.1.1.0 violates the PVPThe version of directory that ships with GHC 7.6.1-rc1 changes the type of `getModificationTime`.
```
commit d0cab4bb327910a341bc99f4e8539806bd671a11
Author: Ian Lynagh <igloo@earth.li>
Date: Sat Jan 14 17:07:40 2012 +0000
Switch...The version of directory that ships with GHC 7.6.1-rc1 changes the type of `getModificationTime`.
```
commit d0cab4bb327910a341bc99f4e8539806bd671a11
Author: Ian Lynagh <igloo@earth.li>
Date: Sat Jan 14 17:07:40 2012 +0000
Switch to using the time package, rather than old-time
```
I think this requires a version bump to `1.2.0.0`.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------------- |
| Version | 7.6.1-rc1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | libraries/directory |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"directory-1.1.1.0 violates the PVP","status":"New","operating_system":"","component":"libraries/directory","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.6.1-rc1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The version of directory that ships with GHC 7.6.1-rc1 changes the type of {{{getModificationTime}}}.\r\n\r\n{{{\r\ncommit d0cab4bb327910a341bc99f4e8539806bd671a11\r\nAuthor: Ian Lynagh <igloo@earth.li>\r\nDate: Sat Jan 14 17:07:40 2012 +0000\r\n\r\n Switch to using the time package, rather than old-time\r\n}}}\r\n\r\nI think this requires a version bump to {{{1.2.0.0}}}.","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7138GHCi does no respect -ignore-dot-ghci anymore2019-07-07T18:51:10ZSimon Hengelsol@typeful.netGHCi does no respect -ignore-dot-ghci anymoreSteps to reproduce:
```
$ echo foobar > .ghci
$ ghci -ignore-dot-ghci
```
Expected results: GHCi is started without any errors.
Actual result: GHCi reports "Not in scope: \`foobar'".
<details><summary>Trac metadata</summary>
| Trac ...Steps to reproduce:
```
$ echo foobar > .ghci
$ ghci -ignore-dot-ghci
```
Expected results: GHCi is started without any errors.
Actual result: GHCi reports "Not in scope: \`foobar'".
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.6.1-rc1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"GHCi does no respect -ignore-dot-ghci anymore","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.6.1-rc1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Steps to reproduce:\r\n\r\n{{{\r\n$ echo foobar > .ghci\r\n$ ghci -ignore-dot-ghci\r\n}}}\r\n\r\nExpected results: GHCi is started without any errors.\r\n\r\nActual result: GHCi reports \"Not in scope: `foobar'\".","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7117Data family constructors defined in GHCi are not in scope2019-07-07T18:51:18ZparcsData family constructors defined in GHCi are not in scopeThe following example explains the problem:
```
> data family Foo a
> data instance Foo Int = FooInt
> :t FooInt
<interactive>:1:1: Not in scope: data constructor `FooInt'
```
`FooInt` is defined, but `GHCi` doesn't recognize it.
<de...The following example explains the problem:
```
> data family Foo a
> data instance Foo Int = FooInt
> :t FooInt
<interactive>:1:1: Not in scope: data constructor `FooInt'
```
`FooInt` is defined, but `GHCi` doesn't recognize it.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Data family constructors defined in GHCi are not in scope","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The following example explains the problem:\r\n\r\n{{{\r\n> data family Foo a\r\n> data instance Foo Int = FooInt\r\n> :t FooInt\r\n\r\n<interactive>:1:1: Not in scope: data constructor `FooInt'\r\n}}}\r\n\r\n`FooInt` is defined, but `GHCi` doesn't recognize it.","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7077Add an order-reversing newtype to Data.Ord2019-07-07T18:51:30ZAzelAdd an order-reversing newtype to Data.OrdThis is proposal to add an order-reversing newtype to Data.Ord by adding GHC.Exts's one, Down.
You'll find attached a patch implementing this re-export and the conversation thread may be found [here](http://haskell.1045720.n5.nabble.com...This is proposal to add an order-reversing newtype to Data.Ord by adding GHC.Exts's one, Down.
You'll find attached a patch implementing this re-export and the conversation thread may be found [here](http://haskell.1045720.n5.nabble.com/Proposal-add-an-order-reversing-newtype-to-Data-Ord-td5714005.html).
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | libraries/base |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Add an order-reversing newtype to Data.Ord","status":"New","operating_system":"","component":"libraries/base","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"","keywords":["ord"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"This is proposal to add an order-reversing newtype to Data.Ord by adding GHC.Exts's one, Down.\r\n\r\nYou'll find attached a patch implementing this re-export and the conversation thread may be found [http://haskell.1045720.n5.nabble.com/Proposal-add-an-order-reversing-newtype-to-Data-Ord-td5714005.html here].","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7060Option -ddump-rule-rewrites doesn't dump to a file2019-07-07T18:51:35ZerikdOption -ddump-rule-rewrites doesn't dump to a fileRunning the command (using my GHC git HEAD compiler):
```
~/GHC/bin/ghc -v --make -dumpdir dumpopt/ -ddump-to-file -ddump-rule-rewrites -O1 --make mask-test.hs -o mask-test-opt
```
and the `-ddump-rule-rewrites` output still ends up on...Running the command (using my GHC git HEAD compiler):
```
~/GHC/bin/ghc -v --make -dumpdir dumpopt/ -ddump-to-file -ddump-rule-rewrites -O1 --make mask-test.hs -o mask-test-opt
```
and the `-ddump-rule-rewrites` output still ends up on the console instead of the specified dumpdir.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Option -ddump-rule-rewrites doesn't dump to a file","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Running the command (using my GHC git HEAD compiler):\r\n\r\n{{{\r\n~/GHC/bin/ghc -v --make -dumpdir dumpopt/ -ddump-to-file -ddump-rule-rewrites -O1 --make mask-test.hs -o mask-test-opt\r\n}}}\r\n\r\nand the `-ddump-rule-rewrites` output still ends up on the console instead of the specified dumpdir.\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7042large exponents cannot be compiled2019-07-07T18:51:39ZChristian Maederlarge exponents cannot be compiled```
main = print 1E1000000000
```
cannot be compiled (memory will be exhausted)
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7...```
main = print 1E1000000000
```
cannot be compiled (memory will be exhausted)
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | #3897, #7034 |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"large exponents cannot be compiled","status":"New","operating_system":"","component":"Compiler","related":[3897,7034],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"{{{\r\nmain = print 1E1000000000\r\n}}}\r\n\r\ncannot be compiled (memory will be exhausted)","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7034reading a large double results in zero with ghc-7.4.22019-07-07T18:51:41ZChristian Maederreading a large double results in zero with ghc-7.4.2```
Prelude> read "1E100000000000000000000" :: Double
Infinity
Prelude> read "1E1000000000000000000000" :: Double
0.0
```
This was probably introduced by the fix for #5688.
Note that #3897 is still open.
```
Prelude> 1E1000000000000000...```
Prelude> read "1E100000000000000000000" :: Double
Infinity
Prelude> read "1E1000000000000000000000" :: Double
0.0
```
This was probably introduced by the fix for #5688.
Note that #3897 is still open.
```
Prelude> 1E1000000000000000000000 :: Double
```
takes too long and sometimes results in 0.0 or in a memory crash
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"reading a large double results in zero with ghc-7.4.2","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"{{{\r\nPrelude> read \"1E100000000000000000000\" :: Double\r\nInfinity\r\nPrelude> read \"1E1000000000000000000000\" :: Double\r\n0.0\r\n}}}\r\n\r\nThis was probably introduced by the fix for #5688. \r\nNote that #3897 is still open.\r\n\r\n{{{\r\nPrelude> 1E1000000000000000000000 :: Double\r\n}}}\r\ntakes too long and sometimes results in 0.0 or in a memory crash","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7031Incorrect documentation for Windows dlls2019-07-07T18:51:41ZNeil MitchellIncorrect documentation for Windows dllsThe documentation for creating Windows dlls (http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/win32-dlls.html) was originally taken from my blog (http://neilmitchell.blogspot.co.uk/2009/11/haskell-dlls-on-windows.html). Unfortunate...The documentation for creating Windows dlls (http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/win32-dlls.html) was originally taken from my blog (http://neilmitchell.blogspot.co.uk/2009/11/haskell-dlls-on-windows.html). Unfortunately the translation dropped one line. My blog reads:
```
// Initialize Haskell runtime
char** args = argv;
hs_init(&argc, &args);
// Tell Haskell about all root modules
hs_add_root(__stginit_Adder);
```
But the docs omit the call to `hs_add_root`. I was emailed by Jonas Fager who had problems producing a dll because of this documentation problem.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------- |
| Version | 7.4.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Documentation |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Incorrect documentation for Windows dlls","status":"New","operating_system":"","component":"Documentation","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The documentation for creating Windows dlls (http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/win32-dlls.html) was originally taken from my blog (http://neilmitchell.blogspot.co.uk/2009/11/haskell-dlls-on-windows.html). Unfortunately the translation dropped one line. My blog reads:\r\n\r\n{{{\r\n // Initialize Haskell runtime\r\n char** args = argv;\r\n hs_init(&argc, &args);\r\n\r\n // Tell Haskell about all root modules\r\n hs_add_root(__stginit_Adder);\r\n}}}\r\n\r\nBut the docs omit the call to {{{hs_add_root}}}. I was emailed by Jonas Fager who had problems producing a dll because of this documentation problem.","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/7009Add function forallC2019-07-07T18:51:48ZBoris LykahAdd function forallCAs for template-haskell 2.7.0.0 there are Q monad functions corresponding to three of four Con constructors (NormalC, RecC, InfixC, ForallC).
Could you please add
```
forallC :: [TyVarBndr] -> CxtQ -> ConQ
```
<details><summary>Trac me...As for template-haskell 2.7.0.0 there are Q monad functions corresponding to three of four Con constructors (NormalC, RecC, InfixC, ForallC).
Could you please add
```
forallC :: [TyVarBndr] -> CxtQ -> ConQ
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ---------------- |
| Version | 7.4.2 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Template Haskell |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Add function forallC","status":"New","operating_system":"","component":"Template Haskell","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"As for template-haskell 2.7.0.0 there are Q monad functions corresponding to three of four Con constructors (NormalC, RecC, InfixC, ForallC).\r\nCould you please add\r\n\r\n{{{\r\nforallC :: [TyVarBndr] -> CxtQ -> ConQ\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6143Regression: lots of documentation missing2019-07-07T18:51:58ZSimon MarlowRegression: lots of documentation missingSomething is wrong with the Haddock docs in the HEAD, such that most (but not all) functions have no documentation. Just point your browser at `libraries/base/dist-install/doc/html/base/Prelude.html` in a validate build, and you'll see t...Something is wrong with the Haddock docs in the HEAD, such that most (but not all) functions have no documentation. Just point your browser at `libraries/base/dist-install/doc/html/base/Prelude.html` in a validate build, and you'll see that many functions are missing documentation. The first one I see on that page is `otherwise`.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------- |
| Version | 7.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Documentation |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Regression: lots of documentation missing","status":"New","operating_system":"","component":"Documentation","related":[],"milestone":"7.6.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Something is wrong with the Haddock docs in the HEAD, such that most (but not all) functions have no documentation. Just point your browser at `libraries/base/dist-install/doc/html/base/Prelude.html` in a validate build, and you'll see that many functions are missing documentation. The first one I see on that page is `otherwise`.\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6127Build for MIPS N32 host fails due to references to 64-bit support code2019-07-07T18:52:02ZmtjmBuild for MIPS N32 host fails due to references to 64-bit support codeLinking gives these errors:
```
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd7c): undefined reference to `__divdi3'
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd84): undefined referenc...Linking gives these errors:
```
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd7c): undefined reference to `__divdi3'
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd84): undefined reference to `__udivdi3'
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd8c): undefined reference to `__moddi3'
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd94): undefined reference to `__umoddi3'
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd9c): undefined reference to `__muldi3'
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xda4): undefined reference to `__ashldi3'
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xdac): undefined reference to `__ashrdi3'
/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xdb4): undefined reference to `__lshrdi3'
collect2: error: ld returned 1 exit status
```
The patch changes the code to not use these functions, as it does on 64-bit architectures. I don't know a more portable solution which wouldn't require changing when porting to every new 64-bit architecture with 32-bit pointers.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Runtime System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Build for MIPS N32 host fails due to references to 64-bit support code","status":"New","operating_system":"","component":"Runtime System","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Linking gives these errors:\r\n{{{\r\n/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd7c): undefined reference to `__divdi3'\r\n/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd84): undefined reference to `__udivdi3'\r\n/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd8c): undefined reference to `__moddi3'\r\n/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd94): undefined reference to `__umoddi3'\r\n/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xd9c): undefined reference to `__muldi3'\r\n/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xda4): undefined reference to `__ashldi3'\r\n/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xdac): undefined reference to `__ashrdi3'\r\n/home/mtjm/git/ghc-cross/rts/dist/build/libHSrts.a(Linker.o):(.data+0xdb4): undefined reference to `__lshrdi3'\r\ncollect2: error: ld returned 1 exit status\r\n}}}\r\n\r\nThe patch changes the code to not use these functions, as it does on 64-bit architectures. I don't know a more portable solution which wouldn't require changing when porting to every new 64-bit architecture with 32-bit pointers.","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6091Fixity in :info for backticks operators2019-07-07T18:52:14ZguestFixity in :info for backticks operatorsThe standard way to define infixity for backtick operators is
```
infix 4 `elem`
```
which is accepted by GHC and consistent with the Report. However, in GHCi, :i does not give the backticks:
```
Prelude> :i elem
elem :: Eq a => a -> ...The standard way to define infixity for backtick operators is
```
infix 4 `elem`
```
which is accepted by GHC and consistent with the Report. However, in GHCi, :i does not give the backticks:
```
Prelude> :i elem
elem :: Eq a => a -> [a] -> Bool -- Defined in `GHC.List'
infix 4 elem
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Fixity in :info for backticks operators","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":["fixity"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The standard way to define infixity for backtick operators is\r\n\r\n{{{\r\ninfix 4 `elem`\r\n}}}\r\n\r\nwhich is accepted by GHC and consistent with the Report. However, in GHCi, :i does not give the backticks:\r\n\r\n{{{\r\nPrelude> :i elem\r\nelem :: Eq a => a -> [a] -> Bool \t-- Defined in `GHC.List'\r\ninfix 4 elem\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6090hsc2hs doesn't consider values not fitting in an unsigned long integral when ...2019-07-07T18:52:15Zmtjmhsc2hs doesn't consider values not fitting in an unsigned long integral when cross compilingThe specific problem occurs when libraries/unix is being built, RLIM_INFINITY is defined as 0x7fffffffffffffffULL on MIPS N32. This might happen on other architectures with 32 bit longs and 64 bit long longs.
<details><summary>Trac meta...The specific problem occurs when libraries/unix is being built, RLIM_INFINITY is defined as 0x7fffffffffffffffULL on MIPS N32. This might happen on other architectures with 32 bit longs and 64 bit long longs.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | hsc2hs |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"hsc2hs doesn't consider values not fitting in an unsigned long integral when cross compiling","status":"New","operating_system":"","component":"hsc2hs","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The specific problem occurs when libraries/unix is being built, RLIM_INFINITY is defined as 0x7fffffffffffffffULL on MIPS N32. This might happen on other architectures with 32 bit longs and 64 bit long longs.","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6082Program compiled with 7.4.1 runs many times slower than compiled with 7.2.22019-07-07T18:52:17ZgchrupalaProgram compiled with 7.4.1 runs many times slower than compiled with 7.2.2The morfette program (http://hackage.haskell.org/package/morfette), when compiled with 7.4.1 runs extremely slow: approx. 20x times slower than when compiled with 7.2.1.
To reproduce, install morfette using both compilers, and run it on...The morfette program (http://hackage.haskell.org/package/morfette), when compiled with 7.4.1 runs extremely slow: approx. 20x times slower than when compiled with 7.2.1.
To reproduce, install morfette using both compilers, and run it on the attached \`sample' file.
```
morfette train sample output --iter-pos=10 --iter-lemma=3
```
I attach the output of the profiler for both compilers. It would seem the performance bug is related to code from the modules GramLab.Perceptron.Multiclass and GramLab.Perceptron.Vector
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Program compiled with 7.4.1 runs many times slower than compiled with 7.2.2","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The morfette program (http://hackage.haskell.org/package/morfette), when compiled with 7.4.1 runs extremely slow: approx. 20x times slower than when compiled with 7.2.1.\r\n\r\nTo reproduce, install morfette using both compilers, and run it on the attached `sample' file.\r\n\r\n{{{\r\nmorfette train sample output --iter-pos=10 --iter-lemma=3\r\n}}}\r\n\r\nI attach the output of the profiler for both compilers. It would seem the performance bug is related to code from the modules GramLab.Perceptron.Multiclass and GramLab.Perceptron.Vector\r\n","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6061threadDelay broken on Windows2019-07-07T18:52:22ZSimon MarlowthreadDelay broken on WindowsThere seems to be new breakage in `threadDelay` on Windows. I noticed `conc070` failing in a validate:
```
=====> conc070(ghci) 191 of 3265 [0, 0, 0]
cd ./concurrent/should_run && 'c:/simonmar/ghc-validate/bindisttest/install dir/bin...There seems to be new breakage in `threadDelay` on Windows. I noticed `conc070` failing in a validate:
```
=====> conc070(ghci) 191 of 3265 [0, 0, 0]
cd ./concurrent/should_run && 'c:/simonmar/ghc-validate/bindisttest/install dir/bin/ghc.exe' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -fno-ghci-history conc070.hs --interactive -v0 -ignore-dot-ghci +RTS -I0.1 -RTS <conc070.genscript 1>conc070.interp.stdout 2>conc070.interp.stderr
Actual stdout output differs from expected:
--- ./concurrent/should_run/conc070.stdout 2011-08-02 14:43:53 +0100
+++ ./concurrent/should_run/conc070.run.stdout 2012-04-27 10:54:04 +0100
@@ -1 +1 @@
-[ThreadBlocked BlockedOnMVar,ThreadBlocked BlockedOnMVar,ThreadRunning,ThreadFinished]
+[ThreadFinished,ThreadBlocked BlockedOnMVar,ThreadRunning,ThreadFinished]
*** unexpected failure for conc070(ghci)
```
and strangely if you try `threadDelay 1000000` in GHCi it returns immediately.
This test is also failing:
```
=====> ThreadDelay001(threaded1) 7 of 7 [0, 0, 0]
cd . && 'c:/simonmar/ghc-validate/inplace/bin/ghc-stage2.exe' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -fno-ghci-history -o ThreadDelay001 ThreadDelay001.hs -threaded -debug >ThreadDelay001.comp.stderr 2>&1
cd . && ./ThreadDelay001 </dev/null >ThreadDelay001.run.stdout 2>ThreadDelay001.run.stderr
Actual stdout output differs from expected:
--- /dev/null 2012-04-30 11:17:41 +0100
+++ ./ThreadDelay001.run.stdout 2012-04-30 11:17:41 +0100
@@ -0,0 +1,2 @@
+(Mon Apr 30 11:17:29 GMT Daylight Time 2012,Mon Apr 30 11:17:29 GMT Daylight Time 2012,1000000,0,-1000000,-1.0e-6)
+(Mon Apr 30 11:17:29 GMT Daylight Time 2012,Mon Apr 30 11:17:29 GMT Daylight Time 2012,5000000,0,-5000000,-5.0e-6)
*** unexpected failure for ThreadDelay001(threaded1)
```
Possibly related to the fix for #5865
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"threadDelay broken on Windows","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"7.6.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"There seems to be new breakage in `threadDelay` on Windows. I noticed `conc070` failing in a validate:\r\n\r\n{{{\r\n=====> conc070(ghci) 191 of 3265 [0, 0, 0]\r\n\r\ncd ./concurrent/should_run && 'c:/simonmar/ghc-validate/bindisttest/install dir/bin/ghc.exe' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -fno-ghci-history conc070.hs --interactive -v0 -ignore-dot-ghci +RTS -I0.1 -RTS <conc070.genscript 1>conc070.interp.stdout 2>conc070.interp.stderr\r\n\r\nActual stdout output differs from expected:\r\n\r\n--- ./concurrent/should_run/conc070.stdout\t2011-08-02 14:43:53 +0100\r\n+++ ./concurrent/should_run/conc070.run.stdout\t2012-04-27 10:54:04 +0100\r\n@@ -1 +1 @@\r\n-[ThreadBlocked BlockedOnMVar,ThreadBlocked BlockedOnMVar,ThreadRunning,ThreadFinished]\r\n+[ThreadFinished,ThreadBlocked BlockedOnMVar,ThreadRunning,ThreadFinished]\r\n\r\n*** unexpected failure for conc070(ghci)\r\n}}}\r\n\r\nand strangely if you try `threadDelay 1000000` in GHCi it returns immediately.\r\n\r\nThis test is also failing:\r\n\r\n{{{\r\n=====> ThreadDelay001(threaded1) 7 of 7 [0, 0, 0]\r\ncd . && 'c:/simonmar/ghc-validate/inplace/bin/ghc-stage2.exe' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -fno-ghci-history -o ThreadDelay001 ThreadDelay001.hs -threaded -debug >ThreadDelay001.comp.stderr 2>&1\r\ncd . && ./ThreadDelay001 </dev/null >ThreadDelay001.run.stdout 2>ThreadDelay001.run.stderr\r\nActual stdout output differs from expected:\r\n--- /dev/null 2012-04-30 11:17:41 +0100\r\n+++ ./ThreadDelay001.run.stdout 2012-04-30 11:17:41 +0100\r\n@@ -0,0 +1,2 @@\r\n+(Mon Apr 30 11:17:29 GMT Daylight Time 2012,Mon Apr 30 11:17:29 GMT Daylight Time 2012,1000000,0,-1000000,-1.0e-6)\r\n+(Mon Apr 30 11:17:29 GMT Daylight Time 2012,Mon Apr 30 11:17:29 GMT Daylight Time 2012,5000000,0,-5000000,-5.0e-6)\r\n*** unexpected failure for ThreadDelay001(threaded1)\r\n}}}\r\n\r\nPossibly related to the fix for #5865","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6042GHC is bloated2019-07-07T18:52:26ZSimon MarlowGHC is bloatedI noticed today that our binary dists are getting bigger:
```
-rw-rw-r-- 1 simonmar GHC 118924739 2010-11-17 04:02 ghc-7.0.1-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 112074889 2011-03-02 04:19 ghc-7.0.2-i386-unknown-linux.ta...I noticed today that our binary dists are getting bigger:
```
-rw-rw-r-- 1 simonmar GHC 118924739 2010-11-17 04:02 ghc-7.0.1-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 112074889 2011-03-02 04:19 ghc-7.0.2-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 109012585 2011-03-27 05:21 ghc-7.0.3-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 109012197 2011-06-15 04:25 ghc-7.0.4-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 115102248 2011-08-10 03:17 ghc-7.2.1-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 114428608 2011-11-10 04:28 ghc-7.2.2-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 123417972 2012-04-20 04:23 ghc-7.4.1.20120416-i386-unknown-linux.tar.bz2
-rw-rw-r-- 1 simonmar GHC 144861355 2012-04-18 06:25 ghc-7.5.20120413-i386-unknown-linux.tar.bz2
```
I looked into the difference between 7.0.4 and 7.4.1, and found that it seems to be mostly caused by GHC itself getting bigger:
```
-rwxrwxr-x simonmar/GHC 31280127 2011-06-14 19:59 ghc-7.0.4/ghc/stage2/build/tmp/ghc-stage2
-rwxrwxr-x simonmar/GHC 41050757 2012-04-19 20:12 ghc-7.4.1/ghc/stage2/build/tmp/ghc-stage2
```
the GHC binary is 25% larger, and the binary dist contains several copies of GHC (.a, _p.a, .so, the GHC binary, haddock).
We didn't add 25% more code to GHC between 7.0.4 and 7.4.1, so why is it 25% larger? This increase isn't reflected in other libraries - in fact, the base package is smaller in 7.4.1 than 7.0.4.
I have a horrid feeling that this is due to heavy use of INLINE/INLINABLE in `containers`, but I hope I'm wrong.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | milan, tibbe |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"GHC is bloated","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"7.6.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["milan","tibbe"],"type":"Bug","description":"I noticed today that our binary dists are getting bigger:\r\n\r\n{{{\r\n-rw-rw-r-- 1 simonmar GHC 118924739 2010-11-17 04:02 ghc-7.0.1-i386-unknown-linux.tar.bz2\r\n-rw-rw-r-- 1 simonmar GHC 112074889 2011-03-02 04:19 ghc-7.0.2-i386-unknown-linux.tar.bz2\r\n-rw-rw-r-- 1 simonmar GHC 109012585 2011-03-27 05:21 ghc-7.0.3-i386-unknown-linux.tar.bz2\r\n-rw-rw-r-- 1 simonmar GHC 109012197 2011-06-15 04:25 ghc-7.0.4-i386-unknown-linux.tar.bz2\r\n-rw-rw-r-- 1 simonmar GHC 115102248 2011-08-10 03:17 ghc-7.2.1-i386-unknown-linux.tar.bz2\r\n-rw-rw-r-- 1 simonmar GHC 114428608 2011-11-10 04:28 ghc-7.2.2-i386-unknown-linux.tar.bz2\r\n-rw-rw-r-- 1 simonmar GHC 123417972 2012-04-20 04:23 ghc-7.4.1.20120416-i386-unknown-linux.tar.bz2\r\n-rw-rw-r-- 1 simonmar GHC 144861355 2012-04-18 06:25 ghc-7.5.20120413-i386-unknown-linux.tar.bz2\r\n}}}\r\n\r\nI looked into the difference between 7.0.4 and 7.4.1, and found that it seems to be mostly caused by GHC itself getting bigger:\r\n\r\n{{{\r\n-rwxrwxr-x simonmar/GHC 31280127 2011-06-14 19:59 ghc-7.0.4/ghc/stage2/build/tmp/ghc-stage2\r\n-rwxrwxr-x simonmar/GHC 41050757 2012-04-19 20:12 ghc-7.4.1/ghc/stage2/build/tmp/ghc-stage2\r\n}}}\r\n\r\nthe GHC binary is 25% larger, and the binary dist contains several copies of GHC (.a, _p.a, .so, the GHC binary, haddock).\r\n\r\nWe didn't add 25% more code to GHC between 7.0.4 and 7.4.1, so why is it 25% larger? This increase isn't reflected in other libraries - in fact, the base package is smaller in 7.4.1 than 7.0.4.\r\n\r\nI have a horrid feeling that this is due to heavy use of INLINE/INLINABLE in `containers`, but I hope I'm wrong.","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6027Allow changing fixity of new type operators2019-07-07T18:52:30ZatnnnAllow changing fixity of new type operatorsHere is the problem:
```
{-# LANGUAGE TypeOperators #-}
type (&) = ()
data (?)
class (#)
infixr 2 &
infixr 2 ?
infixr 2 #
```
```
testop.hs:5:10:
The fixity signature for `&' lacks an accompanying binding
testop.hs:6:10:
The f...Here is the problem:
```
{-# LANGUAGE TypeOperators #-}
type (&) = ()
data (?)
class (#)
infixr 2 &
infixr 2 ?
infixr 2 #
```
```
testop.hs:5:10:
The fixity signature for `&' lacks an accompanying binding
testop.hs:6:10:
The fixity signature for `?' lacks an accompanying binding
testop.hs:7:10:
The fixity signature for `#' lacks an accompanying binding
```
My solution is inspired by the 'type' keyword in the export list.
```
infixr 2 type &
infixr 2 type ?, type #
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.5 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Allow changing fixity of new type operators","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"Here is the problem:\r\n\r\n{{{\r\n{-# LANGUAGE TypeOperators #-}\r\ntype (&) = ()\r\ndata (?)\r\nclass (#)\r\ninfixr 2 &\r\ninfixr 2 ?\r\ninfixr 2 #\r\n}}}\r\n\r\n{{{\r\ntestop.hs:5:10:\r\n The fixity signature for `&' lacks an accompanying binding\r\n\r\ntestop.hs:6:10:\r\n The fixity signature for `?' lacks an accompanying binding\r\n\r\ntestop.hs:7:10:\r\n The fixity signature for `#' lacks an accompanying binding\r\n}}}\r\n\r\nMy solution is inspired by the 'type' keyword in the export list.\r\n\r\n{{{\r\ninfixr 2 type &\r\ninfixr 2 type ?, type #\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/6011Panic when using a type synonym2019-07-07T18:52:36Zmm_freakPanic when using a type synonymI'm getting the following "the impossible happened" error when trying to compile the code in the attachment:
```
[2 of 3] Compiling Data.Mod.FiniteRing ( Data/Mod/FiniteRing.hs, dist/build/Data/Mod/FiniteRing.o )
ghc: panic! (the 'impos...I'm getting the following "the impossible happened" error when trying to compile the code in the attachment:
```
[2 of 3] Compiling Data.Mod.FiniteRing ( Data/Mod/FiniteRing.hs, dist/build/Data/Mod/FiniteRing.o )
ghc: panic! (the 'impossible' happened)
(GHC version 7.4.1 for x86_64-unknown-linux):
tyThingTyCon
Data constructor `modular-0.1.0:Data.Mod.Types.FiniteRing{d r0}'
```
This only happens when I use the Mod type synonym. When I spell the full GenMod type everything works fine. Also the first compilation run after a "cabal clean" works fine.
Steps to reproduce:
1. Unpack the attached cabal package.
1. Compile (cabal configure, cabal build).
1. Touch Data/Mod/FiniteRing.hs.
1. Compile again (cabal build).
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Panic when using a type synonym","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I'm getting the following \"the impossible happened\" error when trying to compile the code in the attachment:\r\n\r\n{{{\r\n[2 of 3] Compiling Data.Mod.FiniteRing ( Data/Mod/FiniteRing.hs, dist/build/Data/Mod/FiniteRing.o )\r\nghc: panic! (the 'impossible' happened)\r\n (GHC version 7.4.1 for x86_64-unknown-linux):\r\n\ttyThingTyCon\r\n Data constructor `modular-0.1.0:Data.Mod.Types.FiniteRing{d r0}'\r\n}}}\r\n\r\nThis only happens when I use the Mod type synonym. When I spell the full GenMod type everything works fine. Also the first compilation run after a \"cabal clean\" works fine.\r\n\r\nSteps to reproduce:\r\n\r\n1. Unpack the attached cabal package.\r\n2. Compile (cabal configure, cabal build).\r\n3. Touch Data/Mod/FiniteRing.hs.\r\n4. Compile again (cabal build).","type_of_failure":"OtherFailure","blocking":[]} -->7.6.1pcapriottipcapriotti