STEPS TO REPRODUCE 1. Use git master Neochat 2. Begin and complete verification process from another device/client OBSERVED RESULT Once the verification is complete Neochat crashes EXPECTED RESULT No crash :) Built from git master. Builds: https://copr.fedorainfracloud.org/coprs/marcdeop/neochat/build/4871180/ for libquotient https://copr.fedorainfracloud.org/coprs/marcdeop/neochat/build/4871185/ for neochat Crash backtrace: Application: NeoChat (neochat), signal: Segmentation fault [KCrash Handler] #4 0x00007fc417b08be4 in QCborValue::QCborValue(QString const&) () from /lib64/libQt5Core.so.5 #5 0x00007fc417b1c53a in QJsonValue::QJsonValue(QString const&) () from /lib64/libQt5Core.so.5 #6 0x00007fc4192f1257 in Quotient::Connection::Private::assembleEncryptedContent(QJsonObject, QString const&, QString const&) const () from /lib64/libQuotient.so.0.7 #7 0x00007fc4192f3899 in Quotient::Connection::sendToDevice(QString const&, QString const&, Quotient::Event const&, bool) () from /lib64/libQuotient.so.0.7 #8 0x00007fc41936be54 in Quotient::KeyVerificationSession::cancelVerification(Quotient::KeyVerificationSession::Error) () from /lib64/libQuotient.so.0.7 #9 0x00007fc4192df437 in Quotient::Connection::Private::processIfVerificationEvent(Quotient::Event const&, bool) () from /lib64/libQuotient.so.0.7 #10 0x00007fc4192dfd4a in Quotient::Connection::Private::consumeToDeviceEvents(std::vector<std::unique_ptr<Quotient::Event, std::default_delete<Quotient::Event> >, std::allocator<std::unique_ptr<Quotient::Event, std::default_delete<Quotient::Event> > > >&&) () from /lib64/libQuotient.so.0.7 #11 0x00007fc4192e0405 in Quotient::Connection::onSyncSuccess(Quotient::SyncData&&, bool) () from /lib64/libQuotient.so.0.7 #12 0x00007fc4192fd395 in QtPrivate::QFunctorSlotObject<Quotient::Connection::sync(int)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [clone .lto_priv.0] () from /lib64/libQuotient.so.0.7 #13 0x00007fc417adb8b6 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5 #14 0x00007fc4192c5a56 in Quotient::BaseJob::success(Quotient::BaseJob*) () from /lib64/libQuotient.so.0.7 #15 0x00007fc419357b31 in Quotient::BaseJob::finishJob() () from /lib64/libQuotient.so.0.7 #16 0x00007fc417adb8b6 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5 #17 0x00007fc4190b6c98 in QNetworkReplyHttpImplPrivate::finished() () from /lib64/libQt5Network.so.5 #18 0x00007fc417ad22b4 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5 #19 0x00007fc4187aed22 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5 #20 0x00007fc417aa8218 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5 #21 0x00007fc417aab584 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5 #22 0x00007fc417af9457 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5 #23 0x00007fc416a1ec3f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #24 0x00007fc416a743c8 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0 #25 0x00007fc416a1bec0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #26 0x00007fc417af8f4a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5 #27 0x00007fc417aa6c6a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5 #28 0x00007fc417aaed32 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5 #29 0x0000560d5ac0b8b1 in main () [Inferior 1 (process 150221) detached]
Fixed in https://github.com/quotient-im/libQuotient/pull/573
(In reply to Tobias Fella from comment #1) > Fixed in https://github.com/quotient-im/libQuotient/pull/573 I confirm: with that patch I don't get the crash anymore