[R] multicore mclapply error

Jarrett Byrnes byrnes at msi.ucsb.edu
Thu Aug 12 20:13:13 CEST 2010


Ah.  Indeed, this is from the glmulti.  I had not realized there would be problems using Java.  Is there a way around this to still use a multicore approach?  For what other packages that use multiple cores will this not be a problem?

-Jarrett

On Aug 12, 2010, at 11:02 AM, Thomas Lumley wrote:

> 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
> 



More information about the R-help mailing list