#11060: Failing tests on 32 bit platforms
-------------------------------------+-------------------------------------
Reporter: erikd | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.0.1
Component: Test Suite | Version: 7.11
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Other
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
On 32 bit PowerPC and Arm I've been getting about 20 new test failures
(starting about a week ago).
For example:
{{{
--- ./simplCore/should_compile/T8274.stdout.normalised
+++ ./simplCore/should_compile/T8274.run.stdout.normalised
@@ -1,10 +1,10 @@
T8274.$trModule2 = TrNameS "main"#
T8274.$trModule1 = TrNameS "T8274"#
T8274.$tcP1 = TrNameS "P"#
- 11095028091707994303##
- 9476557054198009608##
+ 11095028091707994303L##
+ 9476557054198009608L##
T8274.$tcN1 = TrNameS "N"#
- 7479687563082171902##
- 17616649989360543185##
+ 7479687563082171902L##
+ 17616649989360543185L##
p = T8274.Positives 42# 4.23# 4.23## '4'# 4##
n = T8274.Negatives -4# -4.0# -4.0##
\ No newline at end of file
*** unexpected failure for T8274(normal)
}}}
This is simply a matter of a difference between the expected output
`123##` vs `123L##`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11060>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#4012: Compilation results are not deterministic
-------------------------------------+-------------------------------------
Reporter: kili | Owner: niteria
Type: bug | Status: patch
Priority: high | Milestone: 8.0.1
Component: Compiler | Version: 6.12.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Other | Test Case:
Blocked By: | Blocking:
Related Tickets: #10424 | Differential Rev(s): Phab:D910,
| Phab:D1073, Phab:D1133, Phab:D1192,
| Phab:D1268, Phab:D1360, Phab:D1373,
| Phab:D1396, Phab:D1457, Phab:D1468,
Wiki Page: | Phab:D1487, Phab:D1504, Phab:D1508
-------------------------------------+-------------------------------------
Comment (by Ben Gamari <ben@…>):
In [changeset:"6393dd8e437f68856b2e7889e576ed1bfb0a9678/ghc" 6393dd8/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="6393dd8e437f68856b2e7889e576ed1bfb0a9678"
Make abstractVars deterministic in SetLevel
This fixes a non-determinism bug where depending on the order
of uniques allocated, the type variables would be in a different order
when abstracted for the purpose of lifting out an expression.
Test Plan:
I've added a new testcase that reproduces the problem
./validate
Reviewers: simonmar, austin, bgamari, simonpj
Reviewed By: simonpj
Subscribers: nomeata, thomie
Differential Revision: https://phabricator.haskell.org/D1504
GHC Trac Issues: #4012
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4012#comment:134>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#11124: GHC does not shadow -package-name/-this-package-key
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: low | Milestone:
Component: Package | Version: 7.11
system |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: GHC accepts
Unknown/Multiple | invalid program
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Steps to reproduce:
1. Install a package named `a` with these contents:
**a.cabal**
{{{
name: a
version: 0.1.0.0
cabal-version: >=1.10
library
exposed-modules: A
build-depends: base
}}}
**A.hs**
{{{
module A where
data A = A String
}}}
Note what unit ID/package key/package name the package installs as. On
GHC 7.8 it will be something like `a-0.1.0.0`, on GHC 7.10 it will be
something like `a_LKCPrTJwOTOLk4OU37YmeN`, on GHC 8.0 it will be something
like `a-0.1.0.0-LKCPrTJwOTOLk4OU37Yme`.
2. Install a package named `b` with these contents:
**b.cabal**
{{{
name: b
version: 0.1.0.0
cabal-version: >=1.10
library
exposed-modules: B
build-depends: base, a
}}}
**b.hs**
{{{
module B where
import A
b = A "foo"
}}}
3. Go back to `a`, and load `A.hs` in GHCi with `ghci A.hs -package-name
a-0.1.0.0 -package-db ../db`. Notice that we can `import B` from this GHCi
session:
{{{
ezyang@sabre:~/Dev/labs/ii/a$ ghci A.hs -package-name a-0.1.0.0 -package-
db ../db
GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling A ( A.hs, interpreted )
Ok, modules loaded: A.
*A> import B
*A B> b
Loading package a-0.1.0.0 ... linking ... done.
Loading package b-0.1.0.0 ... linking ... done.
A "asdfsdf"
*A B>
Leaving GHCi.
}}}
3. Edit `A.hs` so that now contains:
{{{
module A where
data A = A Int
}}}
4. Load in GHCi again:
{{{
ezyang@sabre:~/Dev/labs/ii/a$ ghci A.hs -package-name a-0.1.0.0 -package-
db ../db
GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling A ( A.hs, interpreted )
Ok, modules loaded: A.
*A> import B
*A B> b
Loading package a-0.1.0.0 ... linking ... done.
Loading package b-0.1.0.0 ... linking ... done.
A 3458765062984598387
}}}
Disaster!
Actually, this bug is relatively harmless:
1. If you try to actually reinstall package a, that's a "dangerous"
reinstall and it's known that reinstalls can break things.
2. It's hard to convince Cabal to trigger this, since importing `B`
requires `b` in the build-depends, and that would constitute a circular
package dependency. (You can't separate it out because of (1))
3. If you don't specify `-package-name` (or similar) the local `A` and the
remote `A` will have different identities, no problem.
4. When you do specify `-package-name`, you can't build a main executable
(so the only way to run is by loading into GHCi, as shown above.)
5. Sometimes, GHCi will notice that something is amiss if it tries to load
the object file for both the remote A and the local A.
But the fix seems simple: if a user specifies `-package-name`, it should
be AS IF they also specified `-ignore-package`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11124>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#11109: build broken in libffi/ when `install-sh` is used
-------------------------------------+-------------------------------------
Reporter: hvr | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.0.1
Component: Build System | Version: 7.10.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:
-------------------------------------+-------------------------------------
If the `/usr/bin/install` tool is missing or not deemed usable by
Autoconf, `install-sh` is used.
However, GHC's build then fails with
{{{
...
===--- building final phase
make --no-print-directory -f ghc.mk phase=final all
rts/ghc.mk:543: rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-
debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm: No such file or
directory
compiler/ghc.mk:661: compiler/stage2/build/.depend-v-dyn.haskell: No such
file or directory
make -C libffi/build MAKEFLAGS= install
MAKE x86_64-unknown-linux-gnu : 0 * install
make[3]: Entering directory '/home/hvr/Haskell/GHC/ghc/libffi/build/x86_64
-unknown-linux-gnu'
Making install in include
make[4]: Entering directory '/home/hvr/Haskell/GHC/ghc/libffi/build/x86_64
-unknown-linux-gnu/include'
make[5]: Entering directory '/home/hvr/Haskell/GHC/ghc/libffi/build/x86_64
-unknown-linux-gnu/include'
make[5]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p
'/home/hvr/Haskell/GHC/ghc/libffi/build/inst/lib/libffi-3.1/include'
../install-sh -c -m 644 ffi.h ffitarget.h
'/home/hvr/Haskell/GHC/ghc/libffi/build/inst/lib/libffi-3.1/include'
/bin/bash: line 11: ../install-sh: No such file or directory
Makefile:361: recipe for target 'install-nodist_includesHEADERS' failed
make[5]: *** [install-nodist_includesHEADERS] Error 127
make[5]: Leaving directory '/home/hvr/Haskell/GHC/ghc/libffi/build/x86_64
-unknown-linux-gnu/include'
Makefile:477: recipe for target 'install-am' failed
make[4]: *** [install-am] Error 2
make[4]: Leaving directory '/home/hvr/Haskell/GHC/ghc/libffi/build/x86_64
-unknown-linux-gnu/include'
Makefile:1577: recipe for target 'install-recursive' failed
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory '/home/hvr/Haskell/GHC/ghc/libffi/build/x86_64
-unknown-linux-gnu'
Makefile:3095: recipe for target 'install' failed
make[2]: *** [install] Error 2
libffi/ghc.mk:116: recipe for target 'libffi/stamp.ffi.static-
shared.install' failed
make[1]: *** [libffi/stamp.ffi.static-shared.install] Error 2
Makefile:121: recipe for target 'all' failed
make: *** [all] Error 2
}}}
This can be easily simulated on Linux by temporarily renaming
`/usr/bin/install`
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11109>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#4012: Compilation results are not deterministic
-------------------------------------+-------------------------------------
Reporter: kili | Owner: niteria
Type: bug | Status: patch
Priority: high | Milestone: 8.0.1
Component: Compiler | Version: 6.12.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Other | Test Case:
Blocked By: | Blocking:
Related Tickets: #10424 | Differential Rev(s): Phab:D910,
| Phab:D1073, Phab:D1133, Phab:D1192,
| Phab:D1268, Phab:D1360, Phab:D1373,
| Phab:D1396, Phab:D1457, Phab:D1468,
Wiki Page: | Phab:D1487, Phab:D1504, Phab:D1508
-------------------------------------+-------------------------------------
Comment (by Herbert Valerio Riedel <hvr@…>):
In [changeset:"a703fbce20969e6f02e74fee76c0a9e22b513426/ghc"
a703fbce/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="a703fbce20969e6f02e74fee76c0a9e22b513426"
Remove accidentally added T10359 blob
This sneaked in via 2325bd4e0fad0e5872556c5a78d1a6a1873e7201 / D1468 /
#4012
This is frustrating... we've added a useless 2.4MiB binary blob to our
Git history which wastes *everyones* bandwidth for eternity
(unless we truncate or rewrite history).
We should add lint-checks and/or a pre-receive commit hook test to prevent
this in future.
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4012#comment:133>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
#10824: Let-bindings of kind # are processed backwards
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Revisions: |
-------------------------------------+-------------------------------------
Consider this module:
{{{
{-# LANGUAGE MagicHash #-}
import GHC.Exts
main = do let x = error "bar" :: Int#
y = error "foo" :: Int#
print (I# x + I# y)
}}}
When you run this, you will get the error "foo" and not the error "bar".
This is backwards!
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10824>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler