[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