Bug 483090 - Crash on startup: RoomListPage.qml:143: TypeError: Cannot read property 'id' of undefined
Summary: Crash on startup: RoomListPage.qml:143: TypeError: Cannot read property 'id' ...
Status: RESOLVED FIXED
Alias: None
Product: NeoChat
Classification: Applications
Component: General (show other bugs)
Version: git master
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords: qt6
: 482857 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-03-10 10:01 UTC by Jure Repinc
Modified: 2024-03-11 18:19 UTC (History)
2 users (show)

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


Attachments
Full crash backtrace (61.12 KB, text/plain)
2024-03-10 10:01 UTC, Jure Repinc
Details
Blank spaces in list of rooms (249.20 KB, image/png)
2024-03-11 18:19 UTC, Jure Repinc
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jure Repinc 2024-03-10 10:01:14 UTC
Created attachment 166855 [details]
Full crash backtrace

I have just started and logged into my Matrix account and then when rooms and all should start loading it crashed. When I relaunch it and select the existing account it also just crashes when it should display rooms.

STEPS TO REPRODUCE
1. Login with existing account (I have it on matrix.org)
2. proceed to loading rooms and all

OBSERVED RESULT
NeoChat crashes and this is shown in the konsole:
[22::56:48.611] unknown: State cache incomplete, discarding
[22::56:48.616] unknown: qrc:/qt/qml/org/kde/neochat/qml/main.qml:266:9: QML RoomListPage: Created graphical object was not placed in the graphics scene.
[New Thread 0x7fff92a006c0 (LWP 26437)]
[22::57:5.485] unknown: QSortFilterProxyModel: inconsistent changes reported by source model
[22::57:5.488] unknown: QSortFilterProxyModel: inconsistent changes reported by source model
[22::57:5.498] unknown: qrc:/qt/qml/org/kde/neochat/qml/RoomListPage.qml:143: TypeError: Cannot read property 'id' of undefined

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20240303
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Kernel Version: 6.7.7-1-default (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 7600 6-Core Processor
Memory: 31.1 GiB of RAM
Graphics Processor: AMD Radeon RX 480 Graphics

ADDITIONAL INFORMATION
This is the backtrace I got manually by running it via GDB:
Thread 1 "neochat" received signal SIGSEGV, Segmentation fault.
[…]
Thread 1 (Thread 0x7ffff2097b00 (LWP 26262) "neochat"):
#0  RoomTreeModel::data(QModelIndex const&, int) const (this=<optimized out>, index=<optimized out>, role=17) at /usr/src/debug/neochat-24.04.70git.20240304T180525~e029aaa/src/models/roomtreemodel.cpp:259
#1  0x00007ffff4f8ea39 in QSortFilterProxyModel::data(QModelIndex const&, int) const (this=this@entry=0x5555565d7060, index=..., role=role@entry=17) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/itemmodels/qsortfilterproxymodel.cpp:2211
#2  0x00007ffff52993ab in QQmlTreeModelToTableModel::data(QModelIndex const&, int) const (this=<optimized out>, index=<optimized out>, role=17) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmltreemodeltotablemodel.cpp:154
#3  0x00007ffff52bc138 in QModelIndex::data(int) const (arole=<optimized out>, this=<optimized out>) at /usr/include/qt6/QtCore/qabstractitemmodel.h:493
#4  VDMAbstractItemModelDataType::value(QQmlAdaptorModel const&, int, QString const&) const (this=0x5555564e8e10, model=<optimized out>, index=<optimized out>, role=...) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmldmabstractitemmodeldata_p.h:249
#5  0x00007ffff52b8768 in QQmlAdaptorModel::value(int, QString const&) const (role=..., index=<optimized out>, this=0x5555570d2980) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmladaptormodel_p.h:110
#6  QQmlAbstractDelegateComponent::value(QQmlAdaptorModel*, int, int, QString const&) const (this=<optimized out>, adaptorModel=0x5555570d2980, row=<optimized out>, column=<optimized out>, role=...) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmlabstractdelegatecomponent.cpp:22
--Type <RET> for more, q to quit, c to continue without paging--
#7  0x00007fffcc07c585 in QQmlDelegateChooser::delegate(QQmlAdaptorModel*, int, int) const () at /lib64/libQt6LabsQmlModels.so.6
#8  0x00007ffff5294d8e in QQmlTableInstanceModel::resolveDelegate(int) (index=1460480384, this=0x0) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmltableinstancemodel.cpp:81
#9  QQmlTableInstanceModel::resolveDelegate(int) (this=this@entry=0x5555570d2970, index=index@entry=1) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmltableinstancemodel.cpp:73
#10 0x00007ffff5295033 in QQmlTableInstanceModel::resolveModelItem(int) (this=this@entry=0x5555570d2970, index=1) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmltableinstancemodel.cpp:97
#11 0x00007ffff52953bf in QQmlTableInstanceModel::object(int, QQmlIncubator::IncubationMode) (this=0x5555570d2970, index=<optimized out>, incubationMode=QQmlIncubator::AsynchronousIfNested) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/qmlmodels/qqmltableinstancemodel.cpp:127
#12 0x00007ffff788f8e4 in QQuickTableViewPrivate::createFxTableItem(QPoint const&, QQmlIncubator::IncubationMode) (this=this@entry=0x555556fd8100, cell=..., incubationMode=QQmlIncubator::AsynchronousIfNested) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:2564
#13 0x00007ffff788fad8 in QQuickTableViewPrivate::loadFxTableItem(QPoint const&, QQmlIncubator::IncubationMode) (this=this@entry=0x555556fd8100, cell=..., incubationMode=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:2622
#14 0x00007ffff788fc4e in QQuickTableViewPrivate::processLoadRequest() (this=this@entry=0x555556fd8100) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview_p_p.h:178
#15 0x00007ffff7890165 in QQuickTableViewPrivate::loadEdge(Qt::Edge, QQmlIncubator::IncubationMode) (this=this@entry=0x555556fd8100, edge=<optimized out>, incubationMode=incubationMode@entry=QQmlIncubator::AsynchronousIfNested) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:3805
#16 0x00007ffff78903d6 in QQuickTableViewPrivate::loadAndUnloadVisibleEdges(QQmlIncubator::IncubationMode) (incubationMode=<optimized out>, this=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:3845
#17 QQuickTableViewPrivate::loadAndUnloadVisibleEdges(QQmlIncubator::IncubationMode) (this=this@entry=0x555556fd8100, incubationMode=incubationMode@entry=QQmlIncubator::AsynchronousIfNested) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:3808
#18 0x00007ffff7890712 in QQuickTableViewPrivate::loadInitialTable() (this=this@entry=0x555556fd8100) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:3651
#19 0x00007ffff7891230 in QQuickTableViewPrivate::processRebuildTable() (this=this@entry=0x555556fd8100) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:3348
#20 0x00007ffff7891888 in QQuickTableViewPrivate::updateTable() (this=this@entry=0x555556fd8100) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:3986
#21 0x00007ffff7891908 in QQuickTableViewPrivate::updateTableRecursive() (this=0x555556fd8100) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquicktableview.cpp:3935
#22 0x00007ffff76ab466 in QQuickWindowPrivate::polishItems() (this=0x55555604a660) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquickwindow.cpp:346
#23 0x00007ffff783aee5 in QSGThreadedRenderLoop::polishAndSync(QSGThreadedRenderLoop::Window*, bool) (this=0x5555562be2b0, w=0x5555566457a0, inExpose=false) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1588
#24 0x00007ffff76ad3cf in QQuickWindow::event(QEvent*) (this=<optimized out>, event=<optimized out>) at /usr/src/debug/qtdeclarative-everywhere-src-6.6.2/src/quick/items/qquickwindow.cpp:1544
#25 0x00007ffff5fc1aae in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5555562be510, e=0x7fffffffcf90) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:3296
#26 0x00007ffff4d87498 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5555562be510, event=0x7fffffffcf90) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1121
#27 0x00007ffff4d874d9 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1539
#28 0x00007ffff5621998 in QPlatformWindow::deliverUpdateRequest() (this=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/gui/kernel/qplatformwindow.cpp:783
#29 0x00007ffff4dca8ee in QObject::event(QEvent*) (this=0x55555682b390, e=0x55555be74f90) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:1437
#30 0x00007ffff5fc1aae in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55555682b390, e=0x55555be74f90) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:3296
#31 0x00007ffff4d87498 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55555682b390, event=0x55555be74f90) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1121
#32 0x00007ffff4d874d9 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1539
#33 0x00007ffff4d877f7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x555555c1e6b0) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1901
--Type <RET> for more, q to quit, c to continue without paging--
#34 0x00007ffff4fa6783 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x555555da2a60) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:243
#35 0x00007ffff4713f30 in g_main_dispatch (context=0x7fffec000ef0) at ../glib/gmain.c:3476
#36 g_main_context_dispatch_unlocked (context=context@entry=0x7fffec000ef0) at ../glib/gmain.c:4284
#37 0x00007ffff4715b58 in g_main_context_iterate_unlocked (context=context@entry=0x7fffec000ef0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#38 0x00007ffff471620c in g_main_context_iteration (context=0x7fffec000ef0, may_block=1) at ../glib/gmain.c:4414
#39 0x00007ffff4fa330c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555555d00400, flags=...) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#40 0x00007ffff4d91cbb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffffffd3b0, flags=...) at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/global/qflags.h:34
#41 0x00007ffff4d8b8e6 in QCoreApplication::exec() () at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/corelib/global/qflags.h:74
#42 0x00007ffff55e31bc in QGuiApplication::exec() () at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/gui/kernel/qguiapplication.cpp:1925
#43 0x00007ffff5fbeee5 in QApplication::exec() () at /usr/src/debug/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:2574
#44 0x00005555555d0640 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/neochat-24.04.70git.20240304T180525~e029aaa/src/main.cpp:272

Full backtrace attached
Comment 1 Jure Repinc 2024-03-10 10:11:10 UTC
Fixing the version to git, the actuall commit this is from is e029aaad
Comment 2 Tobias Fella 2024-03-10 10:13:00 UTC
*** Bug 482857 has been marked as a duplicate of this bug. ***
Comment 3 Tobias Fella 2024-03-11 10:38:25 UTC
Fixed in 7d26f3351ff03e742212eebb5eaf266a9a3a3bfc
Comment 4 Jure Repinc 2024-03-11 18:17:01 UTC
Can confirm the crash is gone. Thanks. NeoChat now starts up fine and I can see rooms and all. Although I do get some strange blank spaces in the rooms list in the panel on the left. Not sure if it is related with this bug or something else to report separately. I'll upload a screenshot of the problem.
Comment 5 Jure Repinc 2024-03-11 18:19:15 UTC
Created attachment 166975 [details]
Blank spaces in list of rooms