Eventlog flush racy?
While responding to a thread on ghc-devs I noticed that there is apparently zero locking surrounding eventlog flushing. This means that if multiple capabilities fill their capabilities' event buffers simultaneously, begin flushing, and those flushes require multiple writes we may get interleaving of event data chunks. This seems quite bad.