【发布时间】:2021-05-18 04:54:21
【问题描述】:
我有一个包,https://github.com/tfrostig/RSEE,其中包括几 (3) 个 RcppArmadillo 函数。该软件包在其他计算机上运行良好。当我构建包时没有出现错误,但每当我调用任何 RCPP 函数时,它都会导致 R 崩溃。
当我尝试使用单元测试时,我收到错误消息:“Exited with status -1073741819”。
如果我使用Rcpp::sourceCpp() 然后调用函数,一切正常。其他带有 Rcpp 功能的包运行良好。
例如:
`// [[Rcpp::depends(RcppArmadillo)]]
#include <RcppArmadillo.h>
using namespace Rcpp;
using namespace arma;
// [[Rcpp::export]]
arma::mat localRegression(arma::mat weightmat, arma::mat modelmat, arma::vec xtemp) {
return inv(modelmat.t() * weightmat * modelmat) * modelmat.t() * weightmat * xtemp;
}
使用RSEE:::localRegression 会导致它崩溃。如果我使用sourceCpp 加载源代码,然后调用localRegression 就可以了。
什么会导致此类问题?
The session info is:
R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)
Matrix products: default
locale:
[1] LC_COLLATE=English_Israel.1252 LC_CTYPE=English_Israel.1252 LC_MONETARY=English_Israel.1252
[4] LC_NUMERIC=C LC_TIME=English_Israel.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RSEE_0.1.0
loaded via a namespace (and not attached):
[1] compiler_4.0.3 tools_4.0.3 Rcpp_1.0.6
【问题讨论】:
-
使用手动设置的断点遍历该函数并查看它在哪个点杀死您的进程可能是有意义的。
-
当我调用该函数时。当不在包内调用时,这些函数运行良好。
-
哪个功能/单元测试失败了?失败时您使用的是哪个操作系统?什么时候不失败?
-
我已经添加了会话信息和示例。
标签: r package rcpp rcpparmadillo