Re: [GHC] #13615: Nondeterminism in ‘pure’ function w/ parallel evaluation & memo combinators
GHC
ghc-devs at haskell.org
Wed Apr 26 16:44:47 UTC 2017
#13615: Nondeterminism in ‘pure’ function w/ parallel evaluation & memo combinators
-------------------------------------+-------------------------------------
Reporter: pacak | Owner: (none)
Type: bug | Status: new
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version: 8.2.1-rc2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Incorrect result | Unknown/Multiple
at runtime | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
I have confirmed that eliminating the use of `parMap` in `solve`
eliminates the issue as does replacing `rdeepseq` with `rseq`. I don't
know whether the use of the `memo` combinator contributes as runtime blows
up when it is removed
Both uses of `A.unsafeUpdateM` in `unsafeInsertWith` (one in the
`BitmapIndexed` branch and one in the `Full` branch) are problematic.
Replacing either one with `A.update` decreases the failure rate, but the
rate is still non-zero.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13615#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list