Ticket #1905 (closed bug: duplicate)
runProcess: misbehaving exception on nonexistent working directory
|Reported by:||wferi||Owned by:||simonmar|
|Keywords:||runProcess, exception, segfault||Cc:|
|Type of failure:||Difficulty:||Unknown|
|Test Case:||Blocked By:|
Compiling and running the attached Fork.hs gives unexpected results:
- The first line is mostly OK: the working directory does not exist. (Unfortunately it's not clear from the message what does not exist...)
- The ensuing ps output is also OK, but already shows strange
process states and hierarchy:
- Why is the parent Fork in D state?
- Why is ps a grandchild of it, instead of being another child of the parent Fork?
- The last line is Segmentation fault, which is bad.
$ ./Fork sleep: runProcess: does not exist (No such file or directory) PID TTY STAT TIME COMMAND 3504 ? Ss 0:00 urxvt 3505 ? S 0:00 \_ urxvt 3506 pts/1 Ss 0:00 \_ bash 5571 pts/1 D+ 0:00 \_ ./Fork 5572 pts/1 S+ 0:00 \_ ./Fork 5573 pts/1 R+ 0:00 \_ ps xf Segmentation fault
(I elided the irrelevant part of the ps output.)
Somebody on IRC got Bus error instead. Others, testing under GHC 6.8, did not even get an exception. I have got the impression that exception handling inside or around runProcess is broken.