0

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 を使い果たし、プロセス全体が急速に停止します。

スクリプトを 2 回実行した後、ゾンビ ノードがバックグラウンドに残っていました。

問題はシステムに依存するため、あなたのマシンでも失敗する最小限の例を提供できるかどうかはわかりませんが、次のスクリプトは私のエラーを再現します。

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を再インストールすることで修正する必要はありません.

乾杯、

アーロン

4

2 に答える 2

0

より簡単に移動しAdvanced optionsて選択を解除できますUse multithreading for calculations。これにより、フォークを回避できます。

それは私のために働いた。

于 2016-08-16T13:25:01.717 に答える