[GHC] #15153: GHC uses O_NONBLOCK on regular files, which has no effect, and blocks the runtime

GHC ghc-devs at haskell.org
Tue May 15 10:44:06 UTC 2018


#15153: GHC uses O_NONBLOCK on regular files, which has no effect, and blocks the
runtime
-------------------------------------+-------------------------------------
        Reporter:  nh2               |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Runtime System    |              Version:  8.2.2
      Resolution:                    |             Keywords:
Operating System:  Linux             |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by nh2):

 Also funny but perhaps not too surprising:

 If in my code, you replace `forkIO` by e.g. `forkOn 2`, then
 nondeterministically, sometimes the program hangs and sometimes it works
 with `+RTS -N2`.

 The higher you set `-N`, the more likely it is to work.

 If you put both the putStrLn loop and the readFile into `forkOn 0` and
 `forkOn 1` each, and run with `+RTS -N3`, then it always works as
 expected.

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


More information about the ghc-tickets mailing list