[GHC] #9454: Unregisterized builds failing due to multiple uniques assigned to same FastString
#9454: Unregisterized builds failing due to multiple uniques assigned to same
FastString
-------------------------------------+-------------------------------------
       Reporter:  ezyang             |                   Owner:  ezyang
           Type:  bug                |                  Status:  new
       Priority:  high               |               Milestone:
      Component:  Compiler           |                 Version:  7.9
       Keywords:                     |        Operating System:
   Architecture:  Unknown/Multiple   |  Unknown/Multiple
     Difficulty:  Unknown            |         Type of failure:  Incorrect
     Blocked By:                     |  result at runtime
Related Tickets:                     |               Test Case:
                                     |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------
 When compiling with `--enable-unregisterised`, we get this failure:
 {{{
 "inplace/bin/ghc-stage1" -hisuf hi -osuf  o -hcsuf hc -static  -H32m -O
 -this-package-key conta_4P4
 dHnD3A89EkvERxmaFmd -hide-all-packages -i -ilibraries/containers/.
 -ilibraries/containers/dist-install
 /build -ilibraries/containers/dist-install/build/autogen
 -Ilibraries/containers/dist-install/build -Il
 ibraries/containers/dist-install/build/autogen
 -Ilibraries/containers/include    -optP-include -optPli
 braries/containers/dist-install/build/autogen/cabal_macros.h -package-key
 array_H3W2D8UaI9TKGEhUuQHax2
  -package-key base_DiPQ1siqG3SBjHauL3L03p -package-key
 deeps_L0rJEVU1Zgn8x0Qs5aTOsU -package-key ghcpr
 _BE58KUgBe9ELCsPXiJ1Q2r -O2 -Wall -XHaskell98 -XRoleAnnotations -O2  -no-
 user-package-db -rtsopts
  -odir libraries/containers/dist-install/build -hidir libraries/containers
 /dist-install/build -stubdir
  libraries/containers/dist-install/build  -dynamic-too -c
 libraries/containers/./Data/StrictPair.hs -o
  libraries/containers/dist-install/build/Data/StrictPair.o -dyno
 libraries/containers/dist-install/bui
 ld/Data/StrictPair.dyn_o
 <command line>: unknown package: deepseq-1.3.0.2
 }}}
 The reason why GHC is unable to find the package is because, as it turns
 out, the Unique that was used to store the key in a map is different from
 the Unique associated with the FastString that we're doing the lookup
 with.
 The bug only shows up with ghc-stage1 is compiled with optimizations.
 Bisecting revealed that this commit was to blame:
 {{{
 commit 66218d15b7c27a4a38992003bd761f60bae84b1f
 Author: Edward Z. Yang 
#9454: Unregisterized builds failing due to multiple uniques assigned to same
FastString
-------------------------------------+-------------------------------------
              Reporter:  ezyang      |            Owner:  ezyang
                  Type:  bug         |           Status:  closed
              Priority:  high        |        Milestone:
             Component:  Compiler    |          Version:  7.9
            Resolution:  fixed       |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:  Incorrect   |       Blocked By:
  result at runtime                  |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
  https://phabricator.haskell.org/D164|
-------------------------------------+-------------------------------------
Changes (by ezyang):
 * status:  new => closed
 * differential:   => https://phabricator.haskell.org/D164
 * resolution:   => fixed
Comment:
 Fixed by:
 {{{commit 9a708d38c4491dfdf7f97c03e3ff6d482cbdd66e
 Author: Sergei Trofimovich 
participants (1)
- 
                
GHC