main
main copied to clipboard
SEGFAULT at the "wrong certicifate" window.
Original issue 548 created by psi-plus on 2013-06-23T18:39:54.000Z:
What steps will reproduce the problem?
- Lauch psi+.
- Connect to account at a server with invalid certificate.
- Don't press or click anything. Wait several hours.
What is the expected output? The window about "wrong certificate".
What do you see instead? Psi+ crashed.
What version of the Psi+/OS are you using? Psi+ v0.16.125-webkit (20130614)/Gentoo Linux AMD64.
Additional information:
Program received signal SIGSEGV, Segmentation fault.
0x00000000008cf712 in XMPP::QCATLSHandler::continueAfterHandshake (this=0x0)
at xmpp-core/tlshandler.cpp:412
412 in xmpp-core/tlshandler.cpp
(gdb) bt full
0 0x00000000008cf712 in XMPP::QCATLSHandler::continueAfterHandshake (
this=0x0) at xmpp-core/tlshandler.cpp:412
No locals.
1 0x00000000006f6ea3 in PsiAccount::tls_handshaken (this=0x1ac27d0)
at psiaccount.cpp:1903
certificateOk = true
2 0x00000000008a55b1 in PsiAccount::qt_static_metacall (_o=0x1ac27d0,
_c=QMetaObject::InvokeMetaMethod, _id=115, _a=0x7ffffff742d0)
at .moc/moc_psiaccount.cpp:460
_t = 0x1ac27d0
3 0x00007ffff3bce2a1 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
4 0x0000000000957f0b in XMPP::QCATLSHandler::tlsHandshaken (this=0x6d6d170)
at .moc/moc_xmpp.cpp:440
No locals.
5 0x00000000008cf775 in XMPP::QCATLSHandler::tls_handshaken (this=0x6d6d170)
at xmpp-core/tlshandler.cpp:422
No locals.
6 0x0000000000957dac in XMPP::QCATLSHandler::qt_static_metacall (
_o=0x6d6d170, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7ffffff74470)
at .moc/moc_xmpp.cpp:387
_t = 0x6d6d170
7 0x00007ffff3bce2a1 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
8 0x00007ffff7b8aa4f in QCA::TLS::Private::processNextAction() ()
from /usr/lib64/qca2/libqca.so.2
No symbol table info available.
9 0x00007ffff7b849ab in QCA::TLS::Private::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qca2/libqca.so.2
No symbol table info available.
10 0x00007ffff3bce4a9 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
11 0x00007ffff7ba1668 in QCA::SafeTimer::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qca2/libqca.so.2
No symbol table info available.
12 0x00007ffff3bce4a9 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
13 0x00007ffff3bd3159 in QObject::event(QEvent*) ()
from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
14 0x00007ffff44416e4 in QApplicationPrivate::notify_helper(QObject_, QEvent_)
() from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
15 0x00007ffff4446e43 in QApplication::notify(QObject_, QEvent_) ()
from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
16 0x000000000066fdfa in PsiApplication::notify (this=0x7fffffffd7e0,
receiver=0x6037210, event=0x7ffffff74fa0) at psiapplication.cpp:375
No locals.
17 0x00007ffff3bba71c in QCoreApplication::notifyInternal(QObject_, QEvent_)
() from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
18 0x00007ffff3beaed2 in ?? () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
19 0x00007ffff3be880d in ?? () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
20 0x00007ffff33508b3 in g_main_context_dispatch ()
from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
21 0x00007ffff3350c00 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
22 0x00007ffff3350cc4 in g_main_context_iteration ()
from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
23 0x00007ffff3be8fbf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
24 0x00007ffff44e2dee in ?? () from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
25 0x00007ffff3bb9262 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
26 0x00007ffff3bb94b7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
27 0x00007ffff490ae96 in QDialog::exec() () from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
28 0x0000000000497fdd in CertificateErrorDialog::exec (this=0x7ffffff753a0)
at Certificates/CertificateErrorDialog.cpp:40
No locals.
29 0x000000000049980a in CertificateHelpers::checkCertificate (tls=0x3dab520,
tlsHandler=0x41d62b0, tlsOverrideDomain=..., tlsOverrideCert=...,
canceler=0x1ac27d0, title=..., host=...)
at Certificates/CertificateHelpers.cpp:192
errorDialog = {<QObject> = {<No data fields>},
static staticMetaObject = {d = {
superdata = 0xf2e360 <QObject::staticMetaObject>,
stringdata = 0xa9d060 <qt_meta_stringdata_CertificateErrorDialog>
"CertificateErrorDialog",
data = 0xa9d000 <qt_meta_data_CertificateErrorDialog>,
extradata = 0xa9cf80 <CertificateErrorDialog::staticMetaObjectExtraData>}}, static staticMetaObjectExtraData = {objects = 0x0,
static_metacall = 0x89bc40 <CertificateErrorDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>}, messageBox_ = 0x6e00cb0,
detailsButton_ = 0x4c7cb70, continueButton_ = 0x4a6a1f0,
cancelButton_ = 0x6979b90, saveButton_ = 0x4c5db00,
certificate_ = <incomplete type>, result_ = 2,
validity_ = QCA::ErrorExpired, tlsOverrideDomain_ = @0x1adee78,
tlsOverrideCert_ = @0x1adee70, domainOverride_ = {
static null = {<No data fields>}, static shared_null = {ref = {
_q_value = 129380}, alloc = 0, size = 0,
data = 0xf2e5da <QString::shared_null+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {
_q_value = 1710}, alloc = 0, size = 0,
data = 0x7ffff3f138da <QString::shared_empty+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, d = 0xf2e5c0 <QString::shared_null>,
static codecForCStrings = 0x0}, host_ = {
static null = {<No data fields>}, static shared_null = {ref = {
_q_value = 129380}, alloc = 0, size = 0,
data = 0xf2e5da <QString::shared_null+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {
_q_value = 1710}, alloc = 0, size = 0,
data = 0x7ffff3f138da <QString::shared_empty+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, d = 0x163a930,
static codecForCStrings = 0x0}}
cert = <incomplete type>
result = 2
hostnameOverrideable = {static null = {<No data fields>},
static shared_null = {ref = {_q_value = 129380}, alloc = 0,
size = 0, data = 0xf2e5da <QString::shared_null+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {
_q_value = 1710}, alloc = 0, size = 0,
data = 0x7ffff3f138da <QString::shared_empty+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, d = 0xf2e5c0 <QString::shared_null>,
static codecForCStrings = 0x0}
30 0x00000000006f6e39 in PsiAccount::tls_handshaken (this=0x1ac27d0)
at psiaccount.cpp:1901
certificateOk = false
31 0x00000000008a55b1 in PsiAccount::qt_static_metacall (_o=0x1ac27d0,
_c=QMetaObject::InvokeMetaMethod, _id=115, _a=0x7ffffff758e0)
at .moc/moc_psiaccount.cpp:460
_t = 0x1ac27d0
32 0x00007ffff3bce2a1 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
33 0x0000000000957f0b in XMPP::QCATLSHandler::tlsHandshaken (this=0x41d62b0)
at .moc/moc_xmpp.cpp:440
No locals.
34 0x00000000008cf775 in XMPP::QCATLSHandler::tls_handshaken (this=0x41d62b0)
at xmpp-core/tlshandler.cpp:422
No locals.
35 0x0000000000957dac in XMPP::QCATLSHandler::qt_static_metacall (
_o=0x41d62b0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7ffffff75a80)
at .moc/moc_xmpp.cpp:387
_t = 0x41d62b0
36 0x00007ffff3bce2a1 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
37 0x00007ffff7b8aa4f in QCA::TLS::Private::processNextAction() ()
from /usr/lib64/qca2/libqca.so.2
No symbol table info available.
38 0x00007ffff7b849ab in QCA::TLS::Private::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qca2/libqca.so.2
No symbol table info available.
39 0x00007ffff3bce4a9 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
40 0x00007ffff7ba1668 in QCA::SafeTimer::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qca2/libqca.so.2
No symbol table info available.
41 0x00007ffff3bce4a9 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
42 0x00007ffff3bd3159 in QObject::event(QEvent*) ()
from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
43 0x00007ffff44416e4 in QApplicationPrivate::notify_helper(QObject_, QEvent_)
() from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
44 0x00007ffff4446e43 in QApplication::notify(QObject_, QEvent_) ()
from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
45 0x000000000066fdfa in PsiApplication::notify (this=0x7fffffffd7e0,
receiver=0x60de5e0, event=0x7ffffff765b0) at psiapplication.cpp:375
No locals.
46 0x00007ffff3bba71c in QCoreApplication::notifyInternal(QObject_, QEvent_)
() from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
47 0x00007ffff3beaed2 in ?? () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
48 0x00007ffff3be880d in ?? () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
49 0x00007ffff33508b3 in g_main_context_dispatch ()
from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
50 0x00007ffff3350c00 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
51 0x00007ffff3350cc4 in g_main_context_iteration ()
from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
52 0x00007ffff3be8fbf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
53 0x00007ffff44e2dee in ?? () from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
54 0x00007ffff3bb9262 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
55 0x00007ffff3bb94b7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
No symbol table info available.
56 0x00007ffff490ae96 in QDialog::exec() () from /usr/lib64/qt4/libQtGui.so.4
No symbol table info available.
57 0x0000000000497fdd in CertificateErrorDialog::exec (this=0x7ffffff769b0)
at Certificates/CertificateErrorDialog.cpp:40
No locals.
58 0x000000000049980a in CertificateHelpers::checkCertificate (tls=0x2d38d30,
tlsHandler=0x3840350, tlsOverrideDomain=..., tlsOverrideCert=...,
canceler=0x1ac27d0, title=..., host=...)
at Certificates/CertificateHelpers.cpp:192
errorDialog = {<QObject> = {<No data fields>},
static staticMetaObject = {d = {
superdata = 0xf2e360 <QObject::staticMetaObject>,
stringdata = 0xa9d060 <qt_meta_stringdata_CertificateErrorDialog> "CertificateErrorDialog",
data = 0xa9d000 <qt_meta_data_CertificateErrorDialog>,
extradata = 0xa9cf80 <CertificateErrorDialog::staticMetaObjectExtraData>}}, static staticMetaObjectExtraData = {objects = 0x0,
static_metacall = 0x89bc40 <CertificateErrorDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>}, messageBox_ = 0x2869300,
detailsButton_ = 0x688f960, continueButton_ = 0x4c47770,
cancelButton_ = 0x1d90f50, saveButton_ = 0x69ae390,
certificate_ = <incomplete type>, result_ = 2,
validity_ = QCA::ErrorExpired, tlsOverrideDomain_ = @0x1adee78,
tlsOverrideCert_ = @0x1adee70, domainOverride_ = {
static null = {<No data fields>}, static shared_null = {ref = {
_q_value = 129380}, alloc = 0, size = 0,
data = 0xf2e5da <QString::shared_null+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {
_q_value = 1710}, alloc = 0, size = 0,
data = 0x7ffff3f138da <QString::shared_empty+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, d = 0xf2e5c0 <QString::shared_null>,
static codecForCStrings = 0x0}, host_ = {
static null = {<No data fields>}, static shared_null = {ref = {
_q_value = 129380}, alloc = 0, size = 0,
data = 0xf2e5da <QString::shared_null+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {
_q_value = 1710}, alloc = 0, size = 0,
data = 0x7ffff3f138da <QString::shared_empty+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, d = 0x163a930,
static codecForCStrings = 0x0}}
cert = <incomplete type>
result = 2
hostnameOverrideable = {static null = {<No data fields>},
static shared_null = {ref = {_q_value = 129380}, alloc = 0,
size = 0, data = 0xf2e5da <QString::shared_null+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {
_q_value = 1710}, alloc = 0, size = 0,
data = 0x7ffff3f138da <QString::shared_empty+26>, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, d = 0xf2e5c0 <QString::shared_null>,
static codecForCStrings = 0x0}
...
2877 0x00007ffff3bce4a9 in QMetaObject::activate(QObject_, QMetaObject const_, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
2878 0x00007ffff3bd3159 in QObject::event(QEvent*) ()
from /usr/lib64/qt4/libQtCore.so.4
2879 0x00007ffff44416e4 in QApplicationPrivate::notify_helper(QObject_, QEvent_) () from /usr/lib64/qt4/libQtGui.so.4
2880 0x00007ffff4446e43 in QApplication::notify(QObject_, QEvent_) ()
from /usr/lib64/qt4/libQtGui.so.4
---Type <return> to continue, or q <return> to quit---
2881 0x000000000066fdfa in PsiApplication::notify (this=0x7fffffffd7e0,
receiver=0x1893b50, event=0x7fffffffd4c0) at psiapplication.cpp:375
2882 0x00007ffff3bba71c in QCoreApplication::notifyInternal(QObject_, QEvent_)
() from /usr/lib64/qt4/libQtCore.so.4
2883 0x00007ffff3beaed2 in ?? () from /usr/lib64/qt4/libQtCore.so.4
2884 0x00007ffff3be880d in ?? () from /usr/lib64/qt4/libQtCore.so.4
2885 0x00007ffff33508b3 in g_main_context_dispatch ()
from /usr/lib64/libglib-2.0.so.0
2886 0x00007ffff3350c00 in ?? () from /usr/lib64/libglib-2.0.so.0
2887 0x00007ffff3350cc4 in g_main_context_iteration ()
from /usr/lib64/libglib-2.0.so.0
2888 0x00007ffff3be8fbf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
2889 0x00007ffff44e2dee in ?? () from /usr/lib64/qt4/libQtGui.so.4
2890 0x00007ffff3bb9262 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
2891 0x00007ffff3bb94b7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
2892 0x00007ffff3bbe1f5 in QCoreApplication::exec() ()
from /usr/lib64/qt4/libQtCore.so.4
2893 0x0000000000897933 in main (argc=1, argv=0x7fffffffd9b8) at main.cpp:624
https://github.com/psi-im/psi/issues/218
Look like fixed at https://github.com/psi-im/psi/commit/5e830c9d4143c0ff79260f0d06d32831cb8a2746