[GHC] #12899: ghc panics at random places with -jX
GHC
ghc-devs at haskell.org
Thu Dec 15 09:52:11 UTC 2016
#12899: ghc panics at random places with -jX
-------------------------------------+-------------------------------------
Reporter: pacak | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by mpickering):
For anyone not following along at home, the problem is that the `Unique`s
were overflowing. The `UniqSupply` counter was reaching over 25 million
but only 24 bits (around 17 million) were being used to store the uniques.
This led to uniques being allocated multiple times.
The failures were different each time because the overflow was only bad if
it overflowed into the same label and then we relied on this unique at
some point in compilation (to do an equality check for example). It was a
coincidence that compiling with `-j1` didn't trigger these problems, it
must have been the ordering these uniques were applied didn't cause
terrible things like this to happen.
Ben has produced a diff (D2844) which bumps the number of bits we use so
hopefully this is never a problem again!
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12899#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list