0

Debian システムでのみ発生する R 拡張機能のバグを処理しています。

このSSL_CTX_new関数は、実行時に検出されたスタック破壊を生成します。これは、segfault の発生を示している可能性があります。

バグを理解するために、スタンドアロンのテスト関数を作成します。

#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 メモリ プロファイラー / デバッガーは、以前に正常に使用されており、Web 上にいくつかの投稿があります。

私があなたの投稿を正しく理解していれば、SSL ルーチンが R を混乱させるようなことをしている可能性があります。それをデバッグする必要があります。ここに投稿した内容は、再現可能なバグ レポートではありません。

また、rcpp-devel メーリングリストで得られるフィードバックも役立つかもしれません。

于 2013-02-05T16:54:00.273 に答える