3

アプリケーションがセグメンテーション違反を受け取ります。バックトレースログ -

Program received signal SIGSEV, Segmentation fault.
0x00000000004a5c03 in engine_unlocked_finish ()

(gdb) bt

#0  0x00000000004a5c03 in engine_unlocked_finish ()
#1  0x00000000004a5d71 in ENGINE_finish ()
#2  0x000000000046a537 in EVP_PKEY_free_it ()
#3  0x000000000046a91b in EVP_PKEY_free ()
#4  0x00000000004b231a in pubkey_cb ()
#5  0x0000000000470c97 in asn1_item_combine_free ()
#6  0x0000000000750f70 in X509_CINF_seq_tt ()
#7  0x00000000010f7d90 in ?? ()
#8  0x00000000010f7cf0 in ?? ()
#9  0x0000000000000000 in ?? ()

のスタックフレーム#9は興味深いものです。住所は0x0000000000000000です。これは、に到達する前にスタックが破損したことを意味しますengine_unlocked_finish ()か?

4

1 に答える 1

4

#9 のスタックフレームは興味深いものです。

あまり。発生する可能性が最も高いのは、X509_CINF_seq_tt手作業でコード化されたアセンブリであり、正しいアンワインド記述子がないため、スタック トレース内のそれ以降はすべて偽物です。

実際、このソースを見るとX509_CINF_seq_tt、関数でさえないため、おそらくasn1_item_combine_free「悪い巻き戻し」が開始されます。

于 2014-10-06T16:48:44.017 に答える