WindowsのRx64のパッケージからmakePSOCKcluster
のデバッグに問題が発生しています。 Windows上のR386やOSX、Linuxでは発生しません。残念なことに、それは一貫して起こるわけではなく、時折、そして全くランダムに発生します。システムを呼び出した後にmakePSOCKclusterがx64を獲得してハングアップする
makePSOCKcluster
機能はタイムアウトしてRセッションをフリーズしますが、セッションの初期段階では何らかの(任意の)system()
コールが実行された場合にのみ発生します。以下のビデオとスクリプトは、問題をより明確に示しています。
私は成功せずにしようとしたいくつかのもの:
- 無効にアンチウイルス/ファイアウォール。
system
とmakePSOCKcluser
の間に数秒待っています。- 異なるシステムコールを使用する。
これをさらに絞り込むにはどうすればよいですか?ここでthe videoとビデオで使用されるスクリプトは次のとおりです。
cmd_exists <- function(command){
iswin <- identical(.Platform$OS.type, "windows");
if(iswin){
test <- suppressWarnings(try(system(command, intern=TRUE, ignore.stdout=TRUE, ignore.stderr=TRUE, show.output.on.console=FALSE), silent=TRUE));
} else {
test <- suppressWarnings(try(system(command, intern=TRUE, ignore.stdout=TRUE, ignore.stderr=TRUE), silent=TRUE));
}
!is(test, "try-error")
}
options(hasgit = cmd_exists("git --version"));
options(haspandoc = cmd_exists("pandoc --version"));
options(hastex = cmd_exists("texi2dvi --version"));
cluster <- parallel::makePSOCKcluster(1);
+1のままのビデオのアイデア... – agstudy
オプション()呼び出しを削除しても問題ありませんか?特に1つがあるかどうか試してみることもできます... makePSOCKclusterの実装を見て、どこがハングするかを確認することもできます。 –