[GHC] #4012: Compilation results are not deterministic

GHC ghc-devs at haskell.org
Thu Aug 18 00:52:13 UTC 2016


#4012: Compilation results are not deterministic
-------------------------------------+-------------------------------------
        Reporter:  kili              |                Owner:  niteria
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.2.1
       Component:  Compiler          |              Version:  6.12.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  Other             |            Test Case:
      Blocked By:  11362             |             Blocking:  12262
 Related Tickets:  #10424            |  Differential Rev(s):  Phab:D910,
                                     |  Phab:D1073, Phab:D1133, Phab:D1192,
                                     |  Phab:D1268, Phab:D1360, Phab:D1373,
       Wiki Page:                    |  Phab:D1396, Phab:D1457, Phab:D1468,
  DeterministicBuilds                |  Phab:D1487, Phab:D1504, Phab:D1508
-------------------------------------+-------------------------------------

Comment (by niteria):

 It's been a while since my last commit, so I will give a quick status
 update.

 Determinism is coming to 8.0.2, Ben Gamari kindly merged all the patches I
 sent him. Thanks Ben!

 That's a subset of the patches on this ticket, but a subset that was
 sufficient during my testing on GHC and Stackage to make the results
 deterministic (interface file determinism).

 That said phab:D2288, being a TH change couldn't make it into 8.0.2.
 Fortunately the packages that tripped up on it have been fixed:
 https://github.com/aelve/microlens/issues/83,
 https://github.com/ekmett/lens/issues/669. Props to the maintainers for
 the lightning fast fix!

 If you're in a position to test 8.0.2 for determinism before it comes out,
 any reports would be appreciated. No refunds though!

 Is this ticket ready to be closed?

 Not yet, it's still possible to accidentally reintroduce non-determinism
 in GHC. `Ord Unique` is removed, but `UniqFM` doesn't use it and just gets
 the underlying integer. More work needs to be done to remove non-
 deterministic operations on `UniqFM`. I intend to do this work, but
 currently I shifted my focus to migrating to the soon-to-be GHC 8.0.2
 within my company.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/4012#comment:232>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list