我已经构建了如下所示的openssl 1.0.2h版本,
./Configure -d shared no-idea no-mdc2 no-rc5 debug-linux-x86_64 --prefix=@rpath --openssldir=.
我已经建立了以下库
libssl.so.1.0.2
libcrypto.so.1.0.2
我已经将这些库与我的C ++应用程序以及Qt 5.0.0相关联。当我运行我的应用程序时,它使用segmentation fault
与以下堆栈跟踪崩溃,
Thread #1 22887 (Suspended : Container)
trust_1oidany() at x509_trs.c:270 0x7f66362255a9
X509_check_trust() at x509_trs.c:134 0x7f6636225141
check_trust() at x509_vfy.c:807 0x7f663621c212
X509_verify_cert() at x509_vfy.c:370 0x7f663621b3f5
ssl_verify_cert_chain() at 0x3f2a2469b8
ssl3_get_server_certificate() at 0x3f2a2255f3
ssl3_connect() at 0x3f2a227ca2
q_SSL_connect() at qsslsocket_openssl_symbols.cpp:229 0x7f6639b1064a
QSslSocketBackendPrivate::startHandshake() at qsslsocket_openssl.cpp:1,128 0x7f6639b0af78
QSslSocketBackendPrivate::transmit() at qsslsocket_openssl.cpp:983 0x7f6639b0a4ea
QSslSocketPrivate::_q_readyReadSlot() at qsslsocket.cpp:2,431 0x7f6639afcbc3
QSslSocket::qt_static_metacall() at moc_qsslsocket.cpp:167 0x7f6639afdc79
QMetaObject::activate() at qobject.cpp:3,739 0x7f663907dab6
QMetaObject::activate() at qobject.cpp:3,604 0x7f663907d2b6
QIODevice::readyRead() at moc_qiodevice.cpp:155 0x7f6639115081
QAbstractSocketPrivate::canReadNotification() at qabstractsocket.cpp:730 0x7f6639ad4bc6
QAbstractSocketPrivate::readNotification() at qabstractsocket_p.h:69 0x7f6639adae1a
QAbstractSocketEngine::readNotification() at qabstractsocketengine.cpp:152 0x7f6639ac6701
QReadNotifier::event() at qnativesocketengine.cpp:1,169 0x7f6639ae3a06
QApplicationPrivate::notify_helper() at qapplication.cpp:3,753 0x7f6637647b22
QApplication::notify() at qapplication.cpp:3,197 0x7f66376451dc
QCoreApplication::notifyInternal() at qcoreapplication.cpp:965 0x7f663903eb36
QCoreApplication::sendEvent() at qcoreapplication.h:224 0x7f66390428c7
socketNotifierSourceDispatch() at qeventdispatcher_glib.cpp:101 0x7f66390b5450
g_main_context_dispatch() at 0x3f1aa40642
0x3f1aa44c98
g_main_context_iteration() at 0x3f1aa44e4c
QEventDispatcherGlib::processEvents() at qeventdispatcher_glib.cpp:418 0x7f66390b6199
QEventLoop::processEvents() at qeventloop.cpp:128 0x7f663903b712
QEventLoop::exec() at qeventloop.cpp:204 0x7f663903b9f5
QThread::exec() at qthread.cpp:522 0x7f6638df9000
QThread::run() at qthread.cpp:589 0x7f6638df91a6
QThreadPrivate::start() at qthread_unix.cpp:338 0x7f6638e00683
start_thread() at 0x3f19a07aa1
clone() at 0x3f192e8aad
当我调试它时,下面的行有一些无效的指针取消引用,
if (x->aux && (x->aux->trust || x->aux->reject))
但是我无法找出造成这种情况的原因。我没有任何指针可以继续解决这个问题。有人可以说清楚这一点。