[GHC] #15467: unregisterised validation failures

GHC ghc-devs at haskell.org
Thu Aug 2 15:35:01 UTC 2018


#15467: unregisterised validation failures
---------------------------------+--------------------------------------
        Reporter:  alpmestan     |                Owner:  (none)
            Type:  bug           |               Status:  new
        Priority:  normal        |            Milestone:
       Component:  Compiler      |              Version:  8.5
      Resolution:                |             Keywords:
Operating System:  Linux         |         Architecture:  x86_64 (amd64)
 Type of failure:  None/Unknown  |            Test Case:  T7040_ghci
      Blocked By:                |             Blocking:
 Related Tickets:                |  Differential Rev(s):
       Wiki Page:                |
---------------------------------+--------------------------------------

Comment (by alpmestan):

 The failures that are in common with #15466 are in fact due to the fact
 that the debug validation job was building unregisterised GHCs. That will
 be fixed with D5037. All but one of the failures from #15466 would likely
 be due to the unregisterised nature of the GHC under test, so I'm
 reproducing the details for them here, below, since this is where they
 really belong.

 ----

 **T9329**
 {{{
 Compile failed (exit code 1) errors were:
 /tmp/ghc78722_0/ghc_4.hc: In function ‘bar’:

 /tmp/ghc78722_0/ghc_4.hc:18:12: error:
      error: ‘c6_info’ undeclared (first use in this function)
      *Sp = (W_)&c6_info;
                 ^

 /tmp/ghc78722_0/ghc_4.hc:18:12: error:
      note: each undeclared identifier is reported only once for each
 function it appears in
 `gcc' failed in phase `C Compiler'. (Exit code: 1)

 *** unexpected failure for T9329(normal)
 }}}

 **cgrun018**
 {{{
 Compile failed (exit code 1) errors were:
 [1 of 1] Compiling Main             ( cgrun018.hs, cgrun018.o )
 ghc-stage2: panic! (the 'impossible' happened)
   (GHC version 8.7.20180731 for x86_64-unknown-linux):
         pprStatics: float
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   Call stack:
       CallStack (from HasCallStack):
         callStackDoc, called at compiler/utils/Outputable.hs:1164:37 in
 ghc:Outputable
         pprPanic, called at compiler/cmm/PprC.hs:521:5 in ghc:PprC

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug


 *** unexpected failure for cgrun018(normal)

 ---

 Compile failed (exit code 1) errors were:
 [1 of 1] Compiling Main             ( cgrun018.hs, cgrun018.o )
 ghc-stage2: panic! (the 'impossible' happened)
   (GHC version 8.7.20180731 for x86_64-unknown-linux):
         pprStatics: float
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   F32
   Call stack:
       CallStack (from HasCallStack):
         callStackDoc, called at compiler/utils/Outputable.hs:1164:37 in
 ghc:Outputable
         pprPanic, called at compiler/cmm/PprC.hs:521:5 in ghc:PprC

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug


 *** unexpected failure for cgrun018(g1)
 }}}

 **cgrun069**
 {{{
 Compile failed (exit code 1) errors were:

 /tmp/ghc83995_0/ghc_4.hc:5:12: error:
      error: conflicting types for ‘memsetErr’
      const char memsetErr[] = "Memset Error - align: %d size: %d\012";
                 ^

 In file included from /tmp/ghc83995_0/ghc_4.hc:3:0: error:

 /tmp/ghc83995_0/ghc_4.hc:4:6: error:
      note: previous declaration of ‘memsetErr’ was here
      ERW_(memsetErr);
           ^

 /home/ghc/project/includes/Stg.h:242:46: error:
      note: in definition of macro ‘ERW_’
      #define ERW_(X)   extern       StgWordArray (X)
                                                   ^

 /tmp/ghc83995_0/ghc_4.hc:8:12: error:
      error: conflicting types for ‘memcpyErr’
      const char memcpyErr[] = "Memcpy Error - align: %d size: %d\012";
                 ^

 In file included from /tmp/ghc83995_0/ghc_4.hc:3:0: error:

 /tmp/ghc83995_0/ghc_4.hc:7:6: error:
      note: previous declaration of ‘memcpyErr’ was here
      ERW_(memcpyErr);
           ^

 /home/ghc/project/includes/Stg.h:242:46: error:
      note: in definition of macro ‘ERW_’
      #define ERW_(X)   extern       StgWordArray (X)
                                                   ^

 /tmp/ghc83995_0/ghc_4.hc:11:12: error:
      error: conflicting types for ‘memmoveErr’
      const char memmoveErr[] = "Memmove Error Occured\012";
                 ^

 In file included from /tmp/ghc83995_0/ghc_4.hc:3:0: error:

 /tmp/ghc83995_0/ghc_4.hc:10:6: error:
      note: previous declaration of ‘memmoveErr’ was here
      ERW_(memmoveErr);
           ^

 /home/ghc/project/includes/Stg.h:242:46: error:
      note: in definition of macro ‘ERW_’
      #define ERW_(X)   extern       StgWordArray (X)
                                                   ^
 `gcc' failed in phase `C Compiler'. (Exit code: 1)

 *** unexpected failure for cgrun069(normal)

 ---

 Compile failed (exit code 1) errors were:

 /tmp/ghc84416_0/ghc_4.hc:5:12: error:
      error: conflicting types for ‘memsetErr’
      const char memsetErr[] = "Memset Error - align: %d size: %d\012";
                 ^

 In file included from /tmp/ghc84416_0/ghc_4.hc:3:0: error:

 /tmp/ghc84416_0/ghc_4.hc:4:6: error:
      note: previous declaration of ‘memsetErr’ was here
      ERW_(memsetErr);
           ^

 /home/ghc/project/includes/Stg.h:242:46: error:
      note: in definition of macro ‘ERW_’
      #define ERW_(X)   extern       StgWordArray (X)
                                                   ^

 /tmp/ghc84416_0/ghc_4.hc:8:12: error:
      error: conflicting types for ‘memcpyErr’
      const char memcpyErr[] = "Memcpy Error - align: %d size: %d\012";
                 ^

 In file included from /tmp/ghc84416_0/ghc_4.hc:3:0: error:

 /tmp/ghc84416_0/ghc_4.hc:7:6: error:
      note: previous declaration of ‘memcpyErr’ was here
      ERW_(memcpyErr);
           ^

 /home/ghc/project/includes/Stg.h:242:46: error:
      note: in definition of macro ‘ERW_’
      #define ERW_(X)   extern       StgWordArray (X)
                                                   ^

 /tmp/ghc84416_0/ghc_4.hc:11:12: error:
      error: conflicting types for ‘memmoveErr’
      const char memmoveErr[] = "Memmove Error Occured\012";
                 ^

 In file included from /tmp/ghc84416_0/ghc_4.hc:3:0: error:

 /tmp/ghc84416_0/ghc_4.hc:10:6: error:
      note: previous declaration of ‘memmoveErr’ was here
      ERW_(memmoveErr);
           ^

 /home/ghc/project/includes/Stg.h:242:46: error:
      note: in definition of macro ‘ERW_’
      #define ERW_(X)   extern       StgWordArray (X)
                                                   ^
 `gcc' failed in phase `C Compiler'. (Exit code: 1)

 *** unexpected failure for cgrun069(g1)
 }}}

 **T9577**
 {{{
 --- ./codeGen/should_run/T9577.run/T9577.stdout.normalised      2018-08-02
 03:38:39.932680724 +0000
 +++ ./codeGen/should_run/T9577.run/T9577.run.stdout.normalised  2018-08-02
 03:38:39.932680724 +0000
 @@ -1 +1 @@
 -True
 +False
 *** unexpected failure for T9577(normal)
 }}}

 **T3429**
 {{{
 Wrong exit code for T3429(debug_numa)(expected 0 , actual 1 )
 Stderr ( T3429 ):
 T3429: unknown RTS option: -N2
 T3429:
 T3429: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS
 <args>
 T3429:
 T3429:    +RTS    Indicates run time system options follow
 T3429:    -RTS    Indicates program arguments follow
 T3429:   --RTS    Indicates that ALL subsequent arguments will be given to
 the
 T3429:            program (including any of these RTS flags)
 T3429:
 T3429: The following run time system options are available:
 T3429:
 T3429:   -?       Prints this message and exits; the program is not
 executed
 T3429:   --info   Print information about the RTS used by this program
 T3429:
 T3429:   -K<size>  Sets the maximum stack size (default: 80% of the heap)
 T3429:             Egs: -K32k -K512k -K8M
 T3429:   -ki<size> Sets the initial thread stack size (default 1k)  Egs:
 -ki4k -ki2m
 T3429:   -kc<size> Sets the stack chunk size (default 32k)
 T3429:   -kb<size> Sets the stack chunk buffer size (default 1k)
 T3429:
 T3429:   -A<size>  Sets the minimum allocation area size (default 1m) Egs:
 -A20m -A10k
 T3429:   -AL<size> Sets the amount of large-object memory that can be
 allocated
 T3429:             before a GC is triggered (default: the value of -A)
 T3429:   -n<size>  Allocation area chunk size (0 = disabled, default: 0)
 T3429:   -O<size>  Sets the minimum size of the old generation (default
 1M)
 T3429:   -M<size>  Sets the maximum heap size (default unlimited)  Egs:
 -M256k -M1G
 T3429:   -H<size>  Sets the minimum heap size (default 0M)   Egs: -H24m
 -H1G
 T3429:   -xb<addr> Sets the address from which a suitable start for the
 heap memory
 T3429:             will be searched from. This is useful if the default
 address
 T3429:             clashes with some third-party library.
 T3429:   -m<n>     Minimum % of heap which must be available (default 3%)
 T3429:   -G<n>     Number of generations (default: 2)
 T3429:   -c<n>     Use in-place compaction instead of copying in the
 oldest generation
 T3429:            when live data is at least <n>% of the maximum heap size
 set with
 T3429:            -M (default: 30%)
 T3429:   -c       Use in-place compaction for all oldest generation
 collections
 T3429:            (the default is to use copying)
 T3429:   -w       Use mark-region for the oldest generation (experimental)
 T3429:   -I<sec>  Perform full GC after <sec> idle time (default: 0.3, 0
 == off)
 T3429:
 T3429:   -T         Collect GC statistics (useful for in-program
 statistics access)
 T3429:   -t[<file>] One-line GC statistics (if <file> omitted, uses
 stderr)
 T3429:   -s[<file>] Summary  GC statistics (if <file> omitted, uses
 stderr)
 T3429:   -S[<file>] Detailed GC statistics (if <file> omitted, uses
 stderr)
 T3429:
 T3429:
 T3429:   -Z         Don't squeeze out update frames on stack overflow
 T3429:   -B         Sound the bell at the start of each garbage collection
 T3429:
 T3429:   -hT            Produce a heap profile grouped by closure type
 T3429:   -l[flags]  Log events in binary format to the file
 <program>.eventlog
 T3429:   -v[flags]  Log events to stderr
 T3429:              where [flags] can contain:
 T3429:                 s    scheduler events
 T3429:                 g    GC and heap events
 T3429:                 p    par spark events (sampled)
 T3429:                 f    par spark events (full detail)
 T3429:                 u    user events (emitted from Haskell code)
 T3429:                 a    all event classes above
 T3429:                 t    add time stamps (only useful with -v)
 T3429:                -x    disable an event class, for any flag above
 T3429:              the initial enabled event classes are 'sgpu'
 T3429:
 T3429:   -h       Heap residency profile (output file <program>.hp)
 T3429:   -i<sec>  Time between heap profile samples (seconds, default:
 0.1)
 T3429:
 T3429:   -r<file>  Produce ticky-ticky statistics (with -rstderr for
 stderr)
 T3429:
 T3429:   -C<secs>  Context-switch interval in seconds.
 T3429:             0 or no argument means switch as often as possible.
 T3429:             Default: 0.02 sec.
 T3429:   -V<secs>  Master tick interval in seconds (0 == disable timer).
 T3429:             This sets the resolution for -C and the heap profile
 timer -i,
 T3429:             and is the frequency of time profile samples.
 T3429:             Default: 0.01 sec.
 T3429:
 T3429:   -Ds  DEBUG: scheduler
 T3429:   -Di  DEBUG: interpreter
 T3429:   -Dw  DEBUG: weak
 T3429:   -DG  DEBUG: gccafs
 T3429:   -Dg  DEBUG: gc
 T3429:   -Db  DEBUG: block
 T3429:   -DS  DEBUG: sanity
 T3429:   -Dt  DEBUG: stable
 T3429:   -Dp  DEBUG: prof
 T3429:   -Da  DEBUG: apply
 T3429:   -Dl  DEBUG: linker
 T3429:   -Dm  DEBUG: stm
 T3429:   -Dz  DEBUG: stack squeezing
 T3429:   -Dc  DEBUG: program coverage
 T3429:   -Dr  DEBUG: sparks
 T3429:   -DC  DEBUG: compact
 T3429:
 T3429:      NOTE: DEBUG events are sent to stderr by default; add -l to
 create a
 T3429:      binary event log file instead.
 T3429:
 T3429:   --install-signal-handlers=<yes|no>
 T3429:             Install signal handlers (default: yes)
 T3429:   -e<n>     Maximum number of outstanding local sparks (default:
 4096)
 T3429:   -xm       Base address to mmap memory in the GHCi linker
 T3429:             (hex; must be <80000000)
 T3429:   -xq       The allocation limit given to a thread after it
 receives
 T3429:             an AllocationLimitExceeded exception. (default: 100k)
 T3429:
 T3429:   -Mgrace=<n>
 T3429:             The amount of allocation after the program receives a
 T3429:             HeapOverflow exception before the exception is thrown
 again, if
 T3429:             the program is still exceeding the heap limit.
 T3429:
 T3429: RTS options may also be specified using the GHCRTS environment
 variable.
 T3429:
 T3429: Other RTS options may be available for programs compiled a
 different way.
 T3429: The GHC User's Guide has full details.
 T3429:
 *** unexpected failure for T3429(debug_numa)
 }}}

 **T13615**
 {{{
 *** unexpected pass for T13615(ghci)
 }}}

 **T14075**
 {{{
 Actual stderr output differs from expected:
 --- ./driver/T14075/T14075.run/T14075.stderr.normalised 2018-08-02
 03:40:01.063504007 +0000
 +++ ./driver/T14075/T14075.run/T14075.run.stderr.normalised     2018-08-02
 03:40:01.063504007 +0000
 @@ -1,3 +1,4 @@
 +ghc: setNumCapabilities: not supported on this platform

  F.hs:1:1:
      instance O.O F.F -- Defined at F.hs-boot:6:10
 *** unexpected failure for T14075(normal)
 }}}

 **recomp007**
 {{{
 Actual stderr output differs from expected:
 --- /dev/null   2018-08-01 14:11:13.420752000 +0000
 +++ ./driver/recomp007/recomp007.run/recomp007.run.stderr.normalised
 2018-08-02 03:40:46.313078664 +0000
 @@ -0,0 +1,122 @@
 +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.Parsec.Common, 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.Flag,
 +   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.Parsec.Common, 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.Flag,
 +   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 recomp007(normal)
 }}}

 **T14702**
 {{{
 Wrong exit code for T14702(threaded1)(expected 0 , actual 1 )
 Stderr ( T14702 ):
 T14702: unknown RTS option: -N8
 T14702:
 T14702: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS
 <args>
 T14702:
 T14702:    +RTS    Indicates run time system options follow
 T14702:    -RTS    Indicates program arguments follow
 T14702:   --RTS    Indicates that ALL subsequent arguments will be given
 to the
 T14702:            program (including any of these RTS flags)
 T14702:
 T14702: The following run time system options are available:
 T14702:
 T14702:   -?       Prints this message and exits; the program is not
 executed
 T14702:   --info   Print information about the RTS used by this program
 T14702:
 T14702:   -K<size>  Sets the maximum stack size (default: 80% of the heap)
 T14702:             Egs: -K32k -K512k -K8M
 T14702:   -ki<size> Sets the initial thread stack size (default 1k)  Egs:
 -ki4k -ki2m
 T14702:   -kc<size> Sets the stack chunk size (default 32k)
 T14702:   -kb<size> Sets the stack chunk buffer size (default 1k)
 T14702:
 T14702:   -A<size>  Sets the minimum allocation area size (default 1m)
 Egs: -A20m -A10k
 T14702:   -AL<size> Sets the amount of large-object memory that can be
 allocated
 T14702:             before a GC is triggered (default: the value of -A)
 T14702:   -n<size>  Allocation area chunk size (0 = disabled, default: 0)
 T14702:   -O<size>  Sets the minimum size of the old generation (default
 1M)
 T14702:   -M<size>  Sets the maximum heap size (default unlimited)  Egs:
 -M256k -M1G
 T14702:   -H<size>  Sets the minimum heap size (default 0M)   Egs: -H24m
 -H1G
 T14702:   -xb<addr> Sets the address from which a suitable start for the
 heap memory
 T14702:             will be searched from. This is useful if the default
 address
 T14702:             clashes with some third-party library.
 T14702:   -m<n>     Minimum % of heap which must be available (default 3%)
 T14702:   -G<n>     Number of generations (default: 2)
 T14702:   -c<n>     Use in-place compaction instead of copying in the
 oldest generation
 T14702:            when live data is at least <n>% of the maximum heap
 size set with
 T14702:            -M (default: 30%)
 T14702:   -c       Use in-place compaction for all oldest generation
 collections
 T14702:            (the default is to use copying)
 T14702:   -w       Use mark-region for the oldest generation
 (experimental)
 T14702:   -I<sec>  Perform full GC after <sec> idle time (default: 0.3, 0
 == off)
 T14702:
 T14702:   -T         Collect GC statistics (useful for in-program
 statistics access)
 T14702:   -t[<file>] One-line GC statistics (if <file> omitted, uses
 stderr)
 T14702:   -s[<file>] Summary  GC statistics (if <file> omitted, uses
 stderr)
 T14702:   -S[<file>] Detailed GC statistics (if <file> omitted, uses
 stderr)
 T14702:
 T14702:
 T14702:   -Z         Don't squeeze out update frames on stack overflow
 T14702:   -B         Sound the bell at the start of each garbage
 collection
 T14702:
 T14702:   -hT            Produce a heap profile grouped by closure type
 T14702:   -l[flags]  Log events in binary format to the file
 <program>.eventlog
 T14702:   -v[flags]  Log events to stderr
 T14702:              where [flags] can contain:
 T14702:                 s    scheduler events
 T14702:                 g    GC and heap events
 T14702:                 p    par spark events (sampled)
 T14702:                 f    par spark events (full detail)
 T14702:                 u    user events (emitted from Haskell code)
 T14702:                 a    all event classes above
 T14702:                 t    add time stamps (only useful with -v)
 T14702:                -x    disable an event class, for any flag above
 T14702:              the initial enabled event classes are 'sgpu'
 T14702:
 T14702:   -h       Heap residency profile (output file <program>.hp)
 T14702:   -i<sec>  Time between heap profile samples (seconds, default:
 0.1)
 T14702:
 T14702:   -r<file>  Produce ticky-ticky statistics (with -rstderr for
 stderr)
 T14702:
 T14702:   -C<secs>  Context-switch interval in seconds.
 T14702:             0 or no argument means switch as often as possible.
 T14702:             Default: 0.02 sec.
 T14702:   -V<secs>  Master tick interval in seconds (0 == disable timer).
 T14702:             This sets the resolution for -C and the heap profile
 timer -i,
 T14702:             and is the frequency of time profile samples.
 T14702:             Default: 0.01 sec.
 T14702:
 T14702:   -Ds  DEBUG: scheduler
 T14702:   -Di  DEBUG: interpreter
 T14702:   -Dw  DEBUG: weak
 T14702:   -DG  DEBUG: gccafs
 T14702:   -Dg  DEBUG: gc
 T14702:   -Db  DEBUG: block
 T14702:   -DS  DEBUG: sanity
 T14702:   -Dt  DEBUG: stable
 T14702:   -Dp  DEBUG: prof
 T14702:   -Da  DEBUG: apply
 T14702:   -Dl  DEBUG: linker
 T14702:   -Dm  DEBUG: stm
 T14702:   -Dz  DEBUG: stack squeezing
 T14702:   -Dc  DEBUG: program coverage
 T14702:   -Dr  DEBUG: sparks
 T14702:   -DC  DEBUG: compact
 T14702:
 T14702:      NOTE: DEBUG events are sent to stderr by default; add -l to
 create a
 T14702:      binary event log file instead.
 T14702:
 T14702:   --install-signal-handlers=<yes|no>
 T14702:             Install signal handlers (default: yes)
 T14702:   -e<n>     Maximum number of outstanding local sparks (default:
 4096)
 T14702:   -xm       Base address to mmap memory in the GHCi linker
 T14702:             (hex; must be <80000000)
 T14702:   -xq       The allocation limit given to a thread after it
 receives
 T14702:             an AllocationLimitExceeded exception. (default: 100k)
 T14702:
 T14702:   -Mgrace=<n>
 T14702:             The amount of allocation after the program receives a
 T14702:             HeapOverflow exception before the exception is thrown
 again, if
 T14702:             the program is still exceeding the heap limit.
 T14702:
 T14702: RTS options may also be specified using the GHCRTS environment
 variable.
 T14702:
 T14702: Other RTS options may be available for programs compiled a
 different way.
 T14702: The GHC User's Guide has full details.
 T14702:
 *** unexpected failure for T14702(threaded1)
 }}}


 **nursery-chunks1**
 {{{
 Actual stderr output differs from expected:
 --- /dev/null   2018-08-01 14:11:13.420752000 +0000
 +++ ./rts/nursery-chunks1.run/nursery-chunks1.run.stderr.normalised
 2018-08-02 03:45:18.786560729 +0000
 @@ -0,0 +1,3 @@
 +nursery-chunks1: setNumCapabilities: not supported on this platform
 +nursery-chunks1: setNumCapabilities: not supported on this platform
 +nursery-chunks1: setNumCapabilities: not supported on this platform
 *** unexpected failure for nursery-chunks1(threaded1)
 }}}

 **numa001**
 {{{
 Wrong exit code for numa001(debug_numa)(expected 0 , actual 1 )
 Stderr ( numa001 ):
 numa001: unknown RTS option: -N2
 numa001:
 numa001: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS
 <args>
 numa001:
 numa001:    +RTS    Indicates run time system options follow
 numa001:    -RTS    Indicates program arguments follow
 numa001:   --RTS    Indicates that ALL subsequent arguments will be given
 to the
 numa001:            program (including any of these RTS flags)
 numa001:
 numa001: The following run time system options are available:
 numa001:
 numa001:   -?       Prints this message and exits; the program is not
 executed
 numa001:   --info   Print information about the RTS used by this program
 numa001:
 numa001:   -K<size>  Sets the maximum stack size (default: 80% of the
 heap)
 numa001:             Egs: -K32k -K512k -K8M
 numa001:   -ki<size> Sets the initial thread stack size (default 1k)  Egs:
 -ki4k -ki2m
 numa001:   -kc<size> Sets the stack chunk size (default 32k)
 numa001:   -kb<size> Sets the stack chunk buffer size (default 1k)
 numa001:
 numa001:   -A<size>  Sets the minimum allocation area size (default 1m)
 Egs: -A20m -A10k
 numa001:   -AL<size> Sets the amount of large-object memory that can be
 allocated
 numa001:             before a GC is triggered (default: the value of -A)
 numa001:   -n<size>  Allocation area chunk size (0 = disabled, default: 0)
 numa001:   -O<size>  Sets the minimum size of the old generation (default
 1M)
 numa001:   -M<size>  Sets the maximum heap size (default unlimited)  Egs:
 -M256k -M1G
 numa001:   -H<size>  Sets the minimum heap size (default 0M)   Egs: -H24m
 -H1G
 numa001:   -xb<addr> Sets the address from which a suitable start for the
 heap memory
 numa001:             will be searched from. This is useful if the default
 address
 numa001:             clashes with some third-party library.
 numa001:   -m<n>     Minimum % of heap which must be available (default
 3%)
 numa001:   -G<n>     Number of generations (default: 2)
 numa001:   -c<n>     Use in-place compaction instead of copying in the
 oldest generation
 numa001:            when live data is at least <n>% of the maximum heap
 size set with
 numa001:            -M (default: 30%)
 numa001:   -c       Use in-place compaction for all oldest generation
 collections
 numa001:            (the default is to use copying)
 numa001:   -w       Use mark-region for the oldest generation
 (experimental)
 numa001:   -I<sec>  Perform full GC after <sec> idle time (default: 0.3, 0
 == off)
 numa001:
 numa001:   -T         Collect GC statistics (useful for in-program
 statistics access)
 numa001:   -t[<file>] One-line GC statistics (if <file> omitted, uses
 stderr)
 numa001:   -s[<file>] Summary  GC statistics (if <file> omitted, uses
 stderr)
 numa001:   -S[<file>] Detailed GC statistics (if <file> omitted, uses
 stderr)
 numa001:
 numa001:
 numa001:   -Z         Don't squeeze out update frames on stack overflow
 numa001:   -B         Sound the bell at the start of each garbage
 collection
 numa001:
 numa001:   -hT            Produce a heap profile grouped by closure type
 numa001:   -l[flags]  Log events in binary format to the file
 <program>.eventlog
 numa001:   -v[flags]  Log events to stderr
 numa001:              where [flags] can contain:
 numa001:                 s    scheduler events
 numa001:                 g    GC and heap events
 numa001:                 p    par spark events (sampled)
 numa001:                 f    par spark events (full detail)
 numa001:                 u    user events (emitted from Haskell code)
 numa001:                 a    all event classes above
 numa001:                 t    add time stamps (only useful with -v)
 numa001:                -x    disable an event class, for any flag above
 numa001:              the initial enabled event classes are 'sgpu'
 numa001:
 numa001:   -h       Heap residency profile (output file <program>.hp)
 numa001:   -i<sec>  Time between heap profile samples (seconds, default:
 0.1)
 numa001:
 numa001:   -r<file>  Produce ticky-ticky statistics (with -rstderr for
 stderr)
 numa001:
 numa001:   -C<secs>  Context-switch interval in seconds.
 numa001:             0 or no argument means switch as often as possible.
 numa001:             Default: 0.02 sec.
 numa001:   -V<secs>  Master tick interval in seconds (0 == disable timer).
 numa001:             This sets the resolution for -C and the heap profile
 timer -i,
 numa001:             and is the frequency of time profile samples.
 numa001:             Default: 0.01 sec.
 numa001:
 numa001:   -Ds  DEBUG: scheduler
 numa001:   -Di  DEBUG: interpreter
 numa001:   -Dw  DEBUG: weak
 numa001:   -DG  DEBUG: gccafs
 numa001:   -Dg  DEBUG: gc
 numa001:   -Db  DEBUG: block
 numa001:   -DS  DEBUG: sanity
 numa001:   -Dt  DEBUG: stable
 numa001:   -Dp  DEBUG: prof
 numa001:   -Da  DEBUG: apply
 numa001:   -Dl  DEBUG: linker
 numa001:   -Dm  DEBUG: stm
 numa001:   -Dz  DEBUG: stack squeezing
 numa001:   -Dc  DEBUG: program coverage
 numa001:   -Dr  DEBUG: sparks
 numa001:   -DC  DEBUG: compact
 numa001:
 numa001:      NOTE: DEBUG events are sent to stderr by default; add -l to
 create a
 numa001:      binary event log file instead.
 numa001:
 numa001:   --install-signal-handlers=<yes|no>
 numa001:             Install signal handlers (default: yes)
 numa001:   -e<n>     Maximum number of outstanding local sparks (default:
 4096)
 numa001:   -xm       Base address to mmap memory in the GHCi linker
 numa001:             (hex; must be <80000000)
 numa001:   -xq       The allocation limit given to a thread after it
 receives
 numa001:             an AllocationLimitExceeded exception. (default: 100k)
 numa001:
 numa001:   -Mgrace=<n>
 numa001:             The amount of allocation after the program receives a
 numa001:             HeapOverflow exception before the exception is thrown
 again, if
 numa001:             the program is still exceeding the heap limit.
 numa001:
 numa001: RTS options may also be specified using the GHCRTS environment
 variable.
 numa001:
 numa001: Other RTS options may be available for programs compiled a
 different way.
 numa001: The GHC User's Guide has full details.
 numa001:
 *** unexpected failure for numa001(debug_numa)
 }}}

 **T11760**
 {{{
 Wrong exit code for T11760(normal)(expected 0 , actual 1 )
 Stderr ( T11760 ):
 T11760: unknown RTS option: -N2
 T11760:
 T11760: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS
 <args>
 T11760:
 T11760:    +RTS    Indicates run time system options follow
 T11760:    -RTS    Indicates program arguments follow
 T11760:   --RTS    Indicates that ALL subsequent arguments will be given
 to the
 T11760:            program (including any of these RTS flags)
 T11760:
 T11760: The following run time system options are available:
 T11760:
 T11760:   -?       Prints this message and exits; the program is not
 executed
 T11760:   --info   Print information about the RTS used by this program
 T11760:
 T11760:   -K<size>  Sets the maximum stack size (default: 80% of the heap)
 T11760:             Egs: -K32k -K512k -K8M
 T11760:   -ki<size> Sets the initial thread stack size (default 1k)  Egs:
 -ki4k -ki2m
 T11760:   -kc<size> Sets the stack chunk size (default 32k)
 T11760:   -kb<size> Sets the stack chunk buffer size (default 1k)
 T11760:
 T11760:   -A<size>  Sets the minimum allocation area size (default 1m)
 Egs: -A20m -A10k
 T11760:   -AL<size> Sets the amount of large-object memory that can be
 allocated
 T11760:             before a GC is triggered (default: the value of -A)
 T11760:   -n<size>  Allocation area chunk size (0 = disabled, default: 0)
 T11760:   -O<size>  Sets the minimum size of the old generation (default
 1M)
 T11760:   -M<size>  Sets the maximum heap size (default unlimited)  Egs:
 -M256k -M1G
 T11760:   -H<size>  Sets the minimum heap size (default 0M)   Egs: -H24m
 -H1G
 T11760:   -xb<addr> Sets the address from which a suitable start for the
 heap memory
 T11760:             will be searched from. This is useful if the default
 address
 T11760:             clashes with some third-party library.
 T11760:   -m<n>     Minimum % of heap which must be available (default 3%)
 T11760:   -G<n>     Number of generations (default: 2)
 T11760:   -c<n>     Use in-place compaction instead of copying in the
 oldest generation
 T11760:            when live data is at least <n>% of the maximum heap
 size set with
 T11760:            -M (default: 30%)
 T11760:   -c       Use in-place compaction for all oldest generation
 collections
 T11760:            (the default is to use copying)
 T11760:   -w       Use mark-region for the oldest generation
 (experimental)
 T11760:   -I<sec>  Perform full GC after <sec> idle time (default: 0.3, 0
 == off)
 T11760:
 T11760:   -T         Collect GC statistics (useful for in-program
 statistics access)
 T11760:   -t[<file>] One-line GC statistics (if <file> omitted, uses
 stderr)
 T11760:   -s[<file>] Summary  GC statistics (if <file> omitted, uses
 stderr)
 T11760:   -S[<file>] Detailed GC statistics (if <file> omitted, uses
 stderr)
 T11760:
 T11760:
 T11760:   -Z         Don't squeeze out update frames on stack overflow
 T11760:   -B         Sound the bell at the start of each garbage
 collection
 T11760:
 T11760:   -hT            Produce a heap profile grouped by closure type
 T11760:   -h       Heap residency profile (output file <program>.hp)
 T11760:   -i<sec>  Time between heap profile samples (seconds, default:
 0.1)
 T11760:
 T11760:   -C<secs>  Context-switch interval in seconds.
 T11760:             0 or no argument means switch as often as possible.
 T11760:             Default: 0.02 sec.
 T11760:   -V<secs>  Master tick interval in seconds (0 == disable timer).
 T11760:             This sets the resolution for -C and the heap profile
 timer -i,
 T11760:             and is the frequency of time profile samples.
 T11760:             Default: 0.01 sec.
 T11760:
 T11760:   --install-signal-handlers=<yes|no>
 T11760:             Install signal handlers (default: yes)
 T11760:   -e<n>     Maximum number of outstanding local sparks (default:
 4096)
 T11760:   -xm       Base address to mmap memory in the GHCi linker
 T11760:             (hex; must be <80000000)
 T11760:   -xq       The allocation limit given to a thread after it
 receives
 T11760:             an AllocationLimitExceeded exception. (default: 100k)
 T11760:
 T11760:   -Mgrace=<n>
 T11760:             The amount of allocation after the program receives a
 T11760:             HeapOverflow exception before the exception is thrown
 again, if
 T11760:             the program is still exceeding the heap limit.
 T11760:
 T11760: RTS options may also be specified using the GHCRTS environment
 variable.
 T11760:
 T11760: Other RTS options may be available for programs compiled a
 different way.
 T11760: The GHC User's Guide has full details.
 T11760:
 *** unexpected failure for T11760(normal)
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15467#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list