
#9722: ghcirun004 intermittently fails with ghc: ioManagerWakeup: write: Bad file descriptor -------------------------------------+------------------------------------- Reporter: ezyang | Owner: simonmar Type: bug | Status: patch Priority: high | Milestone: 7.10.1 Component: Runtime System | Version: 7.9 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime crash | Unknown/Multiple Blocked By: | Test Case: ghcirun004 Related Tickets: | Blocking: | Differential Revisions: Phab:D714 -------------------------------------+------------------------------------- Comment (by AndreasVoellmy): I'll keep trying to reproduce... in the meantime, can you try to recompile ghc with the following definition in rts/posix/Signals.c? Then recreate the bug and we will hopefully have a bit more info to help debug: {{{ void ioManagerWakeup (void) { int r; int fd; // Wake up the IO Manager thread by sending a byte down its pipe if (io_manager_wakeup_fd >= 0) { #if defined(HAVE_EVENTFD) StgWord64 n = (StgWord64)IO_MANAGER_WAKEUP; fd = io_manager_wakeup_fd; r = write(fd, (char *) &n, 8); #else StgWord8 byte = (StgWord8)IO_MANAGER_WAKEUP; fd = io_manager_wakeup_fd; r = write(fd, &byte, 1); #endif if (r == -1) { perror("ioManagerWakeup: write(A)"); sysErrorBelch("ioManagerWakeup: write; fd: %d", fd); } } } }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9722#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler