[GHC] #14730: Missing predicate for "ResourceVanished" IOException/IOErrorType

GHC ghc-devs at haskell.org
Wed Feb 6 19:56:13 UTC 2019


#14730: Missing predicate for "ResourceVanished" IOException/IOErrorType
-------------------------------------+-------------------------------------
        Reporter:  bit               |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  libraries/base    |              Version:  8.2.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by vdukhovni):

 Also, perhaps the use of strerror(3) in "Foreign.C.Error" rather than
 strerror_r(3) is not entirely thread-safe under atypical conditions.  If
 the kernel is newer than the C-library, it may return error numbers that
 lie outside the static string array used by strerror(3) and friends, and
 in that case, strerror(3) will use a static buffer to generate "Unknown
 error: <number>", but use of that buffer is not thread-safe.

 For this to be a problem, two threads have to encounter two different
 unknown to the C-library errors at essentially the same time.

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


More information about the ghc-tickets mailing list