Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information