[GHC] #9426: ghci triggers 'ASSERT failed! file compiler/ghci/Linker.lhs, line 906'
GHC
ghc-devs at haskell.org
Fri Aug 8 14:01:47 UTC 2014
#9426: ghci triggers 'ASSERT failed! file compiler/ghci/Linker.lhs, line 906'
-------------------------------------+-------------------------------------
Reporter: slyfox | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.2
Keywords: | Operating System:
Architecture: Unknown/Multiple | Unknown/Multiple
Difficulty: Unknown | Type of failure:
Blocked By: | None/Unknown
Related Tickets: | Test Case:
| Blocking:
| Differential Revisions:
-------------------------------------+-------------------------------------
Found by '''./validate --slow''':
{{{
Unexpected failures:
ghci/scripts ghci044 [bad stderr] (ghci)
ghci/scripts ghci047 [bad stderr] (ghci)
# run manially:
$ LANG=C make fulltest stage=2 TEST="ghci044 ghci047"
=====> ghci047(ghci) 87 of 4083 [0, 1, 0]
cd ./ghci/scripts && HC='/home/st/fun/ghc/inplace/bin/ghc-stage2' HC_OPTS
='-dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts
-fno-ghci-history ' '/home/st/fun/ghc/inplace/bin/ghc-stage2'
--interactive -v0 -ignore-dot-ghci -dcore-lint -dcmm-lint -dno-debug-
output -no-user-package-db -rtsopts -fno-ghci-history <ghci047.script
>ghci047.run.stdout 2>ghci047.run.stderr
Actual stderr output differs from expected:
--- ./ghci/scripts/ghci047.stderr 2014-07-31 12:05:34.000000000
+0300
+++ ./ghci/scripts/ghci047.run.stderr 2014-08-08 16:58:01.000000000
+0300
@@ -1,16 +1,14 @@
+*** Exception: ASSERT failed! file compiler/ghci/Linker.lhs, line 906
+*** Exception: ASSERT failed! file compiler/ghci/Linker.lhs, line 906
-<interactive>:38:1:
- Couldn't match type ‘HFalse’ with ‘HTrue’
- Expected type: HTrue
- Actual type: Or HFalse HFalse
- In the expression: f
- In the expression: f $ Baz 'a'
- In an equation for ‘it’: it = f $ Baz 'a'
-
-<interactive>:39:1:
- Couldn't match type ‘HFalse’ with ‘HTrue’
- Expected type: HTrue
- Actual type: Or HFalse HFalse
- In the expression: f
- In the expression: f $ Quz
- In an equation for ‘it’: it = f $ Quz
+<interactive>:36:1: Not in scope: ‘f’
+
+<interactive>:37:1: Not in scope: ‘f’
+
+<interactive>:38:1: Not in scope: ‘f’
+
+<interactive>:39:1: Not in scope: ‘f’
+
+<interactive>:40:1: Not in scope: ‘f’
+
+<interactive>:41:1: Not in scope: ‘f’
Actual stdout output differs from expected:
--- ./ghci/scripts/ghci047.stdout 2014-07-31 12:05:34.000000000
+0300
+++ ./ghci/scripts/ghci047.run.stdout 2014-08-08 16:58:01.000000000
+0300
@@ -1,4 +0,0 @@
-1
-1
-1
-1
*** unexpected failure for ghci047(ghci)
}}}
The trigger in '''compiler/ghci/Linker.lhs:906''':
{{{#!hs
linkSomeBCOs dflags toplevs_only ie ce_in ul_bcos
= do let nms = map unlinkedBCOName ul_bcos
hvals <- fixIO
( \ hvs -> let ce_out = extendClosureEnv ce_in
(zipLazy nms hvs)
in mapM (linkBCO dflags ie ce_out) ul_bcos
)
let ce_all_additions = zip nms hvals
ce_top_additions = filter (isExternalName.fst)
ce_all_additions
ce_additions = if toplevs_only then ce_top_additions
else ce_all_additions
ce_out = -- make sure we're not inserting duplicate names into
the
-- closure environment, which leads to trouble.
{- 906 -} ASSERT(all (not . (`elemNameEnv` ce_in)) (map fst
ce_additions))
extendClosureEnv ce_in ce_additions
return (ce_out, hvals)
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9426>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list