https://bugs.kde.org/show_bug.cgi?id=516108
Bug ID: 516108
Summary: Freezes in QChar::category /harfbuzz library when
loading chat history while a link preview is loading
and rich text bar is open
Classification: Applications
Product: NeoChat
Version First git master
Reported In:
Platform: Other
OS: Linux
Status: REPORTED
Keywords: regression
Severity: normal
Priority: NOR
Component: General
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected]
Target Milestone: ---
Created attachment 189668
--> https://bugs.kde.org/attachment.cgi?id=189668&action=edit
What it looks like the moment it freezes
Current git master via the KDE nightly Flatpak repo.
Ever since the rich text bar was merged, I've been encountering freezes when
there are two progress indicators on the screen at once: the intederminate bar
for loading message history as well as the indeterminate gear spinner for
loading messages or link previews.
STEPS TO REPRODUCE
1. Open the rich text bar
2. Wait for someone to paste a link or quote some text
3. While it's still loading (and showing the gear spinner) scroll up to load
previous messages. See attached screenshot for what this looks like.
OBSERVED RESULT
App freezes. Backtrace:
#0 0x00007f3f50ab205b in QChar::category(char32_t) ()
at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#1 0x00007f3f51efc15f in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#2 0x00007f3f4e81abfa in _hb_glyph_info_set_unicode_props(hb_glyph_info_t*,
hb_buffer_t*) [clone .lto_priv.1] [clone .lto_priv.0] () at
/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0
#3 0x00007f3f4e826c5e in hb_ot_shape_internal(hb_ot_shape_context_t*) [clone
.lto_priv.0] ()
at /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0
#4 0x00007f3f4e831423 in hb_shape_plan_execute () at
/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0
#5 0x00007f3f4e833ba8 in hb_shape_full () at
/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0
#6 0x00007f3f51db00da in QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem
const&, unsigned short const*, int, int, int, QFontEngine*, QSpan<unsigned int,
18446744073709551615ul>, bool, bool, QMap<QFont::Tag, unsigned int> const&)
const () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#7 0x00007f3f51db1659 in QTextEngine::shapeText(int) const ()
at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#8 0x00007f3f51ddb35f in QTextLine::layout_helper(int) ()
at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#9 0x00007f3f51d8931d in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#10 0x00007f3f51d919f9 in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#11 0x00007f3f51d8f8d8 in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#12 0x00007f3f51d9001d in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#13 0x00007f3f51d967ab in QTextDocumentLayout::doLayout(int, int, int) ()
at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#14 0x00007f3f51d98201 in QTextDocumentLayout::documentChanged(int, int, int)
()
at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#15 0x00007f3f51d4e113 in QTextDocument::setTextWidth(double) ()
at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#16 0x00007f3f540ba588 in QQuickTextEdit::updateSize() ()
at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
#17 0x00007f3f540bee60 in QQuickTextEdit::geometryChange(QRectF const&, QRectF
const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
#18 0x00007f3f4ffa6496 in QQuickTextArea::geometryChange(QRectF const&, QRectF
const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6QuickTemplates2.so.6
#19 0x00007f3f5402acad in QQuickItem::setSize(QSizeF const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
#20 0x00007f3f2d9748a2 in ??? () at
/usr/lib/x86_64-linux-gnu/libQt6QuickLayouts.so.6
#21 0x00007f3f51e06f91 in QGridLayoutEngine::setGeometries(QRectF const&,
QAbstractLayoutStyleInfo const*) () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#22 0x00007f3f2d972595 in QQuickGridLayoutBase::rearrange(QSizeF const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6QuickLayouts.so.6
#23 0x00007f3f2d96eb49 in QQuickLayout::geometryChange(QRectF const&, QRectF
const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6QuickLayouts.so.6
#24 0x00007f3f5402acad in QQuickItem::setSize(QSizeF const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
#25 0x00007f3f2d9748a2 in ??? () at
/usr/lib/x86_64-linux-gnu/libQt6QuickLayouts.so.6
#26 0x00007f3f51e06f91 in QGridLayoutEngine::setGeometries(QRectF const&,
QAbstractLayoutStyleInfo const*) () at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#27 0x00007f3f2d972595 in QQuickGridLayoutBase::rearrange(QSizeF const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6QuickLayouts.so.6
#28 0x00007f3f2d96eb49 in QQuickLayout::geometryChange(QRectF const&, QRectF
const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6QuickLayouts.so.6
#29 0x00007f3f5402acad in QQuickItem::setSize(QSizeF const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
#30 0x00007f3f4ff1db76 in QQuickControlPrivate::resizeContent() ()
at /usr/lib/x86_64-linux-gnu/libQt6QuickTemplates2.so.6
#31 0x00007f3f4ff2171b in QQuickControl::geometryChange(QRectF const&, QRectF
const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6QuickTemplates2.so.6
#32 0x00007f3f5402acad in QQuickItem::setSize(QSizeF const&) ()
at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
#33 0x000055b7c59b5bcf in ??? ()
#34 0x00007f3f540fcb17 in QQuickWindowPrivate::polishItems() ()
at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
#35 0x00007f3f5434ca86 in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
--Type <RET> for more, q to quit, c to continue without paging--c
#36 0x00007f3f540ff501 in QQuickWindow::event(QEvent*) ()
at /usr/lib/x86_64-linux-gnu/libQt6Quick.so.6
#37 0x00007f3f525a6fdf in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
at /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6
#38 0x00007f3f509adde8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#39 0x00007f3f51a53045 in QPlatformWindow::deliverUpdateRequest() ()
at /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6
#40 0x00007f3f50a0afbc in QObject::event(QEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#41 0x00007f3f525a6fdf in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
at /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6
#42 0x00007f3f509adde8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#43 0x00007f3f509b19d9 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*)
() at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#44 0x00007f3f50ce70ef in ??? () at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#45 0x00007f3f5070e18e in g_main_dispatch () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f3f5070f1bf in g_main_context_iterate_unlocked.isra ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f3f5070f323 in g_main_context_iteration ()
at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f3f50ce692d in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#49 0x00007f3f509bade3 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#50 0x00007f3f509b66a9 in QCoreApplication::exec() () at
/usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#51 0x000055b7c573a117 in ??? ()
#52 0x00007f3f5022c975 in __libc_start_call_main () at
/usr/lib/x86_64-linux-gnu/libc.so.6
#53 0x00007f3f5022ca28 in __libc_start_main () at
/usr/lib/x86_64-linux-gnu/libc.so.6
#54 0x000055b7c588bda5 in ??? ()
EXPECTED RESULT
App does not freeze
--
You are receiving this mail because:
You are watching all bug changes.