mclapply sendmaster 错误仅与 Rscript

lou*_*zya 5 parallel-processing r rscript mclapply microsoft-r

使用从命令行Rscript调用时,我间歇性地收到以下错误mclapply

Error in sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE)) : 
  write error, closing pipe to the master
Run Code Online (Sandbox Code Playgroud)

如果我在 R Studio 或交互式 R 会话中运行完全相同的代码,则不会出现错误。这个错误会在非常大的作业的各种上下文中弹出,每个工作人员必须将非常大的对象返回给小作业。我也试过关闭prescheduling,但它仍然抛出错误。有时,如果我减少mc.cores参数中的线程数,它就会消失。我在 Ubuntu 18.04.1 上使用 Microsoft R Open。它也出现在 Ubuntu 16.04 上。我没有尝试过的一件事是在标准 R 而不是 MRO 中运行代码。

这是我的Rscript -e 'sessionInfo()'

R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.1 LTS

Matrix products: default
BLAS: /opt/microsoft/ropen/3.5.1/lib64/R/lib/libRblas.so
LAPACK: /opt/microsoft/ropen/3.5.1/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] RevoUtils_11.0.1     RevoUtilsMath_11.0.0

loaded via a namespace (and not attached):
[1] compiler_3.5.1
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?有没有其他人遇到过这样的事情?我很抱歉没有可重现的示例,但到目前为止我遇到错误的数据/代码共享起来不切实际,而且我无法在其他上下文中重现该错误。它似乎只是随机发生。

小智 0

尝试升级到 R v3.6.0 或更高版本。

我遇到了同样的问题,这是由并行包中的错误(使用未初始化的变量)引起的,如下详细讨论:https ://r.789695.n4.nabble.com/error-in-parallel-sendMaster -td4760382.html