On Thu, 12 Aug 2010, Jarrett Byrnes wrote:
> I'm running r 2. on a mac running 10.6.4 and a dual-core macbook pro.
I'm having a funny time with multicore. When I run it with 2 cores,
mclapply, R borks with the following error.
>
> The process has forked and you cannot use this CoreFoundation functionality
safely. You MUST exec().
> Break on
__THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__()
to debug.
>
>
> If, however, I crank the # of cores back to 1, it runs just fine.
>
> The code looks as follows:
>
>
> mmi_fits<-mclapply(responses, function(a_response){
> gmult<-glmulti(glm(make_formula(a_response, sp), data=df,
family=binomial))
> return(gmult)
> },
> mc.cores=2)
You don't say what glmulti() is. If you mean the function from glmulti
package, that package uses Java and rjava, and it wouldn't be altogether
surprising if the connection to Java or the Java environment reacted badly to
being forked.
-thomas
Thomas Lumley
Professor of Biostatistics
University of Washington, Seattle