2012 年後半の mac mini で Yosemite OSX にアップデートして以来、並列計算に foreach と doMC を使用するすべてのスクリプトで次のエラーが発生しました。
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.
計算は終了しますが、コンソールのエラー出力に加えて、8 つの開いているゾンビ ノードが残っています。複数の並列スクリプトを実行すると、システムがこれらのゾンビ ノードであふれ、バックグラウンドで CPU と RAM を使い果たし、プロセス全体が急速に停止します。
問題はシステムに依存するため、あなたのマシンでも失敗する最小限の例を提供できるかどうかはわかりませんが、次のスクリプトは私のエラーを再現します。
install.packages(c('foreach', 'doMC', 'bigrf'))
library(bigrf)
data(Cars93, package="MASS")
x <- Cars93
y <- Cars93$Type
vars <- c(4:22)
forest <- bigrfc(x, y, ntree=30L, varselect=vars, cachepath=NULL)
これを経験している他の Yosemite ユーザーはいますか? ここで何が起こっているのか、誰にも手がかりがありますか? 私は絶対にこれを修正する必要があり、ハードドライブを一掃してOSX Mavericksを再インストールすることで修正する必要はありません.
乾杯、
アーロン