Bug 494812 - NeoChat crashes shortly after launch in EventHandler::getMediaInfoFromFileInfo()
Summary: NeoChat crashes shortly after launch in EventHandler::getMediaInfoFromFileInfo()
Status: RESOLVED FIXED
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:
Depends on:
Blocks:
 
Reported: 2024-10-15 12:49 UTC by Nate Graham
Modified: 2024-11-09 23:28 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2024-10-15 12:49:19 UTC
With today's git master of both NeoChat and Libquotient, NeoChat crashes shortly after launch 100% of the time for me.

backtrace:

44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7f7e5902dd40 (LWP 180278))]
(gdb) bt
#0  __pthread_kill_implementation
    (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f7e5eaa86d3 in __pthread_kill_internal (threadid=<optimized out>, signo=11)
    at pthread_kill.c:78
#2  0x00007f7e5ea4fc4e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f7e6242b5ab in KCrash::defaultCrashHandler (sig=11)
    at /home/nate/kde/src/kcrash/src/kcrash.cpp:596
#4  0x00007f7e5ea4fd00 in <signal handler called> () at /lib64/libc.so.6
#5  std::__atomic_base<int>::fetch_add (this=<optimized out>, __i=1, __m=std::memory_order_acq_rel)
    at /usr/include/c++/14/bits/atomic_base.h:629
#6  QAtomicOps<int>::ref<int> (_q_value=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/thread/qatomic_cxx11.h:259
#7  QBasicAtomicInteger<int>::ref (this=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/thread/qbasicatomic.h:47
#8  QArrayData::ref (this=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/tools/qarraydata.h:58
#9  QArrayDataPointer<char16_t>::ref (this=0x7fff6ada0520)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/tools/qarraydatapointer.h:438
#10 QArrayDataPointer<char16_t>::QArrayDataPointer (this=0x7fff6ada0520, other=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/tools/qarraydatapointer.h:40
#11 QString::QString (this=0x7fff6ada0520, other=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/text/qstring.h:1186
#12 QUrl::scheme (this=this@entry=0x7fff6ada0500)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/io/qurl.cpp:1987
#13 0x00000000005ce99e in EventHandler::getMediaInfoFromFileInfo
    (room=room@entry=0x358df1a0, fileInfo=fileInfo@entry=0x381b7300, eventId=..., isThumbnail=isThumbnail@entry=false, isSticker=isSticker@entry=false)
    at /home/nate/kde/src/neochat/src/eventhandler.cpp:735
#14 0x00000000005cefdc in EventHandler::getMediaInfoForEvent
    (room=0x358df1a0, event=event@entry=0x34d85af0)
    at /home/nate/kde/src/neochat/src/eventhandler.cpp:708
#15 0x00000000005cf0d8 in EventHandler::mediaInfo
    (room=<optimized out>, event=event@entry=0x34d85af0)
    at /home/nate/kde/src/neochat/src/eventhandler.cpp:692
#16 0x00000000005d6932 in MessageContentModel::data (this=0x37643bb0, index=<optimized out>, role=7)
    at /home/nate/kde/src/neochat/src/models/messagecontentmodel.cpp:309
#17 0x00007f7e62efdcb8 in QModelIndex::data (this=0x7fff6ada0950, arole=7)
    at /usr/include/qt6/QtCore/qabstractitemmodel.h:493
#18 QQmlDMAbstractItemModelData::value (this=this@entry=0x35fbeff0, role=7)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldmabstractitemmodeldata.cpp:229
#19 0x00007f7e62efe30e in QQmlDMAbstractItemModelData::metaCall
    (this=0x35fbeff0, call=<optimized out>, id=<optimized out>, arguments=0x7fff6ada0aa0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldmabstractitemmodeldata.cpp:30
#20 0x00007f7e5f1a9081 in QMetaProperty::read (this=this@entry=0x7fff6ada0bf0, object=0x35fbeff0)
--Type <RET> for more, q to quit, c to continue without paging--c
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qmetaobject.cpp:3734
#21 0x00007f7e621ef85e in QQmlPropertyToPropertyBinding::update (this=0x381b1080, flags=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlpropertytopropertybinding.cpp:112
#22 0x00007f7e62eedf47 in QQDMIncubationTask::initializeRequiredProperties
    (this=<optimized out>, modelItemToIncubate=<optimized out>, object=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldelegatemodel.cpp:984
#23 0x00007f7e62eee097 in QQmlDelegateModelPrivate::setInitialState
    (this=0x3792e220, incubationTask=0x378da0f0, o=0x37bb23c0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldelegatemodel.cpp:1160
#24 0x00007f7e621698c3 in QQmlIncubatorPrivate::incubate (this=this@entry=0x381b74e0, i=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlincubator.cpp:321
#25 0x00007f7e62169c0f in QQmlEnginePrivate::incubate
    (this=0x3473cdc0, i=<optimized out>, forContext=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlincubator.cpp:53
#26 0x00007f7e62eea899 in QQmlDelegateModelPrivate::object
    (this=0x3792e220, group=QQmlListCompositor::Default, index=1, incubationMode=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldelegatemodel.cpp:1284
#27 0x00007f7e62b6e060 in QQuickRepeaterPrivate::requestItems (this=0x378ee310)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickrepeater.cpp:367
#28 0x00007f7e62b70efc in QQuickRepeater::modelUpdated
    (this=0x37950e60, changeSet=..., reset=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickrepeater.cpp:435
#29 0x00007f7e62b715d4 in QQuickRepeater::qt_metacall
    (this=0x37950e60, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fff6ada1360)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/redhat-linux-build/src/quick/Quick_autogen/include/moc_qquickrepeater_p.cpp:297
#30 0x00007f7e5f1fcbda in doActivate<false> (sender=0x37decc20, signal_index=4, argv=0x7fff6ada1360)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4112
#31 0x00007f7e5f1f2bc7 in QMetaObject::activate
    (sender=<optimized out>, m=m@entry=0x7f7e62f367a0 <QQmlInstanceModel::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff6ada1360)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#32 0x00007f7e62ea0df7 in QQmlInstanceModel::modelUpdated
    (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/redhat-linux-build/src/qmlmodels/QmlModels_autogen/include/moc_qqmlobjectmodel_p.cpp:279
#33 0x00007f7e62edec7d in non-virtual thunk to QQmlDelegateModelPrivate::emitModelUpdated(QQmlChangeSet const&, bool) ()
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldelegatemodel_p_p.h:303
#34 0x00007f7e62ee3c5b in QQmlDelegateModelGroupPrivate::emitModelUpdated
    (this=0x37decd70, reset=reset@entry=true)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldelegatemodel.cpp:2875
#35 0x00007f7e62ee6178 in QQmlDelegateModelPrivate::emitChanges (this=this@entry=0x3792e220)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldelegatemodel.cpp:1893
#36 0x00007f7e62ef39c7 in QQmlDelegateModel::handleModelReset (this=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qmlmodels/qqmldelegatemodel.cpp:1974
#37 0x00007f7e5f1fc8f2 in QtPrivate::QSlotObjectBase::call
    (this=0x36c09710, r=<optimized out>, a=0x7fff6ada2600)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#38 doActivate<false> (sender=0x37643bb0, signal_index=21, argv=0x7fff6ada2600)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#39 0x00007f7e5f1f2bc7 in QMetaObject::activate
    (sender=<optimized out>, m=m@entry=0x7f7e5f68efe0, local_signal_index=local_signal_index@entry=18, argv=argv@entry=0x7fff6ada2600)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#40 0x00007f7e5f4074f0 in QAbstractItemModel::modelReset (this=<optimized out>, _t1=...)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:1112
#41 0x00000000005da0c9 in MessageContentModel::resetModel (this=<optimized out>)
    at /home/nate/kde/src/neochat/src/models/messagecontentmodel.cpp:411
#42 0x00000000005dafbe in operator() (__closure=0x37b170e0, eventId=<optimized out>)
    at /home/nate/kde/src/neochat/src/models/messagecontentmodel.cpp:177
#43 operator()<QString> (__closure=0x37b170e0)
    at /home/nate/kde/usr/include/Quotient/qt_connection_util.h:34
#44 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QString&>, void, Quotient::connectUntil<MessageContentModel::getEvent()::<lambda(const QString&)>, NeoChatRoom, void (NeoChatRoom::*)(const QString&)>(NeoChatRoom*, void (NeoChatRoom::*)(const QString&), QObject*, MessageContentModel::getEvent()::<lambda(const QString&)>&&, Qt::ConnectionType)::<lambda(const Ts& ...)> >::call
    (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:137
#45 QtPrivate::FunctorCallable<Quotient::connectUntil<MessageContentModel::getEvent()::<lambda(const QString&)>, NeoChatRoom, void (NeoChatRoom::*)(const QString&)>(NeoChatRoom*, void (NeoChatRoom::*)(const QString&), QObject*, MessageContentModel::getEvent()::<lambda(const QString&)>&&, Qt::ConnectionType)::<lambda(const Ts& ...)>, const QString&>::call<QtPrivate::List<QString const&>, void>
    (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:345
#46 QtPrivate::QCallableObject<Quotient::connectUntil<MessageContentModel::getEvent()::<lambda(const QString&)>, NeoChatRoom, void (NeoChatRoom::*)(const QString&)>(NeoChatRoom*, void (NeoChatRoom::*)(const QString&), QObject*, MessageContentModel::getEvent()::<lambda(const QString&)>&&, Qt::ConnectionType)::<lambda(const Ts& ...)>, QtPrivate::List<const QString&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *)
    (which=<optimized out>, this_=0x37b170d0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:555
#47 0x00007f7e5f1fc8f2 in QtPrivate::QSlotObjectBase::call
    (this=0x37b170d0, r=<optimized out>, a=0x7fff6ada2770)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#48 doActivate<false> (sender=0x358df1a0, signal_index=80, argv=0x7fff6ada2770)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#49 0x00007f7e5f1f2bc7 in QMetaObject::activate
    (sender=<optimized out>, m=m@entry=0x8617e0 <NeoChatRoom::staticMetaObject>, local_signal_index=local_signal_index@entry=21, argv=argv@entry=0x7fff6ada2770)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#50 0x0000000000561182 in NeoChatRoom::extraEventLoaded (this=<optimized out>, _t1=...)
    at /home/nate/kde/build/neochat/src/neochat_autogen/include/moc_neochatroom.cpp:1321
#51 operator() (__closure=0x36e8adb0) at /home/nate/kde/src/neochat/src/neochatroom.cpp:1780
#52 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, NeoChatRoom::downloadEventFromServer(const QString&)::<lambda()> >::call (f=..., arg=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:137
#53 QtPrivate::FunctorCallable<NeoChatRoom::downloadEventFromServer(const QString&)::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:345
#54 QtPrivate::QCallableObject<NeoChatRoom::downloadEventFromServer(const QString&)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *)
    (which=<optimized out>, this_=0x36e8ada0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:555
#55 0x00007f7e5f1fc8f2 in QtPrivate::QSlotObjectBase::call
    (this=0x36e8ada0, r=<optimized out>, a=0x7fff6ada28c0)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#56 doActivate<false> (sender=0x37bed710, signal_index=10, argv=0x7fff6ada28c0)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#57 0x00007f7e5f1f2bc7 in QMetaObject::activate
    (sender=<optimized out>, m=m@entry=0x7f7e61d5bb00, local_signal_index=local_signal_index@entry=7, argv=argv@entry=0x7fff6ada28c0)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#58 0x00007f7e61b4ec52 in Quotient::BaseJob::success (this=<optimized out>, _t1=<optimized out>)
    at /home/nate/kde/build/libquotient/QuotientQt6_autogen/T4CFEN5LXH/moc_basejob.cpp:535
#59 0x00007f7e61c511fd in Quotient::BaseJob::finishJob (this=0x37bed710)
    at /home/nate/kde/src/libquotient/Quotient/jobs/basejob.cpp:628
#60 0x00007f7e5f1fc8f2 in QtPrivate::QSlotObjectBase::call
    (this=0x35aa2e20, r=<optimized out>, a=0x7fff6ada2a18)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#61 doActivate<false> (sender=0x36a8bb70, signal_index=12, argv=0x7fff6ada2a18)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#62 0x00007f7e5f1f2bc7 in QMetaObject::activate
    (sender=sender@entry=0x36a8bb70, m=m@entry=0x7f7e5f9f1680, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x0)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#63 0x00007f7e5f88f1c7 in QNetworkReply::finished (this=this@entry=0x36a8bb70)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/redhat-linux-build/src/network/Network_autogen/include/moc_qnetworkreply.cpp:435
#64 0x00007f7e5f938e01 in QNetworkReplyHttpImplPrivate::finished (this=0x380ce2b0)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/network/access/qnetworkreplyhttpimpl.cpp:2147
#65 0x00007f7e5f1eddcb in QObject::event (this=0x36a8bb70, e=0x7f7de4016320)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:1452
#66 0x00007f7e6078b218 in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x36a8bb70, e=0x7f7de4016320)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/widgets/kernel/qapplication.cpp:3287
#67 0x00007f7e5f196e88 in QCoreApplication::notifyInternal2
    (receiver=0x36a8bb70, event=0x7f7de4016320)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1142
#68 0x00007f7e5f1970ed in QCoreApplication::sendEvent
    (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1583
#69 0x00007f7e5f19ac51 in QCoreApplicationPrivate::sendPostedEvents
    (receiver=0x0, event_type=0, data=0x344ab7a0)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1940
#70 0x00007f7e5f19aefd in QCoreApplication::sendPostedEvents
    (receiver=<optimized out>, event_type=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1797
#71 0x00007f7e5f4859ef in postEventSourceDispatch (s=0x345d9430)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#72 0x00007f7e5c70ee8c in g_main_dispatch (context=0x7f7e44000f00) at ../glib/gmain.c:3344
#73 g_main_context_dispatch_unlocked (context=0x7f7e44000f00) at ../glib/gmain.c:4152
#74 0x00007f7e5c770c98 in g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7f7e44000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#75 0x00007f7e5c710383 in g_main_context_iteration (context=0x7f7e44000f00, may_block=1)
    at ../glib/gmain.c:4282
#76 0x00007f7e5f4851a3 in QEventDispatcherGlib::processEvents (this=0x3448e0c0, flags=...)
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#77 0x00007f7e5f1a3bc3 in QEventLoop::exec (this=this@entry=0x7fff6ada2f90, flags=...,
    flags@entry=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/global/qflags.h:34
#78 0x00007f7e5f19fa7c in QCoreApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/global/qflags.h:74
#79 0x00007f7e5fbd66ed in QGuiApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/gui/kernel/qguiapplication.cpp:1926
#80 0x00007f7e6078b189 in QApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/widgets/kernel/qapplication.cpp:2555
#81 0x000000000043a121 in main (argc=<optimized out>, argv=<optimized out>)
    at /home/nate/kde/src/neochat/src/main.cpp:307
Comment 1 Joshua Goins 2024-11-09 23:28:29 UTC
I'm certain this is fixed by https://invent.kde.org/network/neochat/-/merge_requests/1949, closing. Re-open if you're still hitting this but I haven't yet on master.