[CRAN Solaris:捕获的段错误***地址导致'无效的权限']

问题描述 投票:8回答:1

在我的软件包{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拥有对该文件的权限的同时,如何通过文件权限获得此错误?

r r-package
1个回答
0
投票

一种可能性是您试图分配大量的内存。尝试时,我在Fedora上遇到了类似的错误,但在Windows上却没有(我没有尝试过Solaris)。

int * my_array = (int*) std::calloc(x * y, sizeof(int))

和[C0

= 2 32,其中x * y * sizeof(int) + k表示特定于编译器的内存开销,用于存储k的属性。

在Windows上,

my_array

由于错误而正常失败;在Fedora上,我似乎在未触发此错误的情况下遇到了“无效权限” seg错误。

© www.soinside.com 2019 - 2024. All rights reserved.