在我的软件包{bigstatsr}中,在Solaris上进行测试时,出现CRAN检查错误(请参见https://www.r-project.org/nosvn/R.check/r-patched-solaris-x86/bigstatsr-00check.html。
我设法使用rhub::check_on_solaris()
重现此问题。默认情况下,创建的文件具有权限644
,因为umask设置为22
。
然后,我尝试将umask更改为0
,这可以正常工作,并且我获得的文件权限为666
(请参阅https://builder.r-hub.io/status/bigstatsr_1.0.0.tar.gz-a15ab823b9e44e6ca790ee9a143ebadb#L5816)。
如何在666
拥有对该文件的权限的同时,如何通过文件权限获得此错误?
一种可能性是您试图分配大量的内存。尝试时,我在Fedora上遇到了类似的错误,但在Windows上却没有(我没有尝试过Solaris)。
= 2 32,其中int * my_array = (int*) std::calloc(x * y, sizeof(int))
和[C0
x * y * sizeof(int) + k
表示特定于编译器的内存开销,用于存储k
的属性。在Windows上,
my_array
由于错误而正常失败;在Fedora上,我似乎在未触发此错误的情况下遇到了“无效权限” seg错误。