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是手工编码的汇编,并且缺少正确的展开描述符,因此堆栈跟踪中的所有内容都是虚假的。

事实上,看这个sourceX509_CINF_seq_tt甚至不是一个函数,所以它可能asn1_item_combine_free是“糟糕的展开”的开始。

于 2014-10-06T16:48:44.017 回答