0

我正在处理仅在 debian 系统上发生的 R 扩展错误。

SSL_CTX_new函数会在运行时检测到堆栈粉碎,这可能表明发生了段错误。

为了理解这个错误,我编写了一个独立的测试函数:

#include <Rcpp.h>
#include <openssl/ssl.h>
RcppExport SEXP test() {
    BEGIN_RCPP

    SSL_library_init();
    SSL_CTX_new(SSLv23_client_method());

    END_RCPP
}

此功能通常独立运行。

但是,在将我现有的项目与测试功能链接后,它会检测到堆栈粉碎

为什么相同的函数在链接其他目标文件后表现不同?谁能给我一些提示?谢谢!


这是我的项目:https ://github.com/wush978/RMessenger 。到目前为止,它在 debian 上崩溃了。

4

1 回答 1

0

R 处理自己的内存管理。Valgrind内存分析器/调试器之前已经成功使用过,网上也有一些帖子。

如果我正确理解了您的帖子,那么 SSL 例程可能正在做一些让 R 感到不安的事情。您将不得不对其进行调试。您在此处发布的内容不构成可重现的错误报告。

您可能还会发现在 rcpp-devel 列表中获得的反馈很有帮助。

于 2013-02-05T16:54:00.273 回答