[GHC] #14759: ListSetOps WARNING causes tests to fail

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Example log: ``` +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] + [] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Control.Applicative, Data.Functor.Const, Data.Functor.Identity, + Data.Monoid, Data.Semigroup.Internal, GHC.Generics, + GHC.IO.Exception] + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [] + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] + [] *** unexpected failure for cabal09(normal) ``` This is probably orph calculation. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by ezyang: Old description:
Example log:
``` +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] + [] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Control.Applicative, Data.Functor.Const, Data.Functor.Identity, + Data.Monoid, Data.Semigroup.Internal, GHC.Generics, + GHC.IO.Exception] + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [] + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] + [] *** unexpected failure for cabal09(normal) ```
This is probably orph calculation.
New description: Example log: {{{ +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] + [] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Control.Applicative, Data.Functor.Const, Data.Functor.Identity, + Data.Monoid, Data.Semigroup.Internal, GHC.Generics, + GHC.IO.Exception] + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [] + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] +WARNING: file compiler/utils/ListSetOps.hs, line 58 + [Distribution.Backpack, Distribution.Backpack.FullUnitId, + Distribution.Backpack.ModuleShape, + Distribution.Backpack.PreModuleShape, + Distribution.Backpack.ReadyComponent, + Distribution.CabalSpecVersion, Distribution.Compat.Graph, + Distribution.Compat.Semigroup, Distribution.Compiler, + Distribution.License, Distribution.ModuleName, + Distribution.SPDX.License, Distribution.SPDX.LicenseExceptionId, + Distribution.SPDX.LicenseExpression, Distribution.SPDX.LicenseId, + Distribution.SPDX.LicenseReference, + Distribution.Simple.BuildTarget, Distribution.Simple.Compiler, + Distribution.Simple.Doctest, Distribution.Simple.Haddock, + Distribution.Simple.InstallDirs, Distribution.Simple.PackageIndex, + Distribution.Simple.Program.Find, Distribution.Simple.Program.GHC, + Distribution.Simple.Program.Types, Distribution.Simple.Setup, + Distribution.System, Distribution.Types.AbiDependency, + Distribution.Types.AbiHash, Distribution.Types.Benchmark, + Distribution.Types.BenchmarkInterface, + Distribution.Types.BenchmarkType, Distribution.Types.BuildInfo, + Distribution.Types.BuildType, Distribution.Types.ComponentId, + Distribution.Types.ComponentLocalBuildInfo, + Distribution.Types.ComponentName, + Distribution.Types.ComponentRequestedSpec, + Distribution.Types.CondTree, Distribution.Types.Condition, + Distribution.Types.Dependency, Distribution.Types.ExeDependency, + Distribution.Types.Executable, Distribution.Types.ExecutableScope, + Distribution.Types.ExposedModule, Distribution.Types.ForeignLib, + Distribution.Types.ForeignLibOption, + Distribution.Types.ForeignLibType, + Distribution.Types.GenericPackageDescription, + Distribution.Types.IncludeRenaming, + Distribution.Types.InstalledPackageInfo, + Distribution.Types.LegacyExeDependency, Distribution.Types.Library, + Distribution.Types.LocalBuildInfo, Distribution.Types.Mixin, + Distribution.Types.Module, Distribution.Types.ModuleReexport, + Distribution.Types.ModuleRenaming, + Distribution.Types.MungedPackageId, + Distribution.Types.MungedPackageName, + Distribution.Types.PackageDescription, + Distribution.Types.PackageId, Distribution.Types.PackageName, + Distribution.Types.PkgconfigDependency, + Distribution.Types.PkgconfigName, + Distribution.Types.SetupBuildInfo, Distribution.Types.SourceRepo, + Distribution.Types.TargetInfo, Distribution.Types.TestSuite, + Distribution.Types.TestSuiteInterface, Distribution.Types.TestType, + Distribution.Types.UnitId, Distribution.Types.UnqualComponentName, + Distribution.Types.Version, Distribution.Types.VersionRange, + Distribution.Utils.ShortText, Distribution.Verbosity, + Language.Haskell.Extension, Control.Applicative, Data.Complex, + Data.Functor.Compose, Data.Functor.Const, Data.Functor.Identity, + Data.Functor.Product, Data.Functor.Sum, Data.Monoid, + Data.Semigroup, Data.Semigroup.Internal, Data.Version, Data.Void, + GHC.Exts, GHC.Generics, GHC.IO.Exception, Data.Graph, + Data.IntMap.Internal, Data.IntSet.Internal, Data.Map.Internal, + Data.Sequence.Internal, Data.Set.Internal, Data.Tree, + Text.PrettyPrint.Annotated.HughesPJ, Text.PrettyPrint.HughesPJ, + Data.Text, Data.Text.Lazy] + [] *** unexpected failure for cabal09(normal) }}} This is probably orph calculation. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): It sounds like we should probably just move this to a proper set operation. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by alpmestan): This very problem was causing a whole bunch of tests to fail when running `./validate --slow`: {{{ /run/user/1001/ghctest-tkhsza6q/test spaces/./backpack/cabal/T14304/T14304.run T14304 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./backpack/cabal/bkpcabal02/bkpcabal02.run bkpcabal02 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./backpack/cabal/bkpcabal03/bkpcabal03.run bkpcabal03 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./backpack/cabal/bkpcabal04/bkpcabal04.run bkpcabal04 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./backpack/cabal/bkpcabal01/bkpcabal01.run bkpcabal01 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./backpack/cabal/bkpcabal05/bkpcabal05.run bkpcabal05 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./backpack/cabal/bkpcabal06/bkpcabal06.run bkpcabal06 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./backpack/cabal/bkpcabal07/bkpcabal07.run bkpcabal07 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/T12733/T12733.run T12733 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/cabal01/t.run cabal01 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/cabal03/cabal03.run cabal03 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/cabal04/cabal04.run cabal04 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/cabal08/cabal08.run cabal08 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/cabal05/cabal05.run cabal05 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/cabal09/cabal09.run cabal09 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/cabal06/cabal06.run cabal06 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./driver/T3007/T3007.run T3007 [bad stderr] (normal) /run/user/1001/ghctest-qrii3s_s/test spaces/./patsyn/should_compile/T13350/T13350.run T13350 [bad stderr] (normal) /run/user/1001/ghctest-tkhsza6q/test spaces/./cabal/T12733/T12733.run T12733 [bad stderr] /run/user/1001/ghctest-tkhsza6q/test spaces/./driver/T3007/T3007.run T3007 [bad stderr] (normal) }}} I have a patch that fixes those tests, it simply implements Ben's suggestion. It's now up on phab as [https://phabricator.haskell.org/D4628 D4628]. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): D4628 Wiki Page: | -------------------------------------+------------------------------------- Changes (by alpmestan): * cc: alpmestan (added) * status: new => patch * differential: => D4628 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): See my note on Phab. (Phab seems to only offer "Tell no one" these days, which is a huge pain. On each occasion I have to take a second step to put a note on the ticket to tell people to look at Phab. Seems sub-optimal.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

(Phab seems to only offer "Tell no one" these days, which is a huge
#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): pain. On each occasion I have to take a second step to put a note on the ticket to tell people to look at Phab. Seems sub-optimal.) Indeed this is a consequence of a recent upgrade. I am working with upstream to remedy the situation. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Changes (by hsyl20): * differential: D4628 => Phab:D4628 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by alpmestan):
See my note on Phab.
Thanks for being so responsive. I just left 2 comments on the differential as well, trying to find a solution that makes everyone happy. It should not be too hard given the small number of users of that `unionLists` function. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by alpmestan): Left another comment on the diff (not sure anyone gets emails from Phab when the diff is still a so-called "draft"). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * cc: niteria (added) Comment: OK, so the culprit is the `unionLists` for the `imp_finsts` field of `ImportAvails`. Obvious ideas: 1. Represent `imp_finsts` as a `ModuleSet` 2. Represent `imp_finsts` as a `Bag Module` (ie with duplicates) There's a helpful `Note [Combine ImportAvails]` in `RnNames` which explains why a set is a bit awkward. My instinct is to try a `Bag` (so that `plusAvails` can use `unionBags` which is always fast), and move the removing-duplicates work to the consumer. I think there are two consumers of `imp_finsts`: * `tcExtendLocalFamInstEnv` loads up dependent modules. So we'd need eliminate duplicates, but determinacy is not an issue * `DsUsage.mkDependencies` which already does a sort, so removing dups at the same time should surely not be hard. Bartosz is the expert here. cc'd. * ` -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner: (none)
Type: bug | Status: patch
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D4628
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Simon Peyton Jones

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by niteria): Replying to [comment:10 simonpj]:
1. Represent `imp_finsts` as a `ModuleSet` There's a helpful `Note [Combine ImportAvails]` in `RnNames` which explains why a set is a bit awkward.
I think a Set can work out if you go all the way, also changing `dep_finst`.
My instinct is to try a `Bag` (so that `plusAvails` can use `unionBags` which is always fast), and move the removing-duplicates work to the consumer. Then we could simplify the code in `RnNames`.
I think there are two consumers of `imp_finsts`:
* `tcExtendLocalFamInstEnv` loads up dependent modules. So we'd need eliminate duplicates, but determinacy is not an issue * `DsUsage.mkDependencies` which already does a sort, so removing dups at the same time should surely not be hard.
I think this can work, but we'd have to remove dups from `A`'s `imp_finsts` before computing `imp_finsts` for `B` if `B` imports `A`. Otherwise for bigger module hierarchies a lot of duplicates will accumulate. I believe the existing tests already measure this, so it should be possible to compare the approaches quantitatively. It's unfortunate that we must keep and store a set of transitive dependencies for every module. The size just grows with the size of the codebase. I think for `imp_finsts` and `dep_finsts` the only reason we do that is so that we can do type family instance checks and avoid redoing some checks. See `Note [Checking family instance optimization]`. There's an assumption somewhere in there that having the transitive set in hand lets us load less interfaces. I'm skeptical of how it works out in practice. Perhaps we could avoid explicitly storing the whole transitive closure if when checking type family consistency we did a traversal with pruning instead. I haven't thought it through fully, so take this with a grain of salt. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj):
I think this can work, but we'd have to remove dups from A's imp_finsts before computing imp_finsts for B if B imports A. Otherwise for bigger module hierarchies a lot of duplicates will accumulate.
Yes, the idea is to allow dups to accumulate (which happens for free, just by `unionBags`) and then when ''consuming'' the bag simply avoid doing things twice. I think that's good, because generally we accumulate the `imp_fints` and then remove dups, sort, etc to make `dep_finists` for this module. But this approach does depend on the "accumulate and consume once" pattern.
Perhaps we could avoid explicitly storing the whole transitive closure if when checking type family consistency we did a traversal with pruning instead
Maybe so, but I'm not certain. For sure you'd want to know whether a module had family instances either in itself or in its transitive imports. Let's call that the "finst flag" Then, to look for imported instances, you could say * For each imported module M, if its finst-flag is off, ignore M. * Otherwise, check for family instances in M, and then * Consider each direct import of M That'd require you to traverse a path of .hi files to get to the one with the family instances in it. (Currently we can jump direct to the latter.) But perhaps that's fine. Looks like a good thing to explore. We could do the same for orphan-instance modules. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): PS. One bad case might be this: {{{ import A import B }}} where * A imports A1 which imports A2 .. which import A20, which imports F. * B imports B1 which imports B2 .. which import B20, which imports F. }}} and F has the family instances. I may have to walk down A.hi, A1.hi... to get to F. But it's painful to walk down B1, B2... etc as well. I wonder about having a Bloom filter, which might compactly summarise the set of family-instance modules below M? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:14 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by niteria): Replying to [comment:14 simonpj]:
PS. One bad case might be this: {{{ import A import B }}} where * A imports A1 which imports A2 .. which import A20, which imports F. * B imports B1 which imports B2 .. which import B20, which imports F. }}} and F has the family instances. I may have to walk down A.hi, A1.hi... to get to F. But it's painful to walk down B1, B2... etc as well.
I think you could mitigate this particular bad case if you did "path compression", that is instead of keeping the `finst-flag`, you remembered the first "interesting" module - a module that either defines it's own family instances or imports two modules with different "interesting" modules. Or framing it in terms of the current logic, a module is "interesting" if the `imp_finst` of a module is a strict superset of `imp_finst` of all the imports. A harder bad case would be a balanced binary tree of imports where only the leaves define type family instances. If you're compiling the root you're forced to load the interfaces of all the modules. It's `n` interface file loads instead of the minimal `n/2`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

I think you could mitigate this particular bad case if you did "path compression", that is instead of keeping the finst-flag, you remembered
#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): the first "interesting" module - a module that either defines it's own family instances or imports two modules with different "interesting" modules Interesting idea. Do you feel inclined to work on it? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by niteria): Replying to [comment:16 simonpj]:
Interesting idea. Do you feel inclined to work on it?
Possibly, but I can't commit to anything as I'm moving countries this month. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail -------------------------------------+------------------------------------- Reporter: ezyang | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4628 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): OK, well * The right fix is described in the thread above; but needs someone willing to do it. * I'm reluctant to lose the warning by following Phab:D4628. It fixes a symptom, not a cause; and we have no idea (currently) about whether it makes perf better or worse. * Maybe we should mark the failures that arise from the `imp_finsts` stuff as expect-broken, queued on this ticket? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14759#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14759: ListSetOps WARNING causes tests to fail
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner: (none)
Type: bug | Status: patch
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D4628
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Marge Bot
participants (1)
-
GHC