
yes, `stat` is returning `EINTR` and we're not expecting it to. Change
#5013: sporadic failures during compilation under solaris ----------------------------------+--------------------------- Reporter: maeder | Owner: Type: bug | Status: new Priority: low | Milestone: 7.6.2 Component: Compiler | Version: 7.0.4 Resolution: | Keywords: Operating System: Solaris | Architecture: x86 Type of failure: Runtime crash | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ----------------------------------+--------------------------- Comment (by maeder): Replying to [comment:22 simonmar]: the call to `stat` in `getFileStatus` to use `throwErrnoIfMinus1Retry` (hope I've got that right from memory). I do not see what to try out here. I'm looking at `libraries/unix/System/Posix/Files.hsc` of ghc-7.6.3 (lines 179-189) {{{ -- | @getFileStatus path@ calls gets the @FileStatus@ information (user ID, -- size, access times, etc.) for the file @path@. -- -- Note: calls @stat@. getFileStatus :: FilePath -> IO FileStatus getFileStatus path = do fp <- mallocForeignPtrBytes (#const sizeof(struct stat)) withForeignPtr fp $ \p -> withFilePath path $ \s -> throwErrnoPathIfMinus1_ "getFileStatus" path (c_stat s p) return (FileStatus fp) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/5013#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler