tee complains if used in a process started by ghc
I have the following program:
import System
main = getArgs >>= system . head
i.e., a simple wrapper around the system command. I compile this using
ghc -o Sys --make Sys.hs
into a binary Sys
. If I then call
./Sys "yes | head -n 20000000 | tee /dev/null"
the program quits with the message tee: write error
. I tried on some
machines, and on some I have to increase the argument to head
, but at
some point it always fails. Calling the shell command directly gives no
error. However, calling
./Sys "yes | head -n 20000000" | tee /dev/null
(note the difference!) also fails.
This bug is a showstopper for my current project. In my program, I call other programs which internally employ tee for logging. Whenever there is a lot of screen output, there seems to be a good chance that my program fails.
I have no idea if this is a problem with tee
or with ghc
, but I couldn't
yet reproduce it in any non-ghc context.
Andres Loeh
Trac metadata
Trac field | Value |
---|---|
Version | 6.4.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Unknown |
Architecture | Unknown |