[GHC] #15466: debug validation failures

#15466: debug 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: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
--------------------------------------+---------------------------------
The most recent completed run of `validate-x86_64-linux-debug` on Circle
CI (https://circleci.com/gh/ghc/ghc/7730) 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)
driver/recomp007/recomp007.run recomp007 [bad stderr] (normal)
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)
}}}
---
**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=

#15466: debug 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: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+-------------------------------------- Comment (by bgamari): Hmm, I'm a bit confused; the references to `PprC` makes me think that this is being built unregisterised for some reason. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15466#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15466: debug 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: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+-------------------------------------- Comment (by bgamari): Ahhh, I see; it looks like the `validate-x86_64-linux-debug` test configuration is using `configure_unreg` instead of `configure_unix`. I suspect this is my cut-and-paste error. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15466#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15466: debug 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: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5037 Wiki Page: | ---------------------------------+-------------------------------------- Changes (by bgamari): * differential: => Phab:D5037 Comment: Fixed in Phab:D5037. I'd imagine this will fix many, but perhaps not all, of the issues reported above. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15466#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15466: debug 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: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+-------------------------------------- Changes (by alpmestan): * differential: Phab:D5037 => Comment: All the failures that are in common with #15467 are in fact due to the debug validation job building an unregisterised GHC, as you pointed out above and fixed by: https://phabricator.haskell.org/D5037 So the only "proper" `debug` failure would seem to be: {{{ driver/recomp007/recomp007.run recomp007 [bad stderr] (norma }}} At least that's what we can assume until your patch lands in master and Circle CI builds it. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15466#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15466: debug 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:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
---------------------------------+--------------------------------------
Comment (by Krzysztof Gogolewski

#15466: debug 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: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+-------------------------------------- Changes (by osa1): * cc: osa1 (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15466#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC