[GHC] #15467: unregisterised validation failures

#15467: unregisterised validation failures --------------------------------------+--------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.5 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: --------------------------------------+--------------------------------- The most recent completed run of `validate-x86_64-linux-unreg` on Circle CI (https://circleci.com/gh/ghc/ghc/7733) shows 13 unexpected failures and 1 unexpected pass. **Summary** {{{ Unexpected passes: concurrent/T13615/T13615.run T13615 [unexpected] (ghci) Unexpected failures: codeGen/should_compile/T9329.run T9329 [exit code non-0] (normal) codeGen/should_run/cgrun018.run cgrun018 [exit code non-0] (normal) codeGen/should_run/cgrun018.run cgrun018 [exit code non-0] (g1) codeGen/should_run/cgrun069.run cgrun069 [exit code non-0] (normal) codeGen/should_run/cgrun069.run cgrun069 [exit code non-0] (g1) codeGen/should_run/T9577.run T9577 [bad stdout] (normal) concurrent/should_run/T3429.run T3429 [bad exit code] (debug_numa) driver/T14075/T14075.run T14075 [bad stderr] (normal) rts/T7040_ghci.run T7040_ghci [bad stderr] (ghci) rts/T14702.run T14702 [bad exit code] (threaded1) rts/nursery-chunks1.run nursery-chunks1 [bad stderr] (threaded1) rts/numa001.run numa001 [bad exit code] (debug_numa) ../../libraries/base/tests/T11760.run T11760 [bad exit code] (normal) }}} All failures but `T7040_ghci` happen in the debug validation job too (see #15466). `recomp007` doesn't fail here and `T7040_ghci` "replaces" it. I'm therefore only including the details for `T7040_ghci` here, as you can find out everything about the other faiilures in #15466. --- **T7040_ghci** {{{ Actual stderr output differs from expected: --- /dev/null 2018-08-01 14:20:42.758797000 +0000 +++ ./rts/T7040_ghci.run/T7040_ghci.run.stderr.normalised 2018-08-02 04:15:35.594990695 +0000 @@ -0,0 +1,4 @@ + +T7040_ghci:6:30: + Not in scope: ‘Main.main’ + No module named ‘Main’ is imported. *** unexpected failure for T7040_ghci(ghci) }}} I suspect this is one of those cases where ghci can't load the module because of unboxed sums and what not, I havent' checked yet, but we were seeing that type of error. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15467 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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=

#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 Ben Gamari

#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 osa1): More unreg validate failures at: https://gitlab.haskell.org/mpickering/ghc/pipelines/675 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15467#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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 RyanGlScott): I just experienced the same `T1288_ghci` failure from comment:3. Can that be marked as broken, please? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15467#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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 osa1): I think unreg is unreliable in general. Unless we mark all tests as broken unreg validate will break again at some point. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15467#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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: #16085 | Differential Rev(s): Wiki Page: | ---------------------------------+-------------------------------------- Changes (by RyanGlScott): * related: => #16085 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15467#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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: #16085 | Differential Rev(s): Wiki Page: | ---------------------------------+-------------------------------------- Comment (by bgamari): I have marked T1288_ghci as broken in !186. In my opinion we should mark the particularly fragile tests as broken in the unregisterised way. Not only will this help identify the tests which the unregisterised backend struggles with (which may help identify how it can be fixed) it also brings us closer to removing the `allow_failure` tag from the unregisterised CI job. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15467#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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: #16085 | Differential Rev(s):
Wiki Page: |
---------------------------------+--------------------------------------
Comment (by Ben Gamari

#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: #16085 | Differential Rev(s):
Wiki Page: |
---------------------------------+--------------------------------------
Comment (by Marge Bot
participants (1)
-
GHC