main icon indicating copy to clipboard operation
main copied to clipboard

SEGFAULT at the "wrong certicifate" window.

Open Ri0n opened this issue 10 years ago • 2 comments

Original issue 548 created by psi-plus on 2013-06-23T18:39:54.000Z:

What steps will reproduce the problem?

  1. Lauch psi+.
  2. Connect to account at a server with invalid certificate.
  3. 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 = {&lt;QObject&gt; = {&lt;No data fields&gt;}, 

      static staticMetaObject = {d = {

          superdata = 0xf2e360 &lt;QObject::staticMetaObject&gt;, 

          stringdata = 0xa9d060 &lt;qt_meta_stringdata_CertificateErrorDialog&gt;

"CertificateErrorDialog",

          data = 0xa9d000 &lt;qt_meta_data_CertificateErrorDialog&gt;, 

          extradata = 0xa9cf80 &lt;CertificateErrorDialog::staticMetaObjectExtraData&gt;}}, static staticMetaObjectExtraData = {objects = 0x0, 

        static_metacall = 0x89bc40 &lt;CertificateErrorDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)&gt;}, messageBox_ = 0x6e00cb0, 

      detailsButton_ = 0x4c7cb70, continueButton_ = 0x4a6a1f0, 

      cancelButton_ = 0x6979b90, saveButton_ = 0x4c5db00, 

      certificate_ = &lt;incomplete type&gt;, result_ = 2, 

      validity_ = QCA::ErrorExpired, tlsOverrideDomain_ = @0x1adee78, 

      tlsOverrideCert_ = @0x1adee70, domainOverride_ = {

        static null = {&lt;No data fields&gt;}, static shared_null = {ref = {

            _q_value = 129380}, alloc = 0, size = 0, 

          data = 0xf2e5da &lt;QString::shared_null+26&gt;, 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 &lt;QString::shared_empty+26&gt;, clean = 0, 

          simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 

          reserved = 0, array = {0}}, d = 0xf2e5c0 &lt;QString::shared_null&gt;, 

        static codecForCStrings = 0x0}, host_ = {

        static null = {&lt;No data fields&gt;}, static shared_null = {ref = {

            _q_value = 129380}, alloc = 0, size = 0,

          data = 0xf2e5da &lt;QString::shared_null+26&gt;, 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 &lt;QString::shared_empty+26&gt;, clean = 0, 

          simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 

          reserved = 0, array = {0}}, d = 0x163a930, 

        static codecForCStrings = 0x0}}

    cert = &lt;incomplete type&gt;

    result = 2

    hostnameOverrideable = {static null = {&lt;No data fields&gt;}, 

      static shared_null = {ref = {_q_value = 129380}, alloc = 0, 

        size = 0, data = 0xf2e5da &lt;QString::shared_null+26&gt;, 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 &lt;QString::shared_empty+26&gt;, clean = 0, 

        simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 

        reserved = 0, array = {0}}, d = 0xf2e5c0 &lt;QString::shared_null&gt;, 

      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 = {&lt;QObject&gt; = {&lt;No data fields&gt;}, 

      static staticMetaObject = {d = {

          superdata = 0xf2e360 &lt;QObject::staticMetaObject&gt;, 

          stringdata = 0xa9d060 &lt;qt_meta_stringdata_CertificateErrorDialog&gt; &quot;CertificateErrorDialog&quot;, 

          data = 0xa9d000 &lt;qt_meta_data_CertificateErrorDialog&gt;, 

          extradata = 0xa9cf80 &lt;CertificateErrorDialog::staticMetaObjectExtraData&gt;}}, static staticMetaObjectExtraData = {objects = 0x0, 

        static_metacall = 0x89bc40 &lt;CertificateErrorDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)&gt;}, messageBox_ = 0x2869300,

      detailsButton_ = 0x688f960, continueButton_ = 0x4c47770, 

      cancelButton_ = 0x1d90f50, saveButton_ = 0x69ae390, 

      certificate_ = &lt;incomplete type&gt;, result_ = 2, 

      validity_ = QCA::ErrorExpired, tlsOverrideDomain_ = @0x1adee78, 

      tlsOverrideCert_ = @0x1adee70, domainOverride_ = {

        static null = {&lt;No data fields&gt;}, static shared_null = {ref = {

            _q_value = 129380}, alloc = 0, size = 0, 

          data = 0xf2e5da &lt;QString::shared_null+26&gt;, 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 &lt;QString::shared_empty+26&gt;, clean = 0, 

          simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 

          reserved = 0, array = {0}}, d = 0xf2e5c0 &lt;QString::shared_null&gt;, 

        static codecForCStrings = 0x0}, host_ = {

        static null = {&lt;No data fields&gt;}, static shared_null = {ref = {

            _q_value = 129380}, alloc = 0, size = 0, 

          data = 0xf2e5da &lt;QString::shared_null+26&gt;, 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 &lt;QString::shared_empty+26&gt;, clean = 0, 

          simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,

          reserved = 0, array = {0}}, d = 0x163a930, 

        static codecForCStrings = 0x0}}

    cert = &lt;incomplete type&gt;

    result = 2

    hostnameOverrideable = {static null = {&lt;No data fields&gt;}, 

      static shared_null = {ref = {_q_value = 129380}, alloc = 0, 

        size = 0, data = 0xf2e5da &lt;QString::shared_null+26&gt;, 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 &lt;QString::shared_empty+26&gt;, clean = 0, 

        simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 

        reserved = 0, array = {0}}, d = 0xf2e5c0 &lt;QString::shared_null&gt;, 

      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

Ri0n avatar Mar 19 '15 10:03 Ri0n

https://github.com/psi-im/psi/issues/218

Neustradamus avatar Feb 12 '17 11:02 Neustradamus

Look like fixed at https://github.com/psi-im/psi/commit/5e830c9d4143c0ff79260f0d06d32831cb8a2746

Vitozz avatar May 29 '20 21:05 Vitozz