-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
waitForProcess: does not exist (No child processes) #226
Comments
It's a bit hard to help without seeing any code. You should be able to mix I assume the code is private but if you could strip out the process invocation/waiting/cancel parts and post them, it'd be a lot easier to give help. Preferably the non- |
Sure I understand that, I will try to strip out some of the important parts: After the input is parsed I call all elements of
Within a solver an external tool is e.g. called with:
I simplified the functions a bit and hope that this helps. Cheers |
Doesn't look like it should be broken. Maybe You should write down your |
I found out that also $ uname -a $ cabal info process
|
readProcess and readProcessWithExitCode end up going through same function in the end so I expect both to have the same behaviour fwiw. |
Ahh yeah, then it was not necessary to mention that :) |
Compare the discussion in fpco/typed-process#38 and #204. It does appear the |
@robx: Thanks. |
Could we close this? The bug should be fixed in 1.6.14.0. |
I believe so, closing. |
There have been recent bug fixes in the process package which are now required by the 3.8 branch of cabal-install. This means the package now needs to be upgradeable for hackport to use the new version. See: haskell/cabal@ad9e4dc See: haskell/process#226 Signed-off-by: hololeap <[email protected]>
There have been recent bug fixes in the process package which are now required by the 3.8 branch of cabal-install. This means the package now needs to be upgradeable for hackport to use the new version. See: haskell/cabal@ad9e4dc See: haskell/process#226 Signed-off-by: hololeap <[email protected]>
There have been recent bug fixes in the process package which are now required by the 3.8 branch of cabal-install. This means the package now needs to be upgradeable for hackport to use the new version. See: haskell/cabal@ad9e4dc See: haskell/process#226 Signed-off-by: hololeap <[email protected]>
Use process-1.6.16.0 on versions of ghc that don't already include it. There have been recent bug fixes in the process package which are now required by the 3.8 branch of cabal-install. Rebuilding GHC with the new version has proven to be a better solution than making dev-haskell/process upgradable through portage. See: haskell/cabal@ad9e4dc See: haskell/process#226 See: 6212e01 Signed-off-by: hololeap <[email protected]>
Use process-1.6.16.0 on versions of ghc that don't already include it. There have been recent bug fixes in the process package which are now required by the 3.8 branch of cabal-install. Rebuilding GHC with the new version has proven to be a better solution than making dev-haskell/process upgradable through portage. Updates to the amd64 and x86 binaries were built using quickpkg =dev-lang/ghc-9.0.2-r4 Keywords and binary packages for arm64, ppc64 and riscv have been dropped pending new versions. This should prevent anyone on these platforms who are using USE=binary from accidentally using old binaries which use the old version of 'process'. See: haskell/cabal@ad9e4dc See: haskell/process#226 See: 6212e01 Signed-off-by: hololeap <[email protected]>
Use process-1.6.16.0 on all versions of ghc There have been recent bug fixes in the process package which are now required by the 3.8 branch of cabal-install. See: haskell/cabal@ad9e4dc See: haskell/process#226 Signed-off-by: hololeap <[email protected]> Signed-off-by: Sam James <[email protected]>
Hi all!
I hope that this is the right place to ask such a question.
I try to parallize parts of a program of mine, but get a strange runtime error and as far as I know it is related to something in the process package.
In my tool, I get some specific input, build a constraint from it which can be solved in 3 different ways (3 solvers; involving external tools).
Thus I would like to run these three different solvers on the constraint in parallel and return the result of the fastest one.
In simple words it looks as follows:
A solver
s
has a types :: constraint -> IO [a]
and I apply the constraint to all solvers to get a list of possible solutions[IO [a]]
. After that I callasync
0 on them and wait withwaitAny
for a result (if I find a correct result, i.e. a non-empty list is returned, then I kill all the other jobs withcancel
). Within a solver external tools are called withreadProcess
andreadProcessWithExitCode
. The problem is that I get quite often the following runtime errorwaitForProcess: does not exist (No child processes)
.Is mixing
async
andprocess
causing this?Is this related to something similar as 1?
Does anybody has an idea what could cause this?
In the meantime I replaced the
async
package functions completely byforkIO
etc., but still this exception occurs.However, I never experienced this exception before I parallelized my program.
Thank you very much and cheers!
The text was updated successfully, but these errors were encountered: