[R-SIG-Mac] Problem with multicore/doMC/foreach combo on Leopard
Steve Lianoglou
mailinglist.honeypot at gmail.com
Fri Aug 21 17:31:35 CEST 2009
Hi,
I just wanted to post a follow up on this issue. It seems that someone
notified Steve Weston of my problems shortly after I sent this email
to the list and he was kind enough to exchange a few words with me off
list (thanks to both of you!).
It looks as if this problem w/ the doMC backend was coming from my
having been sourcing the "/Applications/R.app/Contents/Resources/GUI-
tools.R" file in my ~/.Rprofile in order to get some functionality
like quartz.save(..) when running from terminal (I don't really use
R.app all that often).
I just wanted to let folks (and google) know that this problem hasn't
popped up for me since I've stopped sourcing that file. I actually got
the idea to source that file off some message in this list a while
ago, so perhaps putting this message out there will help anyone who
might find themselves in a similar situation I landed in.
Thanks for the help,
-steve
On Jul 28, 2009, at 5:50 PM, Steve Lianoglou wrote:
> Hi all,
>
> I'm posting this here first because (i) this might be a problem
> specific to macs, and (ii) Simon is the maintainer of the multicore
> package.
>
> I'm using the doMC package to use the multicore library as a backend
> for the foreach library.
>
> Every now and again I'm getting mess-load of these errors when I
> run a new "multicore task" via:
>
> foreach ( ... ) %dopar% {
> ...
> }
>
> That look like so:
>
> === Error ===
>
> *** caught segfault ***
> address 0x1c86b7d80, cause 'memory not mapped'
> 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.
> 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.
>
> ==========
>
> I'm guessing it might be mac specific due to (i) reference to
> CoreFoundation, and (ii) this answer given by Scott Lahteine in this
> thread:
> http://discussions.apple.com/thread.jspa?threadID=1209537&tstart=0
>
> Which I'm pasting here:
>
> ======
> This is caused by programs that use the fork() or daemon() function
> in combination with higher-level APIs. In Leopard you cannot use the
> CoreFoundation (CF...) APIs on the child side of a fork() without
> following it with an exec*() function. This has always been true,
> but Leopard is much more stingy about this kind of thing.
>
> To solve this issue, uninstall all third-party drivers and system
> customizers, then reinstall them with the latest versions, and make
> sure those versions have been updated for Leopard. Any drivers and
> background software that use CF but haven't been updated for Leopard
> will continue to output these messages, even though they may
> function fine.
> ======
>
> Does this suggest that the multicore package needs some updating for
> leapord, or am I barking up the wrong tree? I don't see (nor would
> have expected to see) any calls to CoreFoundation specific API's in
> the multicore::fork.c file, so I'm not sure what's up since neither
> doMC or foreach have any C code in them.
>
> I'm running OS X.5.7 and 64-bit R 2.9.1. sessionInfo() is pasted below
>
> I'll ask again in the main R-help if that's more appropriate.
>
> Thanks,
>
> -steve
>
> > sessionInfo()
> R version 2.9.1 Patched (2009-06-28 r48863)
> x86_64-apple-darwin9.7.0
>
> locale:
> en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] doMC_1.1.1 multicore_0.1-3 foreach_1.2.1 codetools_0.2-2
> [5] iterators_1.0.1
>
> --
> Steve Lianoglou
> Graduate Student: Computational Systems Biology
> | Memorial Sloan-Kettering Cancer Center
> | Weill Medical College of Cornell University
> Contact Info: http://cbio.mskcc.org/~lianos/contact
>
--
Steve Lianoglou
Graduate Student: Computational Systems Biology
| Memorial Sloan-Kettering Cancer Center
| Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact
More information about the R-SIG-Mac
mailing list