Nheko-Reborn / nheko

Desktop client for Matrix using Qt and C++20.
https://nheko-reborn.github.io/
GNU General Public License v3.0
1.9k stars 199 forks source link

Random(?) crash after accepting invite #1122

Open tastytea opened 2 years ago

tastytea commented 2 years ago

Describe the bug

Immediately after i accepted an invite to a space, nheko crashed. I could not reproduce it with the same space, another space or a “normal” room. But i have a backtrace. 😊

To Reproduce

  1. invite an account to a space
  2. accept invite
  3. crash (maybe)

What happened?

I had 2 instances of nheko open, with different profiles. From instance 1 i invited the account in instance 2 to the space #stickers-and-emojis:pixie.town. Then nheko crashed.

Expected behavior

No response

Screenshots

No response

Version

0.9.3-ce651ff2

Operating system

Linux

Installation method

Some repository (AUR, homebrew, distribution repository, PPA, etc)

Qt version

5.15.5

C++ compiler

gcc-11.3.0

Desktop Environment

i3

Did you use profiles?

Relevant log output

[2022-07-19 23:11:20.503] [db] [warning] duplicate event '{"event_id":"$BZ6fPSAOQDFFz9mOdXBolY8jmX3QdXpY37k33IWCX1w"}'
Error: signal 11:
nheko(_Z17stacktraceHandleri+0x3b)[0x56397618617b]
/lib64/libc.so.6(+0x3dad0)[0x7f092f662ad0]
/usr/lib64/libQt5Core.so.5(+0x2317c0)[0x7f09300b67c0]
/usr/lib64/libQt5Core.so.5(_ZN25QAbstractItemModelPrivate12rowsInsertedERK11QModelIndexii+0x52)[0x7f09300afd12]
/usr/lib64/libQt5Core.so.5(_ZN18QAbstractItemModel13endInsertRowsEv+0xac)[0x7f09300b2b8c]
nheko(_ZN13RoomlistModel7addRoomERK7QStringb+0xfc0)[0x563975f690c0]
nheko(_ZN13RoomlistModel4syncERKN3mtx9responses4SyncE+0x511)[0x563975f6acf1]
nheko(_ZN19TimelineViewManager4syncERKN3mtx9responses4SyncE+0x15)[0x563975fb4855]
nheko(+0x5f151a)[0x5639760e651a]

[…]

nheko(main+0xcf0)[0x563975e5a390]
/lib64/libc.so.6(+0x291ea)[0x7f092f64e1ea]
/lib64/libc.so.6(__libc_start_main+0x7c)[0x7f092f64e29c]
nheko(_start+0x21)[0x563975e5ae51]
[1]    7208 IOT instruction (core dumped)  nheko --profile test

Backtrace

[New LWP 7208]
[New LWP 7209]
[New LWP 7223]
[New LWP 7239]
[New LWP 7222]
[New LWP 7238]
[New LWP 7405]
[New LWP 7230]
[New LWP 7240]
[New LWP 7233]
[New LWP 7237]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `nheko --profile test'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f092f6ae82c in __pthread_kill_implementation () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f0931c82f80 (LWP 7208))]

Thread 11 (Thread 0x7f09077fe640 (LWP 7237)):
#0  0x00007f092f72e656 in epoll_wait () at /lib64/libc.so.6
#1  0x00007f09320a1f63 in epoll_dispatch () at /var/tmp/portage/dev-libs/libevent-2.1.12/work/libevent-2.1.12-stable/epoll.c:465
#2  0x00007f09320980c9 in event_base_loop () at /var/tmp/portage/dev-libs/libevent-2.1.12/work/libevent-2.1.12-stable/event.c:1992
#3  0x00007f092f9f15c0 in execute_native_thread_routine() () at /var/tmp/portage/sys-devel/gcc-11.3.0/work/gcc-11.3.0/libstdc++-v3/src/c++11/thread.cc:82
#4  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#5  0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 10 (Thread 0x7f0907fff640 (LWP 7233)):
#0  0x00007f092f72265f in poll () at /lib64/libc.so.6
#1  0x00007f092fbbfc2e in g_main_context_poll () at ../glib-2.72.2/glib/gmain.c:4516
#2  g_main_context_iterate () at ../glib-2.72.2/glib/gmain.c:4206
#3  0x00007f092fbbff43 in g_main_loop_run () at ../glib-2.72.2/glib/gmain.c:4411
#4  0x00007f091807cd32 in provider_thread () at ../gst-plugins-good-1.20.2/sys/v4l2/gstv4l2deviceprovider.c:406
#5  0x00007f092fbe8ced in g_thread_proxy () at ../glib-2.72.2/glib/gthread.c:827
#6  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#7  0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 9 (Thread 0x7f08fa764640 (LWP 7240)):
#0  0x00007f092f724cdd in select () at /lib64/libc.so.6
#1  0x00007f090ed1c271 in  () at /usr/lib64/libnvidia-glcore.so.470.129.06
#2  0x00007f090ed19d9d in  () at /usr/lib64/libnvidia-glcore.so.470.129.06
#3  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#4  0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 8 (Thread 0x7f090cc3c640 (LWP 7230)):
#0  0x00007f092f72265f in poll () at /lib64/libc.so.6
#1  0x00007f092f5e1f32 in poll () at /usr/include/bits/poll2.h:39
#2  poll_func () at ../pulseaudio-16.0/src/pulse/thread-mainloop.c:70
#3  0x00007f092f5d3e11 in pa_mainloop_poll () at ../pulseaudio-16.0/src/pulse/mainloop.c:863
#4  0x00007f092f5d444f in pa_mainloop_iterate () at ../pulseaudio-16.0/src/pulse/mainloop.c:945
#5  0x00007f092f5d44f8 in pa_mainloop_run () at ../pulseaudio-16.0/src/pulse/mainloop.c:963
#6  0x00007f092f5e2001 in thread () at ../pulseaudio-16.0/src/pulse/thread-mainloop.c:101
#7  0x00007f092e85fc56 in internal_thread_func () at ../pulseaudio-16.0/src/pulsecore/thread-posix.c:81
#8  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#9  0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 7 (Thread 0x7f092a4d4640 (LWP 7405)):
#0  0x00007f092f6a97ea in __futex_abstimed_wait_common () at /lib64/libc.so.6
#1  0x00007f092f6ac224 in pthread_cond_timedwait () at /lib64/libc.so.6
#2  0x00007f092ff55aa2 in QWaitConditionPrivate::wait_relative(QDeadlineTimer) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qwaitcondition_unix.cpp:136
#3  QWaitConditionPrivate::wait(QDeadlineTimer) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qwaitcondition_unix.cpp:144
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qwaitcondition_unix.cpp:225
#5  0x00007f092ff53473 in QThreadPoolThread::run() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthreadpool.cpp:140
#6  0x00007f092ff50529 in QThreadPrivate::start(void*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread_unix.cpp:331
#7  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#8  0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 6 (Thread 0x7f0904a64640 (LWP 7238)):
#0  0x00007f092f72265f in poll () at /lib64/libc.so.6
#1  0x00007f092fbbfc2e in g_main_context_poll () at ../glib-2.72.2/glib/gmain.c:4516
#2  g_main_context_iterate () at ../glib-2.72.2/glib/gmain.c:4206
#3  0x00007f092fbbfd3f in g_main_context_iteration () at ../glib-2.72.2/glib/gmain.c:4276
#4  0x00007f0930145c14 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f09300f5373 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventloop.cpp:232
#6  0x00007f092ff4f40a in QThread::exec() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread.cpp:547
#7  0x00007f0931850356 in QQuickPixmapReader::run() () at /var/tmp/portage/dev-qt/qtdeclarative-5.15.5/work/qtdeclarative-everywhere-src-5.15.5/src/quick/util/qquickpixmapcache.cpp:1024
#8  0x00007f092ff50529 in QThreadPrivate::start(void*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread_unix.cpp:331
#9  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#10 0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 5 (Thread 0x7f0918a04640 (LWP 7222)):
#0  0x00007f092f72265f in poll () at /lib64/libc.so.6
#1  0x00007f092fbbfc2e in g_main_context_poll () at ../glib-2.72.2/glib/gmain.c:4516
#2  g_main_context_iterate () at ../glib-2.72.2/glib/gmain.c:4206
#3  0x00007f092fbbfd3f in g_main_context_iteration () at ../glib-2.72.2/glib/gmain.c:4276
#4  0x00007f0930145c14 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f09300f5373 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventloop.cpp:232
#6  0x00007f092ff4f40a in QThread::exec() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread.cpp:547
#7  0x00007f09315a6105 in QQmlThreadPrivate::run() () at /var/tmp/portage/dev-qt/qtdeclarative-5.15.5/work/qtdeclarative-everywhere-src-5.15.5/src/qml/qml/ftw/qqmlthread.cpp:155
#8  0x00007f092ff50529 in QThreadPrivate::start(void*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread_unix.cpp:331
#9  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#10 0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 4 (Thread 0x7f08fbffc640 (LWP 7239)):
#0  0x00007f092f6a97ea in __futex_abstimed_wait_common () at /lib64/libc.so.6
#1  0x00007f092f6abf20 in pthread_cond_wait () at /lib64/libc.so.6
#2  0x00007f092ff55b33 in QWaitConditionPrivate::wait(QDeadlineTimer) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qwaitcondition_unix.cpp:146
#3  QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qwaitcondition_unix.cpp:225
#4  0x00007f0931901a33 in QSGRenderThreadEventQueue::takeEvent(bool) () at /var/tmp/portage/dev-qt/qtdeclarative-5.15.5/work/qtdeclarative-everywhere-src-5.15.5/src/quick/scenegraph/qsgthreadedrenderloop.cpp:257
#5  QSGRenderThread::processEventsAndWaitForMore() () at /var/tmp/portage/dev-qt/qtdeclarative-5.15.5/work/qtdeclarative-everywhere-src-5.15.5/src/quick/scenegraph/qsgthreadedrenderloop.cpp:936
#6  0x00007f0931903dc9 in QSGRenderThread::run() () at /var/tmp/portage/dev-qt/qtdeclarative-5.15.5/work/qtdeclarative-everywhere-src-5.15.5/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1053
#7  0x00007f092ff50529 in QThreadPrivate::start(void*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread_unix.cpp:331
#8  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#9  0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 3 (Thread 0x7f090d4fc640 (LWP 7223)):
#0  0x00007f092f72265f in poll () at /lib64/libc.so.6
#1  0x00007f092fbbfc2e in g_main_context_poll () at ../glib-2.72.2/glib/gmain.c:4516
#2  g_main_context_iterate () at ../glib-2.72.2/glib/gmain.c:4206
#3  0x00007f092fbbfd3f in g_main_context_iteration () at ../glib-2.72.2/glib/gmain.c:4276
#4  0x00007f0930145c14 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f09300f5373 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventloop.cpp:232
#6  0x00007f092ff4f40a in QThread::exec() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread.cpp:547
#7  0x00007f09312144cf in QDBusConnectionManager::run() () at /var/tmp/portage/dev-qt/qtdbus-5.15.5/work/qtbase-everywhere-src-5.15.5/src/dbus/qdbusconnection.cpp:179
#8  0x00007f092ff50529 in QThreadPrivate::start(void*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread_unix.cpp:331
#9  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#10 0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 2 (Thread 0x7f092b744640 (LWP 7209)):
#0  0x00007f092f72265f in poll () at /lib64/libc.so.6
#1  0x00007f092fb39cc4 in poll () at /usr/include/bits/poll2.h:39
#2  _xcb_conn_wait () at /var/tmp/portage/x11-libs/libxcb-1.15/work/libxcb-1.15/src/xcb_conn.c:508
#3  0x00007f092fb3b6a2 in xcb_wait_for_event () at /var/tmp/portage/x11-libs/libxcb-1.15/work/libxcb-1.15/src/xcb_in.c:703
#4  0x00007f092b971900 in QXcbEventQueue::run() () at /var/tmp/portage/dev-qt/qtgui-5.15.5/work/qtbase-everywhere-src-5.15.5/src/plugins/platforms/xcb/qxcbeventqueue.cpp:228
#5  0x00007f092ff50529 in QThreadPrivate::start(void*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/thread/qthread_unix.cpp:331
#6  0x00007f092f6acb27 in start_thread () at /lib64/libc.so.6
#7  0x00007f092f72effc in clone3 () at /lib64/libc.so.6

Thread 1 (Thread 0x7f0931c82f80 (LWP 7208)):
#0  0x00007f092f6ae82c in __pthread_kill_implementation () at /lib64/libc.so.6
#1  0x00007f092f662a32 in raise () at /lib64/libc.so.6
#2  0x000056397618622e in stacktraceHandler(int) () at /var/tmp/portage/net-im/nheko-9999/work/nheko-9999/src/main.cpp:90
#3  0x00007f092f662ad0 in <signal handler called> () at /lib64/libc.so.6
#4  std::__atomic_base<int>::load(std::memory_order) const () at /usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/include/g++-v11/bits/atomic_base.h:481
#5  QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:239
#6  QBasicAtomicInteger<int>::loadRelaxed() const () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/include/QtCore/../../src/corelib/thread/qbasicatomic.h:107
#7  QtPrivate::RefCount::ref() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/include/QtCore/../../src/corelib/tools/qrefcount.h:55
#8  QVector<QPersistentModelIndexData*>::QVector(QVector<QPersistentModelIndexData*> const&) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/include/QtCore/../../src/corelib/tools/qvector.h:374
#9  QStack<QVector<QPersistentModelIndexData*> >::pop() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/include/QtCore/../../src/corelib/tools/qstack.h:62
#10 0x00007f09300afd12 in QAbstractItemModelPrivate::rowsInserted(QModelIndex const&, int, int) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/itemmodels/qabstractitemmodel.cpp:683
#11 0x00007f09300b2b8c in QAbstractItemModel::endInsertRows() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/itemmodels/qabstractitemmodel.cpp:2779
#12 0x0000563975f690c0 in RoomlistModel::addRoom(QString const&, bool) () at /var/tmp/portage/net-im/nheko-9999/work/nheko-9999/src/timeline/RoomlistModel.cpp:395
#13 0x0000563975f6acf1 in RoomlistModel::sync(mtx::responses::Sync const&) () at /var/tmp/portage/net-im/nheko-9999/work/nheko-9999/src/timeline/RoomlistModel.cpp:524
#14 0x0000563975fb4855 in TimelineViewManager::sync(mtx::responses::Sync const&) () at /var/tmp/portage/net-im/nheko-9999/work/nheko-9999/src/timeline/TimelineViewManager.cpp:214
#15 0x00005639760e651a in operator() () at /var/tmp/portage/net-im/nheko-9999/work/nheko-9999/src/ChatPage.cpp:188
#16 call () at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146
#17 call<QtPrivate::List<mtx::responses::Sync const&>, void> () at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
#18 impl() () at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443
#19 0x00007f093012861d in QtPrivate::QSlotObjectBase::call(QObject*, void**) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false>(QObject*, int, void**) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qobject.cpp:3886
#21 0x0000563975e5e815 in ChatPage::syncUI(mtx::responses::Sync const&) () at /var/tmp/portage/net-im/nheko-9999/work/nheko-9999_build/nheko_autogen/UVLADIE3JM/moc_ChatPage.cpp:975
#22 0x00005639760f0885 in ChatPage::handleSyncResponse(mtx::responses::Sync const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /var/tmp/portage/net-im/nheko-9999/work/nheko-9999/src/ChatPage.cpp:638
#23 0x00007f0930120889 in QObject::event(QEvent*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qobject.cpp:1314
#24 0x00007f0930ca82ef in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /var/tmp/portage/dev-qt/qtwidgets-5.15.5/work/qtbase-everywhere-src-5.15.5/src/widgets/kernel/qapplication.cpp:3637
#25 0x00007f09300f6850 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qcoreapplication.cpp:1064
#26 0x00007f09300f9c55 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qcoreapplication.cpp:1821
#27 0x00007f0930146113 in postEventSourceDispatch() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#28 0x00007f092fbbf9fa in g_main_dispatch () at ../glib-2.72.2/glib/gmain.c:3417
#29 g_main_context_dispatch () at ../glib-2.72.2/glib/gmain.c:4135
#30 0x00007f092fbbfc90 in g_main_context_iterate () at ../glib-2.72.2/glib/gmain.c:4211
#31 0x00007f092fbbfd3f in g_main_context_iteration () at ../glib-2.72.2/glib/gmain.c:4276
#32 0x00007f0930145c14 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#33 0x00007f09300f5373 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qeventloop.cpp:232
#34 0x00007f09300fd455 in QCoreApplication::exec() () at /var/tmp/portage/dev-qt/qtcore-5.15.5-r1/work/qtbase-everywhere-src-5.15.5/src/corelib/kernel/qcoreapplication.cpp:1375
#35 0x0000563975e5a390 in main() () at /var/tmp/portage/net-im/nheko-9999/work/nheko-9999/src/main.cpp:358
deepbluev7 commented 2 years ago

That sounds like we have trouble when the server sends us duplicate events for a new room we just joined (possibly because indices will conflict). That will be a nightmare to reproduce, but might be fixable without a repro.