The particular problem you're referring to is fixed if you compile all
your libraries with -falways-yield; see 
http://hackage.haskell.org/trac/ghc/ticket/367

I believe that it is possible to give a guarantee that the kill
signal will hit the thread in a timely fashion.  The obvious gap in
our coverage at the moment is that there may be some primops that infinite
loop, and there are probably other bugs, but I do not believe they are
insurmountable.

Edward

Excerpts from Gwern Branwen's message of Fri Mar 15 14:39:50 -0700 2013:
> On Fri, Mar 15, 2013 at 5:17 PM, Edward Z. Yang <ezy...@mit.edu> wrote:
> > There is a lot of subtlety in this space, largely derived from the
> > complexity of interpreting GHC's current profiling information.  Your
> > questions, comments and suggestions are greatly appreciated!
> 
> How secure is this? One of the reasons for forking a process and then
> killing it after a timeout in lambdabot/mueval is because a thread can
> apparently block the GC from running with a tight enough loop and the
> normal in-GHC method of killing threads doesn't work. Can one
> simultaneously in a thread allocate ever more memory and suppress kill
> signals?
> 

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to