Bug 503846 - Trying to edit message using context menu item freezes app in QQuickTextArea::geometryChange() as of f6c12dc27a119cf7efea2b6aa12b5fd66e6817a6
Summary: Trying to edit message using context menu item freezes app in QQuickTextArea:...
Status: RESOLVED FIXED
Alias: None
Product: NeoChat
Classification: Applications
Component: General (other bugs)
Version First Reported In: git master
Platform: Compiled Sources Linux
: NOR major
Target Milestone: ---
Assignee: Tobias Fella
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2025-05-06 14:17 UTC by Nate Graham
Modified: 2025-05-15 17:56 UTC (History)
3 users (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 2025-05-06 14:17:43 UTC
Right-click on message > edit > total freeze

Backtrace:

#0  0x00007f180b576de4 in (anonymous namespace)::customClear (d=0x7ffeb28563d0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qvariant.cpp:292
#1  QVariant::~QVariant (this=0x7ffeb28563d0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qvariant.cpp:539
#2  0x00007f180e72a1ae in QQuickTextEdit::inputMethodQuery
    (this=<optimized out>, property=Qt::ImSurroundingText, argument=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquicktextedit.cpp:2284
#3  0x00007f180e72a470 in QQuickTextEdit::inputMethodQuery
    (this=<optimized out>, property=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquicktextedit.cpp:2298
#4  0x00007f180e6b44d7 in QQuickItem::event (this=0x41138bb0, ev=0x7ffeb2856640)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:9126
#5  0x00007f180c63d7af in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x41138bb0, e=0x7ffeb2856640)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301
#6  0x00007f180b4f5fa8 in QCoreApplication::notifyInternal2
    (receiver=0x41138bb0, event=0x7ffeb2856640)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#7  0x00007f180b4f620d in QCoreApplication::sendEvent
    (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546
#8  0x00007f18068c824b in QtWaylandClient::QWaylandTextInputv2::updateState
    (this=0x3a5d5f40, queries=..., flags=0)
    at /usr/src/debug/qt6-qtwayland-6.9.0-3.fc42.x86_64/src/client/qwaylandtextinputv2.cpp:109
#9  0x00007f180bd03c46 in QInputMethod::update (this=0x3af9cc60, queries=...)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/kernel/qinputmethod.cpp:290
#10 0x00007f180e69ec64 in QQuickItem::updateInputMethod (this=this@entry=0x41138bb0, queries=..., 
    queries@entry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:5860
#11 0x00007f180e72a91d in QQuickTextEdit::moveCursorDelegate (this=this@entry=0x41138bb0)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquicktextedit.cpp:2971
#12 0x00007f180e73119c in QQuickTextEdit::geometryChange
    (this=0x41138bb0, newGeometry=<optimized out>, oldGeometry=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquicktextedit.cpp:1714
#13 0x00007f18082c2186 in QQuickTextArea::geometryChange
    (this=<optimized out>, newGeometry=<optimized out>, oldGeometry=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicktemplates/qquicktextarea.cpp:957
#14 0x00007f180e69ebed in QQuickItem::setSize (this=this@entry=0x41138bb0, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:7781
#15 0x00007f18082bdafa in QQuickTextAreaPrivate::resizeFlickableControl (this=0x40f3d790)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicktemplates/qquicktextarea.cpp:359
#16 0x00007f180e6a77da in operator() (listener=..., __closure=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:3902
#17 QQuickItemPrivate::notifyChangeListeners<QQuickItem::geometryChange(const QRectF&, const QRectF--Type <RET> for more, q to quit, c to continue without paging--c
&)::<lambda(const QQuickItemPrivate::ChangeListener&)> >
    (this=0x40d933f0, changeTypes=..., function=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem_p.h:414
#18 QQuickItem::geometryChange (this=this@entry=0x40d69270, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:3900
#19 0x00007f180e67acc7 in QQuickFlickable::geometryChange
    (this=0x40d69270, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickflickable.cpp:2143
#20 0x00007f180e69ebed in QQuickItem::setSize (this=this@entry=0x40d69270, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:7781
#21 0x00007f180823ff86 in QQuickControlPrivate::resizeContent (this=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicktemplates/qquickcontrol.cpp:375
#22 0x00007f1808243afb in QQuickControl::geometryChange
    (this=0x3f375c00, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicktemplates/qquickcontrol.cpp:2122
#23 0x00007f180e69ebed in QQuickItem::setSize (this=0x3f375c00, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:7781
#24 0x00007f178e20e894 in QQuickGridLayoutItem::setGeometry (this=0x40d3a4c0, rect=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquickgridlayoutengine_p.h:85
#25 0x00007f180c0cdf01 in QGridLayoutEngine::setGeometries
    (this=this@entry=0x3f3758b8, contentsGeometry=..., styleInfo=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/util/qgridlayoutengine.cpp:1059
#26 0x00007f178e20c625 in QQuickGridLayoutBase::rearrange (this=0x421d8d20, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquicklinearlayout.cpp:477
#27 0x00007f178e208d51 in QQuickLayout::geometryChange
    (this=0x421d8d20, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquicklayout.cpp:957
#28 0x00007f180e69ebed in QQuickItem::setSize (this=0x421d8d20, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:7781
#29 0x00007f178e20e894 in QQuickGridLayoutItem::setGeometry (this=0x41509280, rect=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquickgridlayoutengine_p.h:85
#30 0x00007f180c0cdf01 in QGridLayoutEngine::setGeometries
    (this=this@entry=0x41210288, contentsGeometry=..., styleInfo=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/util/qgridlayoutengine.cpp:1059
#31 0x00007f178e20c625 in QQuickGridLayoutBase::rearrange (this=0x427e8050, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquicklinearlayout.cpp:477
#32 0x00007f178e208d51 in QQuickLayout::geometryChange
    (this=0x427e8050, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquicklayout.cpp:957
#33 0x00007f180e69ebed in QQuickItem::setSize (this=this@entry=0x427e8050, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:7781
#34 0x00007f180823ff86 in QQuickControlPrivate::resizeContent (this=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicktemplates/qquickcontrol.cpp:375
#35 0x00007f1808243afb in QQuickControl::geometryChange
    (this=0x427e7a80, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicktemplates/qquickcontrol.cpp:2122
#36 0x00007f180e69ebed in QQuickItem::setSize (this=0x427e7a80, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:7781
#37 0x00007f178e20e894 in QQuickGridLayoutItem::setGeometry (this=0x40cc2940, rect=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquickgridlayoutengine_p.h:85
#38 0x00007f180c0cdf01 in QGridLayoutEngine::setGeometries
    (this=this@entry=0x40649d68, contentsGeometry=..., styleInfo=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/util/qgridlayoutengine.cpp:1059
#39 0x00007f178e20c625 in QQuickGridLayoutBase::rearrange (this=0x411e6810, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquicklinearlayout.cpp:477
#40 0x00007f178e208d51 in QQuickLayout::geometryChange
    (this=0x411e6810, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquicklayout.cpp:957
#41 0x00007f180e69ebed in QQuickItem::setSize (this=0x411e6810, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickitem.cpp:7781
#42 0x00007f178e20e894 in QQuickGridLayoutItem::setGeometry (this=0x40939280, rect=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquickgridlayoutengine_p.h:85
#43 0x00007f180c0cdf01 in QGridLayoutEngine::setGeometries
    (this=this@entry=0x414c5698, contentsGeometry=..., styleInfo=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/util/qgridlayoutengine.cpp:1059
#44 0x00007f178e20c625 in QQuickGridLayoutBase::rearrange (this=0x414a2920, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquicklinearlayout.cpp:477
#45 0x00007f178e20545a in QQuickLayout::updatePolish (this=0x414a2920)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quicklayouts/qquicklayout.cpp:827
#46 0x00007f180e76d397 in QQuickWindowPrivate::polishItems (this=0x3ae39220)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickwindow.cpp:344
#47 0x00007f180e9ac72e in QSGThreadedRenderLoop::polishAndSync
    (this=0x3ae7dca0, w=0x3af7de40, inExpose=false)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1633
#48 0x00007f180e770012 in QQuickWindow::event (this=0x3ae42bf0, event=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/quick/items/qquickwindow.cpp:1590
#49 0x00007f180c63d7af in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x3ae42bf0, e=0x7ffeb2857ee0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301
#50 0x00007f180b4f5fa8 in QCoreApplication::notifyInternal2
    (receiver=0x3ae42bf0, event=0x7ffeb2857ee0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#51 0x00007f180b4f620d in QCoreApplication::sendEvent
    (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546
#52 0x00007f180bd33385 in QPlatformWindow::deliverUpdateRequest (this=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/kernel/qplatformwindow.cpp:825
#53 0x00007f180b550fec in QObject::event (this=<optimized out>, e=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:1431
#54 0x00007f180c63d7af in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x3b4b6750, e=0x7f17e8006d20)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301
#55 0x00007f180b4f5fa8 in QCoreApplication::notifyInternal2
    (receiver=0x3b4b6750, event=0x7f17e8006d20)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#56 0x00007f180b4f620d in QCoreApplication::sendEvent
    (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546
#57 0x00007f180b4f9cd6 in QCoreApplicationPrivate::sendPostedEvents
    (receiver=0x0, event_type=0, data=0x3a549980)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1879
#58 0x00007f180b7ffd2f in postEventSourceDispatch (s=0x3a5c41c0)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#59 0x00007f180acfa040 in g_main_dispatch (context=0x7f17f0000f00) at ../glib/gmain.c:3398
#60 g_main_context_dispatch_unlocked (context=0x7f17f0000f00) at ../glib/gmain.c:4249
#61 0x00007f180ad03128 in g_main_context_iterate_unlocked
    (context=context@entry=0x7f17f0000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4314
#62 0x00007f180ad032d3 in g_main_context_iteration (context=0x7f17f0000f00, may_block=1)
    at ../glib/gmain.c:4379
#63 0x00007f180b7ff56d in QEventDispatcherGlib::processEvents (this=0x3a52f690, flags=...)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#64 0x00007f180b503783 in QEventLoop::exec (this=this@entry=0x7ffeb2858390, flags=..., 
    flags@entry=...)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/global/qflags.h:77
#65 0x00007f180b4ff229 in QCoreApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449
#66 0x00007f180bcdac3d in QGuiApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1993
#67 0x00007f180c63d719 in QApplication::exec ()
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2568
#68 0x000000000040acdd in main (argc=<optimized out>, argv=<optimized out>)
    at /home/nate/kde/src/neochat/src/app/main.cpp:312
Comment 1 Nate Graham 2025-05-06 14:18:08 UTC
Looks like it's related to the text area sizing. I tried at various window sizes, but it happened 100% of the time.
Comment 2 Bug Janitor Service 2025-05-14 22:15:28 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/neochat/-/merge_requests/2269
Comment 3 Joshua Goins 2025-05-15 17:39:04 UTC
Git commit 906fb972593151223cf83b204283892510cc475e by Joshua Goins.
Committed on 15/05/2025 at 17:38.
Pushed by redstrate into branch 'master'.

Fix crash when trying to edit your message on a wide screen

This only seems to happen when the window is maximized, specifically
the height of the window. This seems to be a weird TextArea issue (or
something else in our TimelineView) but until that's found out, a
Qt.callLater will prevent this annoying crash.

M  +4    -1    src/timeline/ChatBarComponent.qml

https://invent.kde.org/network/neochat/-/commit/906fb972593151223cf83b204283892510cc475e
Comment 4 Nate Graham 2025-05-15 17:46:37 UTC
Hooray, fixed indeed!
Comment 5 Joshua Goins 2025-05-15 17:56:33 UTC
Git commit 457b4ee3bef597ebd5494238757f4c0ed2154146 by Joshua Goins.
Committed on 15/05/2025 at 17:42.
Pushed by redstrate into branch 'release/25.04'.

Fix crash when trying to edit your message on a wide screen

This only seems to happen when the window is maximized, specifically
the height of the window. This seems to be a weird TextArea issue (or
something else in our TimelineView) but until that's found out, a
Qt.callLater will prevent this annoying crash.

(cherry picked from commit 906fb972593151223cf83b204283892510cc475e)

M  +1    -1    src/timeline/ChatBarComponent.qml

https://invent.kde.org/network/neochat/-/commit/457b4ee3bef597ebd5494238757f4c0ed2154146