[GHC] #14533: Make GHC more robust against PC crashes by using atomic writes

GHC ghc-devs at haskell.org
Mon Nov 27 17:24:14 UTC 2017


#14533: Make GHC more robust against PC crashes by using atomic writes
-------------------------------------+-------------------------------------
           Reporter:  nh2            |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.2.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  Compile-time
  Unknown/Multiple                   |  crash or panic
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Yesterday my Windows machine crashed when ghc was building, left me with a
 lot of corrupted .hi files (and probably .o files as well).

 That made me think if we should change ghc to write its output with atomic
 moves.

 Discussion on `#ghc`:

 {{{
 bgamari:
 nh2: well, perhaps
 I'm not sure it's terribly common for compilers to take such precautions
 though
 and if we were to do it for interface files then presumably we would also
 want to do it for object files

 siarheit_:
 that would be very nice

 geekosaur:
 compilers in general are happy to write out incomplete/garbage object
 files

 bgamari:
 it seems that way

 nh2:
 bgamari: right, if we wanted to do it we should do it for all files ghc
 writes.
 Possible that other compilers can also write garbage, but maybe ghc can do
 better -- one less thing the developer has to think about

 Phyx-:
 most compilers also don't do the aggressive recompilation avoidance things
 we do either..
 corrupt hi files wouldn't be an issue if the next time it would override
 them :)
 }}}

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


More information about the ghc-tickets mailing list