Bug 480504 - NeoChat frequently freezes until killed somewhere in Harfbuzz code while scrolling in the message view
Summary: NeoChat frequently freezes until killed somewhere in Harfbuzz code while scro...
Status: RESOLVED FIXED
Alias: None
Product: NeoChat
Classification: Applications
Component: General (other bugs)
Version First Reported In: git master
Platform: Other Linux
: NOR major
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords: qt6, regression
Depends on:
Blocks:
 
Reported: 2024-01-29 19:49 UTC by Nate Graham
Modified: 2024-02-01 16:21 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
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-01-29 19:49:49 UTC
Everything from git master with Plasma 6 Wayland on top of Fedora 39.

This has happened three times today: when I scroll in the message view, the app will simply freeze forever until force-quit.

Here's the backtrace gathered using `gdb attach $(pidof neochat):


#0  0x00007f5f64f034a8 in _hb_glyph_info_set_unicode_props (info=0x7871f10, buffer=0x6d89600)
    at /usr/src/debug/harfbuzz-8.2.1-2.fc39.x86_64/src/hb-ot-layout.hh:206
#1  0x00007f5f64f0a55a in hb_set_unicode_props (buffer=<optimized out>)
    at /usr/src/debug/harfbuzz-8.2.1-2.fc39.x86_64/src/hb-ot-shape.cc:477
#2  hb_ot_shape_internal (c=0x7ffcb0753a90)
    at /usr/src/debug/harfbuzz-8.2.1-2.fc39.x86_64/src/hb-ot-shape.cc:1194
#3  0x00007f5f64f13933 in _hb_ot_shape
    (num_features=1, features=0x7ffcb0753d98, buffer=0x6d89600, font=0x2d8af60, shape_plan=0x2da6f80)
    at /usr/src/debug/harfbuzz-8.2.1-2.fc39.x86_64/src/hb-ot-shape.cc:1230
#4  _hb_shape_plan_execute_internal
    (num_features=1, features=0x7ffcb0753d98, buffer=0x6d89600, font=0x2d8af60, shape_plan=0x2da6f80)
    at /usr/src/debug/harfbuzz-8.2.1-2.fc39.x86_64/src/hb-shaper-list.hh:47
#5  hb_shape_plan_execute
    (shape_plan=shape_plan@entry=0x2da6f80, font=font@entry=0x2d8af60, buffer=buffer@entry=0x6d89600, features=features@entry=0x7ffcb0753d98, num_features=num_features@entry=1)
    at /usr/src/debug/harfbuzz-8.2.1-2.fc39.x86_64/src/hb-shape-plan.cc:452
#6  0x00007f5f64f1760c in hb_shape_full
    (font=0x2d8af60, buffer=0x6d89600, features=0x7ffcb0753d98, num_features=1, shaper_list=<optimized out>) at /usr/src/debug/harfbuzz-8.2.1-2.fc39.x86_64/src/hb-shape.cc:148
#7  0x00007f5f68f222af in QTextEngine::shapeTextWithHarfbuzzNG
    (this=this@entry=0x6f5c640, si=..., string=string@entry=0x710a100, itemLength=itemLength@entry=36, fontEngine=fontEngine@entry=0x2aab290, itemBoundaries=..., kerningEnabled=true, hasLetterSpacing=false, fontFeatures=...)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextengine.cpp:1689
#8  0x00007f5f68f23dd4 in QTextEngine::shapeText (this=<optimized out>, item=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextengine.cpp:1488
#9  0x00007f5f68f25db8 in QTextEngine::shape (this=<optimized out>, item=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextengine.cpp:1874
#10 0x00007f5f68f55b17 in QTextLine::layout_helper
    (this=0x7ffcb07542e0, maxGlyphs=maxGlyphs@entry=2147483647)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextlayout.cpp:1880
#11 0x00007f5f68f56c9a in QTextLine::setLineWidth (this=<optimized out>, width=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextlayout.cpp:1629
#12 0x00007f5f68f097d5 in QTextDocumentLayoutPrivate::layoutBlock
    (this=this@entry=0x9e38720, bl=..., blockPosition=blockPosition@entry=0, blockFormat=..., layoutStruct=layoutStruct@entry=0x7ffcb07545f0, layoutFrom=layoutFrom@entry=0, layoutTo=2147483647, previousBlockFormat=0x0)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/redhat-linux-build/include/QtGui/6.6.0/QtGui/private/../../../../../../src/gui/painting/qfixed_p.h:28
#13 0x00007f5f68f115ea in QTextDocumentLayoutPrivate::layoutFlow
    (this=this@entry=0x9e38720, it=..., layoutStruct=layoutStruct@entry=0x7ffcb07545f0, layoutFrom=layoutFrom@entry=0, layoutTo=layoutTo@entry=2147483647, width=..., width@entry=...)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextdocumentlayout.cpp:3279
#14 0x00007f5f68f0fa11 in QTextDocumentLayoutPrivate::layoutFrame
    (this=this@entry=0x9e38720, f=f@entry=0x79c5d10, layoutFrom=layoutFrom@entry=0, layoutTo=layoutTo@entry=2147483647, frameWidth=..., frameWidth@entry=..., frameHeight=..., parentY=...)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/redhat-linux-build/include/QtGui/6.6.0/QtGui/private/../../../../../../src/gui/painting/qfixed_p.h:31
#15 0x00007f5f68f100f2 in QTextDocumentLayoutPrivate::layoutFrame
    (this=this@entry=0x9e38720, f=f@entry=0x79c5d10, layoutFrom=layoutFrom@entry=0, layoutTo=layoutTo@entry=2147483647, parentY=..., parentY@entry=...)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextdocumentlayout.cpp:2910
#16 0x00007f5f68f1583b in QTextDocumentLayout::doLayout
    (this=0x6d4af20, from=0, oldLength=oldLength@entry=0, length=2147483647)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/redhat-linux-build/include/QtGui/6.6.0/QtGui/private/../../../../../../src/gui/painting/qfixed_p.h:31
#17 0x00007f5f68f172aa in QTextDocumentLayoutPrivate::ensureLayoutedByPosition
    (position=<optimized out>, this=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextdocumentlayout.cpp:477
#18 QTextDocumentLayoutPrivate::ensureLayoutedByPosition (position=1000, this=0x9e38720)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextdocumentlayout.cpp:3987
#19 QTextDocumentLayoutPrivate::layoutStep (this=0x9e38720)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextdocumentlayout.cpp:4001
#20 QTextDocumentLayout::documentChanged
    (this=0x6d4af20, from=<optimized out>, oldLength=0, length=37)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextdocumentlayout.cpp:3789
#21 0x00007f5f68ed3bc4 in QTextDocument::setTextWidth (this=<optimized out>, width=width@entry=141)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/text/qtextdocument.cpp:716
#22 0x00007f5f6b6ad3b1 in QQuickTextEdit::updateSize (this=this@entry=0x7372ff0)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquicktextedit.cpp:2707
#23 0x00007f5f6b6b0d44 in QQuickTextEdit::geometryChange
    (this=0x7372ff0, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquicktextedit.cpp:1495
#24 0x00007f5f6b630e9a in QQuickItem::setSize (this=0x7372ff0, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:7564
#25 0x00007f5f45904d4a in QQuickGridLayoutItem::setGeometry (this=0x6093d10, rect=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquickgridlayoutengine_p.h:85
#26 0x00007f5f68f7a36c in QGridLayoutEngine::setGeometries
    (this=this@entry=0x2b74368, contentsGeometry=..., styleInfo=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/util/qgridlayoutengine.cpp:1052
#27 0x00007f5f45901d00 in QQuickGridLayoutBase::rearrange (this=0x2d7a3e0, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquicklinearlayout.cpp:479
#28 0x00007f5f458fe8b9 in QQuickLayout::geometryChange
    (oldGeometry=..., newGeometry=..., this=0x2d7a3e0)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquicklayout.cpp:932
#29 QQuickLayout::geometryChange (this=0x2d7a3e0, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquicklayout.cpp:924
#30 0x00007f5f6b630e9a in QQuickItem::setSize (this=0x2d7a3e0, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:7564
#31 0x00007f5f6b5f8e92 in QQuickAnchorsPrivate::setItemSize (v=..., this=0x70d6c90)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickanchors.cpp:391
#32 QQuickAnchorsPrivate::fillChanged (this=0x70d6c90)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickanchors.cpp:167
#33 0x00007f5f6b638d76 in operator() (listener=..., __closure=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:3824
#34 QQuickItemPrivate::notifyChangeListeners<QQuickItem::geometryChange(const QRectF&, const QRectF&)::<lambda(const QQuickItemPrivate::ChangeListener&)> >
    (function=<optimized out>, changeTypes=..., this=0x6e38220)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/redhat-linux-build/include/QtQuick/6.6.0/QtQuick/private/../../../../../../src/quick/items/qquickitem_p.h:357
#35 QQuickItem::geometryChange (this=0x65c09e0, newGeometry=<optimized out>, oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:3822
#36 0x00007f5f6b630e9a in QQuickItem::setSize (this=0x65c09e0, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:7564
#37 0x00007f5f45904d4a in QQuickGridLayoutItem::setGeometry (this=0x8b2dcf0, rect=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquickgridlayoutengine_p.h:85
#38 0x00007f5f68f7a36c in QGridLayoutEngine::setGeometries
    (this=this@entry=0x74a2e78, contentsGeometry=..., styleInfo=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/util/qgridlayoutengine.cpp:1052
#39 0x00007f5f45901d00 in QQuickGridLayoutBase::rearrange (this=0x2b2bfe0, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquicklinearlayout.cpp:479
#40 0x00007f5f458fe8b9 in QQuickLayout::geometryChange
    (oldGeometry=..., newGeometry=..., this=0x2b2bfe0)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquicklayout.cpp:932
#41 QQuickLayout::geometryChange (this=0x2b2bfe0, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquicklayout.cpp:924
#42 0x00007f5f6b630e9a in QQuickItem::setSize (this=this@entry=0x2b2bfe0, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:7564
#43 0x00007f5f65913aa5 in QQuickControlPrivate::resizeContent (this=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicktemplates/qquickcontrol.cpp:383
#44 0x00007f5f65917e39 in QQuickControl::geometryChange
    (this=0x75359e0, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicktemplates/qquickcontrol.cpp:2119
#45 0x00007f5f6b62f258 in QQuickItem::setImplicitWidth (this=0x75359e0, w=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:7327
#46 0x00007f5f6af13243 in QQmlPropertyData::writeProperty
    (this=<optimized out>, target=<optimized out>, value=<optimized out>, flags=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/redhat-linux-build/include/QtQml/6.6.0/QtQml/private/../../../../../../src/qml/qml/qqmlpropertydata_p.h:298
#47 0x00007f5f6af119d5 in GenericBinding<6>::write
    (this=0x9fc32c0, result=0x7ffcb0755530, type=..., isUndefined=<optimized out>, flags=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/qml/qml/qqmlbinding.cpp:210
#48 0x00007f5f6af0db22 in QQmlBinding::doUpdate
    (this=0x9fc32c0, watcher=..., flags=..., scope=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/qml/qml/qqmlbinding.cpp:690
#49 0x00007f5f6af0f968 in QQmlBinding::update (this=0x9fc32c0, flags=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/qml/qml/qqmlbinding.cpp:164
#50 0x00007f5f6afc72fc in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/qml/qml/qqmlnotifier.cpp:70
#51 0x00007f5f68401c80 in doActivate<false> (sender=0x75359e0, signal_index=54, argv=0x0)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobject.cpp:3913
#52 0x00007f5f6b63072a in QQuickItemPrivate::notifyChangeListeners<void (QQuickItemChangeListener::*)(QQuickItem*), QQuickItem* const&> (function=<optimized out>, changeTypes=..., this=0x74a2cf0)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/redhat-linux-build/include/QtQuick/6.6.0/QtQuick/private/../../../../../../src/quick/items/qquickitem_p.h:355
#53 QQuickItemPrivate::implicitWidthChanged (this=0x74a2cf0)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:7198
#54 QQuickItem::setImplicitSize (this=0x2b2bfe0, w=141, h=36)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickitem.cpp:7476
#55 0x00007f5f458fcc1a in QQuickLayoutPrivate::applySizeHints (this=this@entry=0x74a2cf0)
    at /usr/include/qt6/QtCore/qsize.h:322
#56 0x00007f5f458fcdf8 in QQuickLayout::ensureLayoutItemsUpdated
    (this=this@entry=0x2b2bfe0, options=..., options@entry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquicklayout.cpp:897
#57 0x00007f5f458fcfb7 in QQuickLayout::updatePolish (this=0x2b2bfe0)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quicklayouts/qquicklayout.cpp:798
#58 0x00007f5f6b6e75fd in QQuickWindowPrivate::polishItems (this=0x2a64140)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickwindow.cpp:346
#59 0x00007f5f6b8c51b3 in QSGThreadedRenderLoop::polishAndSync
    (this=0x2a51ca0, w=0x3047370, inExpose=false)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1588
#60 0x00007f5f6b6e9db4 in QQuickWindow::event (this=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.6.0-1.fc39.x86_64/src/quick/items/qquickwindow.cpp:1541
#61 0x00007f5f695c2b38 in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x2a64040, e=0x7ffcb0757840)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/widgets/kernel/qapplication.cpp:3290
#62 0x00007f5f683a0ba8 in QCoreApplication::notifyInternal2
    (receiver=0x2a64040, event=0x7ffcb0757840)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1118
#63 0x00007f5f683a0dad in QCoreApplication::sendEvent
    (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1536
#64 0x00007f5f68c48bc1 in QPlatformWindow::deliverUpdateRequest (this=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/kernel/qplatformwindow.cpp:783
#65 0x00007f5f683f3617 in QObject::event (this=0x2f58cc0, e=0x7f5f4c0062f0)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qobject.cpp:1437
#66 0x00007f5f695c2b38 in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x2f58cc0, e=0x7f5f4c0062f0)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/widgets/kernel/qapplication.cpp:3290
#67 0x00007f5f683a0ba8 in QCoreApplication::notifyInternal2
    (receiver=0x2f58cc0, event=0x7f5f4c0062f0)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1118
#68 0x00007f5f683a0dad in QCoreApplication::sendEvent
    (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1536
#69 0x00007f5f683a4aa5 in QCoreApplicationPrivate::sendPostedEvents
    (receiver=0x0, event_type=0, data=0x2720260)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1898
#70 0x00007f5f683a4e1d in QCoreApplication::sendPostedEvents
    (receiver=<optimized out>, event_type=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qcoreapplication.cpp:1757
#71 0x00007f5f686410bf in postEventSourceDispatch (s=0x285a6a0)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:243
#72 0x00007f5f67b2fe5c in g_main_dispatch (context=0x7f5f50000ef0) at ../glib/gmain.c:3476
#73 g_main_context_dispatch_unlocked (context=0x7f5f50000ef0) at ../glib/gmain.c:4284
#74 0x00007f5f67b8af18 in g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7f5f50000ef0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#75 0x00007f5f67b2dad3 in g_main_context_iteration (context=0x7f5f50000ef0, may_block=1)
    at ../glib/gmain.c:4414
#76 0x00007f5f6864096f in QEventDispatcherGlib::processEvents (this=0x27ef620, flags=...)
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#77 0x00007f5f683ad9bb in QEventLoop::exec (this=this@entry=0x7ffcb0757cf0, flags=..., 
    flags@entry=...) at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qflags.h:34
#78 0x00007f5f683a97bd in QCoreApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/corelib/global/qflags.h:74
#79 0x00007f5f68bf8b4d in QGuiApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/gui/kernel/qguiapplication.cpp:1921
#80 0x00007f5f695c2aa9 in QApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.6.0-6.fc39.x86_64/src/widgets/kernel/qapplication.cpp:2569
#81 0x0000000000435d09 in main (argc=<optimized out>, argv=<optimized out>)
    at /home/nate/kde/src/neochat/src/main.cpp:272
Comment 1 Nate Graham 2024-01-30 20:38:15 UTC
So far no more freezes for me since rolling back to f185b1773cc055b2825651525551593bb86853e7.
Comment 2 Nate Graham 2024-01-30 21:08:57 UTC
I was able to reproduce this fairly reliably by scrolling up a ton to view a chat's backlog, and then scrolling down. Doing that, I was able to git bisect and find the culprit:


fb3b1490a9803392f7ba1318b89ea33ff73e5d61 is the first bad commit
commit fb3b1490a9803392f7ba1318b89ea33ff73e5d61
Author: James Graham <james.h.graham@protonmail.com>
Date:   Sun Jan 28 17:13:23 2024 +0000

    Compact Mode Improvements
    
    Get rid of the anchors and move to layouts for th bubble and avatars.
    
    This allows the timestamp to be fixed in compact mode so it always sits on the far right. It's also just now more compact than before.
    
    ![image](/uploads/7747a9b3f2f4cfb56a8d9b0f943a127f/image.png)

 src/qml/Bubble.qml           |   1 +
 src/qml/MessageDelegate.qml  | 130 ++++++++++++++++++-------------------------
 src/qml/TimelineDelegate.qml |   2 +-
 3 files changed, 57 insertions(+), 76 deletions(-)


Indeed, reverting that commit locally has fixed the issue for me.
Comment 3 Bug Janitor Service 2024-02-01 15:52:04 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/neochat/-/merge_requests/1550
Comment 4 Nate Graham 2024-02-01 16:21:48 UTC
Git commit b7d6208869a79c523f8adfac70c8d4257063d870 by Nate Graham.
Committed on 01/02/2024 at 15:45.
Pushed by ngraham into branch 'master'.

Revert "Compact Mode Improvements"

This reverts commit fb3b1490a9803392f7ba1318b89ea33ff73e5d61.

M  +0    -1    src/qml/Bubble.qml
M  +75   -55   src/qml/MessageDelegate.qml
M  +1    -1    src/qml/TimelineDelegate.qml

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