Skip to content
  • Simon Peyton Jones's avatar
    [project @ 2002-06-28 14:06:52 by simonpj] · 33ce2a14
    Simon Peyton Jones authored
    -----------------------------------
    	Fix the CAF info field of error Ids
    	-----------------------------------
    
    A bizarre bug.   In MkId, we build the Id for various error-y
    Ids (like pAT_ERROR_ID) that we grab out of thin air in various
    places (like the desugarer).  They were marked as not referring
    to any CAFs, but this was a lie!  In fact, they refer to 'untangle'
    (see GHC.Err) and thence to a CAF.
    
    Result: GC crash under very obscure circumstances.  (Rob's optimistic
    evaluator tickled it.)
    
    Solution: give them more conservative IdInfo.
    
    Two other better solutions to think about:
    
    * Don't grab them out of thin air; instead get them from
      an interface file.
    
    * Treat them as always-live (requires mod to garbage collector)
      so they don't need to be mentioned in SRTs at all
    33ce2a14