internal error: stg_ap_v_ret on forkProcess + executeFile
I've so far been unable to reproduce the bug, due to my inexperience in haskell as a Language, so I apoligize beforehand about the amount of code related. On request I will keep trying to isolate it and update this ticket, or If one of you point out some obvious ignorance on my part.
To reproduce this problem, build the project at: https://github.com/udoprog/gabriel/tree/unix-experimental
Create a new directory:
#> mkdir test
#> cd test
Run a test application in gabriel:
#> gabriel -- cat
gabriel[cat][28108]: STARTING cat
gabriel[cat][28108]: EXITED Terminated 15
gabriel[cat][28108]: WAITING 5 seconds
gabriel[cat][28108]: STARTING cat
gabriel: internal error: stg_ap_v_ret
(GHC version 6.12.1 for x86_64_unknown_linux)
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
gabriel[cat][28108]: EXITED Terminated 6
gabriel[cat][28108]: WAITING 5 seconds
^Cgabriel[cat][28108]: Nu child process running
gabriel[cat][28108]: WAIT was Interrupted
gabriel[cat][28108]: Shutting Down
Gabriel will create a subprocess of 'cat' and wrap it, the 'EXITED Terminated 15' is reproduced by finding out the pid of the child process 'ps faux | grep cat' and killing it 'kill <pid>'. The point is that gabriel should restart the process, but unfortunately that is not what happens.
Other than that, I opted to implement my own fork/exec over the System.Process(createProcess) which can be found in Gabriel/SubProcess.hs since I wanted to be able to send custom signals to the process. I believe that the error can somehow be reproduced by focusing on this code.
Trac metadata
Trac field | Value |
---|---|
Version | 6.12.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |