Bug 489621 - Crash multiple times a day in Quotient::RoomEvent::id while not interacting with the app
Summary: Crash multiple times a day in Quotient::RoomEvent::id while not interacting w...
Status: RESOLVED DUPLICATE of bug 488066
Alias: None
Product: NeoChat
Classification: Applications
Component: General (show other bugs)
Version: git master
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2024-07-02 15:32 UTC by Nate Graham
Modified: 2024-07-02 17:14 UTC (History)
1 user (show)

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


Attachments
Full crash log (69.53 KB, text/vnd.kde.kcrash-report)
2024-07-02 15:32 UTC, Nate Graham
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2024-07-02 15:32:28 UTC
Created attachment 171290 [details]
Full crash log

With NeoChat from git master and libquotient from the tip of the 0.8.x branch, I'm seeing NeoChat crash multiple times a day in Quotient::RoomEvent::id, often when the app is in the background and I'm not interacting with it directly.

Backtrace of the crashing main thread:

Thread 1 (Thread 0x7fce16c0cd40 (LWP 1026364)):
[KCrash Handler]
#5  0x00007fce1ce41a91 in QArrayDataPointer<QtCbor::Element>::constEnd (this=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/tools/qarraydatapointer.h:127
#6  QList<QtCbor::Element>::constEnd (this=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/tools/qlist.h:619
#7  indexOf<QLatin1String> (o=..., key=..., keyExists=keyExists@entry=0x7ffe88b7a4df) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/serialization/qjsonobject.cpp:262
#8  0x00007fce1ce425fb in QJsonObject::valueImpl<QLatin1String> (this=0x416e9158, key=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/serialization/qjsonobject.cpp:314
#9  QJsonObject::value (this=0x416e9158, key=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/serialization/qjsonobject.cpp:301
#10 0x00007fce1f5984f9 in QJsonObject::operator[] (this=<optimized out>, key=...) at /usr/include/qt6/QtCore/qjsonobject.h:61
#11 Quotient::RoomEvent::id (this=<optimized out>) at /home/nate/kde/src/libquotient/Quotient/events/roomevent.cpp:24
#12 0x00000000005bc452 in operator() (__closure=0x426a5c70, newEvent=<optimized out>) at /home/nate/kde/src/neochat/src/models/messagecontentmodel.cpp:91
#13 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const Quotient::RoomEvent*>, void, MessageContentModel::initializeModel()::<lambda(const Quotient::RoomEvent*)> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:137
#14 QtPrivate::FunctorCallable<MessageContentModel::initializeModel()::<lambda(const Quotient::RoomEvent*)>, const Quotient::RoomEvent*>::call<QtPrivate::List<Quotient::RoomEvent const*>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:345
#15 QtPrivate::QCallableObject<MessageContentModel::initializeModel()::<lambda(const Quotient::RoomEvent*)>, QtPrivate::List<const Quotient::RoomEvent*>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x426a5c60, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:555
#16 0x00007fce1cdfa752 in QtPrivate::QSlotObjectBase::call (this=0x426a5c60, r=<optimized out>, a=0x7ffe88b7a6c0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#17 doActivate<false> (sender=0x41118bd0, signal_index=56, argv=0x7ffe88b7a6c0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#18 0x00007fce1cdf0b47 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fce1f67eb80, local_signal_index=local_signal_index@entry=53, argv=argv@entry=0x7ffe88b7a6c0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#19 0x00007fce1f541d94 in Quotient::Room::replacedEvent (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t2@entry=0x4582c8b0) at /home/nate/kde/build/libquotient/QuotientQt6_autogen/include/moc_room.cpp:2670
#20 0x00007fce1f54eb62 in Quotient::Room::Private::processReplacement (this=this@entry=0x41124b60, newEvent=...) at /usr/include/c++/14/bits/unique_ptr.h:193
#21 0x00007fce1f562a67 in Quotient::Room::Private::addNewMessageEvents (this=this@entry=0x41124b60, events=...) at /home/nate/kde/src/libquotient/Quotient/room.cpp:3049
#22 0x00007fce1f563c55 in Quotient::Room::Private::addNewMessageEvents (this=0x41124b60, events=...) at /usr/include/c++/14/bits/stl_iterator.h:1067
#23 Quotient::Room::updateData (this=0x41118bd0, data=..., fromCache=false) at /home/nate/kde/src/libquotient/Quotient/room.cpp:2078
#24 0x00007fce1cdebdeb in QObject::event (this=0x41118bd0, e=0x7fcdf4004ff0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:1452
#25 0x00007fce1e38b168 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x41118bd0, e=0x7fcdf4004ff0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/widgets/kernel/qapplication.cpp:3287
#26 0x00007fce1cd95b18 in QCoreApplication::notifyInternal2 (receiver=0x41118bd0, event=0x7fcdf4004ff0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1134
#27 0x00007fce1cd95d7d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1575
#28 0x00007fce1cd998c1 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x3e7880a0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1932
#29 0x00007fce1cd99b6d in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1789
#30 0x00007fce1d07d39f in postEventSourceDispatch (s=0x3e8da710) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#31 0x00007fce1a30ee8c in g_main_dispatch (context=0x7fce04000f00) at ../glib/gmain.c:3344
#32 g_main_context_dispatch_unlocked (context=0x7fce04000f00) at ../glib/gmain.c:4152
#33 0x00007fce1a370c98 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fce04000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#34 0x00007fce1a310383 in g_main_context_iteration (context=0x7fce04000f00, may_block=1) at ../glib/gmain.c:4282
#35 0x00007fce1d07cb53 in QEventDispatcherGlib::processEvents (this=0x3e76e350, flags=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#36 0x00007fce1cda2713 in QEventLoop::exec (this=this@entry=0x7ffe88b7af10, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/global/qflags.h:34
#37 0x00007fce1cd9e69c in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/global/qflags.h:74
#38 0x00007fce1d7d53dd in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/kernel/qguiapplication.cpp:1926
#39 0x00007fce1e38b0d9 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/widgets/kernel/qapplication.cpp:2555
#40 0x000000000043a4a0 in main (argc=<optimized out>, argv=<optimized out>) at /home/nate/kde/src/neochat/src/main.cpp:312
Comment 1 Tobias Fella 2024-07-02 17:14:05 UTC

*** This bug has been marked as a duplicate of bug 488066 ***