[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