Bug 459590 - Crash after verification finished
Summary: Crash after verification finished
Status: RESOLVED FIXED
Alias: None
Product: NeoChat
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-24 09:14 UTC by Justin Zobel
Modified: 2022-11-17 02:41 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Zobel 2022-09-24 09:14:26 UTC
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]
Comment 1 Tobias Fella 2022-09-24 10:17:46 UTC
Fixed in https://github.com/quotient-im/libQuotient/pull/573
Comment 2 Marc Deop 2022-09-24 12:51:41 UTC
(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