https://bugs.kde.org/show_bug.cgi?id=480504
Bug ID: 480504 Summary: NeoChat frequently freezes until killed somewhere in Harfbuzz code while scrolling in the message view Classification: Applications Product: NeoChat Version: git master Platform: Other OS: Linux Status: REPORTED Keywords: qt6, regression Severity: major Priority: NOR Component: General Assignee: fe...@posteo.de Reporter: n...@kde.org CC: c...@carlschwan.eu Target Milestone: --- 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 -- You are receiving this mail because: You are watching all bug changes.