[GHC] #8039: RTS linker: unloadObj() does not actually unload the code

GHC ghc-devs at haskell.org
Fri Jul 5 11:58:32 CEST 2013


#8039: RTS linker: unloadObj() does not actually unload the code
---------------------------------+------------------------------------------
    Reporter:  simonmar          |       Owner:  simonmar        
        Type:  task              |      Status:  new             
    Priority:  high              |   Milestone:  7.8.1           
   Component:  Runtime System    |     Version:  7.6.3           
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------
 We've known about this for a long time, but it hasn't been a pressing
 issue in GHCi.  The problem with actually unloading code is that there
 might be pointers into it from the heap or other RTS data structures, so
 we need to do a full heap traversal to discover whether it is safe to
 unload code or not.

 This is an issue for a project at Facebook that needs to have long running
 processes that regularly unload and load code using the RTS linker, and
 right now the process grows over time.

 This ticket is to track the issue, and I'm also working on a fix.  The
 same problem affects the dynamic linker, although I'm not planning to fix
 that (yet).

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/8039>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list