Bug 513104

Summary: Neochat crashes when clicking on image
Product: [Applications] NeoChat Reporter: Nicolas Fella <nicolas.fella>
Component: GeneralAssignee: Tobias Fella <fella>
Status: RESOLVED FIXED    
Severity: crash CC: carl, josh
Priority: NOR Keywords: drkonqi
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/320193/events/a5ddc400818c43b989068d7437ec6107/
Attachments: New crash information added by DrKonqi

Description Nicolas Fella 2025-12-08 21:51:29 UTC
Application: neochat (26.03.70)
 (Compiled from sources)
ApplicationNotResponding [ANR]: false
Qt Version: 6.11.0
Frameworks Version: 6.22.0
Operating System: Linux 6.17.9-300.fc43.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 43 (KDE Plasma Desktop Edition)"
DrKonqi: 6.5.80 [CoredumpBackend]

-- Information about the crash:
Click on an image in the timeline

The crash can be reproduced every time.

-- Backtrace (Reduced):
#4  __pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=<optimized out>) at pthread_kill.c:44
#5  0x00007f5aeec2618e in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
#6  0x00007f5aeec0d6d0 in __GI_abort () at abort.c:77
#7  0x00007f5aef2c6582 in qAbort () at /home/nico/workspace/qt6/qtbase/src/corelib/global/qassert.cpp:46
#8  0x00007f5aef36558a in qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...) at /home/nico/workspace/qt6/qtbase/src/corelib/global/qlogging.cpp:2169
[...]
#10 0x00007f5aef2c8bf9 in QMessageLogger::fatal (this=this@entry=0x7fff1cdae570, msg=msg@entry=0x7f5aef7b8ad0 "ASSERT: \"%s\" in file %s, line %d") at /home/nico/workspace/qt6/qtbase/src/corelib/global/qlogging.cpp:901
#11 0x00007f5aef2c65e1 in qt_assert (assertion=assertion@entry=0x7f5aef7ca170 "checkIndex(index, CheckIndexOption::IndexIsValid)", file=file@entry=0x7f5aef7caa58 "/home/nico/workspace/qt6/qtbase/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp", line=line@entry=189) at /home/nico/workspace/qt6/qtbase/src/corelib/global/qassert.cpp:117
#12 0x00007f5aef3312b8 in QConcatenateTablesProxyModel::data (this=0x1460a9f0, index=..., role=258) at /home/nico/workspace/qt6/qtbase/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp:189
#13 0x00007f5aef73bad9 in QSortFilterProxyModel::data (this=this@entry=0x14774ef0, index=..., role=258) at /home/nico/workspace/qt6/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:2228
#14 0x0000000000637b67 in MessageFilterModel::data (this=this@entry=0x14774ef0, index=..., role=role@entry=258) at /home/nico/kde/src/neochat/src/timeline/models/messagefiltermodel.cpp:115
#15 0x0000000000633fd2 in MediaMessageFilterModel::data (this=0x147761d0, index=..., role=258) at /home/nico/kde/src/neochat/src/timeline/models/mediamessagefiltermodel.cpp:73
#16 0x00007f5aef6deaa0 in QAbstractItemModel::qt_static_metacall (_o=_o@entry=0x147761d0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=38, _a=_a@entry=0x7fff1cdaec68) at /home/nico/workspace/qt6/qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:504
#17 0x00007f5aef6e8653 in QAbstractItemModel::qt_metacall (this=this@entry=0x147761d0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=38, _a=_a@entry=0x7fff1cdaec68) at /home/nico/workspace/qt6/qtbase/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:644
#18 0x00007f5aef722789 in QAbstractProxyModel::qt_metacall (this=this@entry=0x147761d0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=_a@entry=0x7fff1cdaec68) at /home/nico/workspace/qt6/qtbase/src/corelib/Core_autogen/include/moc_qabstractproxymodel.cpp:202
#19 0x00007f5aef7503f9 in QSortFilterProxyModel::qt_metacall (this=0x147761d0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff1cdaec68) at /home/nico/workspace/qt6/qtbase/src/corelib/Core_autogen/include/moc_qsortfilterproxymodel.cpp:264
#20 0x00007f5af228d68d in QQmlObjectOrGadget::metacall (this=<optimized out>, type=<optimized out>, index=<optimized out>, argv=<optimized out>) at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:14


Reported using DrKonqi
Comment 1 Nicolas Fella 2025-12-08 21:51:30 UTC
Created attachment 187443 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Bug Janitor Service 2025-12-08 21:52:00 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/neochat/-/merge_requests/2538
Comment 3 Nicolas Fella 2025-12-11 17:10:01 UTC
Git commit e5b2fb731698f401366879e6a3de72206ee65cac by Nicolas Fella.
Committed on 11/12/2025 at 17:01.
Pushed by nicolasfella into branch 'master'.

Guard against currentIndex being -1 in NeochatMaximizeComponent

Sometimes the ListView's currentIndex is -1, which results in us
querying data() for an invalid index, causing an assert in Qt model
code

M  +36   -4    src/app/qml/NeochatMaximizeComponent.qml

https://invent.kde.org/network/neochat/-/commit/e5b2fb731698f401366879e6a3de72206ee65cac