-
-
Notifications
You must be signed in to change notification settings - Fork 65
Description
Describe the bug
I noticed that when doing parallel sampling from multiple (possibly different) STAN models within future
workers and cancelling the execution of the main R script (the R parent process - in my case, using Ctrl+C in CLI mode), the STAN models and the children R processes will continue running as ghost processes. Appearently, something in the signal chain does not work. My guess is that although the signalling chain works well on the future
side (this doesn't occur when no STAN model is running), the children R processes cannot stop as long as its children processes (= STAN process) are not stopped. I may be wrong though and this might be a bug in the future
or foreach
package, too.
To Reproduce
library(cmdstanr)
library(foreach)
library(doFuture)
plan(multisession,workers = 2)
foreach(i=1:2, .options.future = list(seed = TRUE), .inorder = F) %dofuture% {
// Add code for starting the sampling of a (fairly long-running) STAN model
// .. e.g. different(ly parameterised) models or data depending on i
}
Expected behavior
Same as when running STAN models directly: Interrupting the R script execution should immediately interrupt the sampling process.
Operating system
Ubuntu 22.04 LTS
CmdStanR version number
0.9.0