Ticket #1905 (closed bug: duplicate)
runProcess: misbehaving exception on nonexistent working directory
| Reported by: | wferi | Owned by: | simonmar |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.8.2 |
| Component: | libraries/process | Version: | 6.6.1 |
| Keywords: | runProcess, exception, segfault | Cc: | |
| Operating System: | Linux | Architecture: | x86 |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
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.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

