Bug 445986 - Konversation got suddendly stuck
Summary: Konversation got suddendly stuck
Status: RESOLVED UPSTREAM
Alias: None
Product: konversation
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Konversation Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-23 18:20 UTC by Germano Massullo
Modified: 2022-01-05 11:17 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Germano Massullo 2021-11-23 18:20:47 UTC
Konversation suddendly got stuck.
konversation-21.04.3-1.fc35.x86_64
KDE Frameworks Version 5.88.0
Qt Version 5.15.2
Wayland session

$ gdb konversation 41189
[...]                                                                                                                                                  
[Thread debugging using libthread_db enabled]                                                                                                                                                                                                              
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007feb08c32a3f in FcFontSetMatchInternal (sets=sets@entry=0x7ffc9760f0a0, nsets=<optimized out>, p=p@entry=0x558308df5c70, result=result@entry=0x7ffc9760f12c) at /usr/src/debug/fontconfig-2.13.94-3.fc35.x86_64/src/fcmatch.c:899
899                     if (best && bestscore[i] < score[i])
(gdb) bt
#0  0x00007feb08c32a3f in FcFontSetMatchInternal (sets=sets@entry=0x7ffc9760f0a0, nsets=<optimized out>, p=p@entry=0x558308df5c70, result=result@entry=0x7ffc9760f12c) at /usr/src/debug/fontconfig-2.13.94-3.fc35.x86_64/src/fcmatch.c:899
#1  0x00007feb08c34c2f in IA__FcFontMatch (config=0x5583053dc160, p=0x558308df5c70, result=0x7ffc9760f12c) at /usr/src/debug/fontconfig-2.13.94-3.fc35.x86_64/src/fcmatch.c:1023
#2  0x00007feb0b10d7ca in QFontconfigDatabase::setupFontEngine(QFontEngineFT*, QFontDef const&) const () from /lib64/libQt5WaylandClient.so.5
#3  0x00007feb0b10dfda in QFontconfigDatabase::fontEngine(QFontDef const&, void*) () from /lib64/libQt5WaylandClient.so.5
#4  0x00007feb0df310ef in loadSingleEngine (foundry=<optimized out>, size=<optimized out>, style=<optimized out>, family=<optimized out>, request=..., script=<optimized out>) at text/qfontdatabase.cpp:971
#5  loadEngine (script=script@entry=2, request=..., family=0x5583057424b0, style=0x558305742580, size=0x7ffc9760f2c8, foundry=<optimized out>) at text/qfontdatabase.cpp:1001
#6  0x00007feb0df31ebb in QFontDatabase::findFont (request=..., script=-1755253680, script@entry=2) at text/qfontdatabase.cpp:2744
#7  0x00007feb0df19aea in QFontEngineMulti::loadEngine (this=<optimized out>, at=-1755253295) at text/qfontengine.cpp:1843
#8  0x00007feb0df1a30f in QFontEngineMulti::ensureEngineAt (this=this@entry=0x55830897a0b0, at=at@entry=95) at text/qfontengine.cpp:1822
#9  0x00007feb0df1a8ac in QFontEngineMulti::stringToCMap (this=0x55830897a0b0, str=<optimized out>, len=<optimized out>, glyphs=<optimized out>, nglyphs=0x7ffc9760f790, flags=...) at text/qfontengine.cpp:1935
#10 0x00007feb0df3a498 in QTextEngine::shapeText (this=this@entry=0x558305608330, item=item@entry=0) at text/qtextengine.cpp:1481
#11 0x00007feb0df3abe0 in QTextEngine::shape (this=this@entry=0x558305608330, item=item@entry=0) at text/qtextengine.cpp:2028
#12 0x00007feb0df4b996 in QTextLine::layout_helper (this=this@entry=0x7ffc9760fa20, maxGlyphs=maxGlyphs@entry=2147483647) at text/qtextlayout.cpp:1854
#13 0x00007feb0df4ca21 in QTextLine::setLineWidth (this=this@entry=0x7ffc9760fa20, width=<optimized out>) at text/qtextlayout.cpp:1605
#14 0x00007feb0e8c2809 in QItemDelegatePrivate::doTextLayout (this=this@entry=0x55830562c780, lineWidth=8388607) at itemviews/qitemdelegate.cpp:186
#15 0x00007feb0e8c4f1e in QItemDelegate::textRectangle (this=this@entry=0x558305602ce0, rect=..., font=..., text=...) at itemviews/qitemdelegate.cpp:1122
#16 0x00007feb0e8c5261 in QItemDelegatePrivate::displayRect (this=this@entry=0x55830562c780, index=..., option=..., decorationRect=..., checkRect=...) at itemviews/qitemdelegate.cpp:138
#17 0x00007feb0e8c6085 in QItemDelegate::sizeHint (this=0x558305602ce0, option=..., index=...) at itemviews/qitemdelegate.cpp:484
#18 0x00007feafadf5a65 in BreezePrivate::ComboBoxItemDelegate::sizeHint (this=0x5583054ba160, option=..., index=...) at /usr/src/debug/plasma-breeze-5.23.3-1.fc35.x86_64/kstyle/breezestyle.cpp:144
#19 0x00007feb0e8e2083 in QCommonListViewBase::itemSize (idx=..., opt=..., this=0x5583055e6c20) at ../../include/QtWidgets/5.15.2/QtWidgets/private/../../../../../src/widgets/itemviews/qlistview_p.h:492
#20 QListModeViewBase::doStaticLayout (this=this@entry=0x5583055e6c20, info=...) at itemviews/qlistview.cpp:2583
#21 0x00007feb0e8e23a4 in QListModeViewBase::doBatchedItemLayout (this=0x5583055e6c20, info=..., max=1) at itemviews/qlistview.cpp:2450
#22 0x00007feb0e8dc016 in QListViewPrivate::doItemsLayout (this=this@entry=0x5583055e7220, delta=<optimized out>) at itemviews/qlistview.cpp:1831
#23 0x00007feb0e8e89d9 in QListView::doItemsLayout (this=0x5583056225c0) at itemviews/qlistview.cpp:1543
#24 0x00007feb0e73a7b6 in QComboBox::changeEvent (this=0x5583054f4290, e=0x7ffc97610090) at widgets/qcombobox.cpp:3153
#25 0x00007feb0e669e46 in QWidget::event (this=0x5583054f4290, event=0x7ffc97610090) at kernel/qwidget.cpp:8962
#26 0x00007feb0e627443 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5583054f4290, e=0x7ffc97610090) at kernel/qapplication.cpp:3632
#27 0x00007feb0d72d7b8 in QCoreApplication::notifyInternal2 (receiver=0x5583054f4290, event=0x7ffc97610090) at kernel/qcoreapplication.cpp:1064
#28 0x00007feb0e65afe5 in QWidgetPrivate::updateFont (this=this@entry=0x558305234130, font=...) at kernel/qwidget.cpp:4654
#29 0x00007feb0e66a300 in QWidget::event (this=0x5583054f4290, event=0x7ffc97610220) at kernel/qwidget.cpp:9056
#30 0x00007feb0e627443 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5583054f4290, e=0x7ffc97610220) at kernel/qapplication.cpp:3632
#31 0x00007feb0d72d7b8 in QCoreApplication::notifyInternal2 (receiver=0x5583054f4290, event=0x7ffc97610220) at kernel/qcoreapplication.cpp:1064
#32 0x00007feb0e683036 in sendScreenChangeRecursively (widget=0x5583054f4290) at kernel/qwidgetwindow.cpp:752
#33 0x00007feb0e683066 in sendScreenChangeRecursively (widget=<optimized out>) at kernel/qwidgetwindow.cpp:757
--Type <RET> for more, q to quit, c to continue without paging--c
#34 0x00007feb0e683066 in sendScreenChangeRecursively (widget=<optimized out>) at kernel/qwidgetwindow.cpp:757
#35 0x00007feb0e683066 in sendScreenChangeRecursively (widget=<optimized out>) at kernel/qwidgetwindow.cpp:757
#36 0x00007feb0e683066 in sendScreenChangeRecursively (widget=<optimized out>) at kernel/qwidgetwindow.cpp:757
#37 0x00007feb0e683066 in sendScreenChangeRecursively (widget=<optimized out>) at kernel/qwidgetwindow.cpp:757
#38 0x00007feb0e683136 in QWidgetWindow::handleScreenChange (this=0x5583055b8bf0) at kernel/qwidgetwindow.cpp:764
#39 QWidgetWindow::qt_static_metacall (_c=QMetaObject::InvokeMetaMethod, _a=<optimized out>, _id=<optimized out>, _o=0x5583055b8bf0) at .moc/moc_qwidgetwindow_p.cpp:77
#40 QWidgetWindow::qt_static_metacall (_o=0x5583055b8bf0, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qwidgetwindow_p.cpp:70
#41 0x00007feb0d761410 in doActivate<false> (sender=0x5583055b8bf0, signal_index=3, argv=0x7ffc976104a0) at kernel/qobject.cpp:3898
#42 0x00007feb0d75c347 in QMetaObject::activate (sender=sender@entry=0x5583055b8bf0, m=m@entry=0x7feb0e328ea0 <QWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc976104a0) at kernel/qobject.cpp:3946
#43 0x00007feb0de79c63 in QWindow::screenChanged (this=this@entry=0x5583055b8bf0, _t1=<optimized out>, _t1@entry=0x558307a441b0) at .moc/moc_qwindow.cpp:729
#44 0x00007feb0de7a647 in QWindowPrivate::emitScreenChangedRecursion (this=<optimized out>, newScreen=0x558307a441b0) at kernel/qwindow.cpp:484
#45 0x00007feb0de80d18 in QWindowPrivate::setTopLevelScreen (this=<optimized out>, newScreen=<optimized out>, recreate=<optimized out>) at kernel/qwindow.cpp:508
#46 0x00007feb0de9d0c8 in QScreen::~QScreen (this=0x558305287580, __in_chrg=<optimized out>) at kernel/qscreen.cpp:165
#47 0x00007feb0de9d1ad in QScreen::~QScreen (this=0x558305287580, __in_chrg=<optimized out>) at kernel/qscreen.cpp:172
#48 0x00007feb0de5535b in QWindowSystemInterface::handleScreenRemoved (platformScreen=0x55830527dc70) at kernel/qwindowsysteminterface.cpp:844
#49 0x00007feb0b0da846 in QtWaylandClient::QWaylandDisplay::registry_global_remove (this=0x558305276780, id=49) at /usr/src/debug/qt5-qtwayland-5.15.2-14.fc35.x86_64/src/client/qwaylanddisplay.cpp:419
#50 0x00007feb08bbac04 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#51 0x00007feb08bba108 in ffi_call (cif=cif@entry=0x7ffc97610710, fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7ffc976107e0) at ../src/x86/ffi64.c:525
#52 0x00007feb0b04ad10 in wl_closure_invoke (closure=closure@entry=0x558305bbbf60, target=<optimized out>, target@entry=0x55830527a2f0, opcode=opcode@entry=1, data=<optimized out>, flags=<optimized out>) at ../src/connection.c:1018
#53 0x00007feb0b04b41b in dispatch_event (display=display@entry=0x55830527a1a0, queue=<optimized out>, queue=<optimized out>) at ../src/wayland-client.c:1452
#54 0x00007feb0b04b60c in dispatch_queue (queue=0x55830527a270, display=0x55830527a1a0) at ../src/wayland-client.c:1598
#55 wl_display_dispatch_queue_pending (display=0x55830527a1a0, queue=0x55830527a270) at ../src/wayland-client.c:1840
#56 0x00007feb0b0d76a3 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x558305276780) at /usr/src/debug/qt5-qtwayland-5.15.2-14.fc35.x86_64/src/client/qwaylanddisplay.cpp:222
#57 0x00007feb0d761410 in doActivate<false> (sender=0x5583052bb220, signal_index=3, argv=0x7ffc97610ab0) at kernel/qobject.cpp:3898
#58 0x00007feb0d75c347 in QMetaObject::activate (sender=sender@entry=0x5583052bb220, m=m@entry=0x7feb0da06460 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc97610ab0) at kernel/qobject.cpp:3946
#59 0x00007feb0d763b6a in QSocketNotifier::activated (this=this@entry=0x5583052bb220, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178
#60 0x00007feb0d764383 in QSocketNotifier::event (this=0x5583052bb220, e=0x7ffc97610bb0) at kernel/qsocketnotifier.cpp:302
#61 0x00007feb0e627443 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5583052bb220, e=0x7ffc97610bb0) at kernel/qapplication.cpp:3632
#62 0x00007feb0d72d7b8 in QCoreApplication::notifyInternal2 (receiver=0x5583052bb220, event=0x7ffc97610bb0) at kernel/qcoreapplication.cpp:1064
#63 0x00007feb0d77f61f in socketNotifierSourceDispatch (source=0x5583052bbe80) at kernel/qeventdispatcher_glib.cpp:107
#64 0x00007feb0b2c633f in g_main_dispatch (context=0x5583052bb700) at ../glib/gmain.c:3381
#65 g_main_context_dispatch (context=0x5583052bb700) at ../glib/gmain.c:4099
#66 0x00007feb0b31b2b8 in g_main_context_iterate.constprop.0 (context=context@entry=0x5583052bb700, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175
#67 0x00007feb0b2c39e3 in g_main_context_iteration (context=0x5583052bb700, may_block=1) at ../glib/gmain.c:4240
#68 0x00007feb0d77eb98 in QEventDispatcherGlib::processEvents (this=0x5583052b7b00, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#69 0x00007feb0d72c1c2 in QEventLoop::exec (this=this@entry=0x7ffc97610e20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#70 0x00007feb0e837a72 in QDialog::exec (this=0x558308946c40) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#71 0x00007feb0e86d404 in QInputDialog::getText (parent=<optimized out>, title=..., label=..., mode=mode@entry=QLineEdit::Normal, text=..., ok=0x0, flags=..., inputMethodHints=...) at dialogs/qinputdialog.cpp:1219
#72 0x0000558304b18326 in Server::getNextNickname (this=0x55830542a410) at /usr/src/debug/konversation-21.04.3-1.fc35.x86_64/src/irc/server.cpp:1352
#73 0x0000558304b6057e in InputFilter::parseNumeric (this=0x55830542a530, prefix=..., command=433, parameterList=..., messageTags=...) at /usr/src/debug/konversation-21.04.3-1.fc35.x86_64/src/irc/inputfilter.cpp:1583
#74 0x0000558304b148f1 in InputFilter::parseServerCommand (messageTags=..., parameterList=..., command=..., prefix=..., this=0x55830542a530) at /usr/src/debug/konversation-21.04.3-1.fc35.x86_64/src/irc/inputfilter.cpp:890
#75 InputFilter::parseLine (line=..., this=0x55830542a530) at /usr/src/debug/konversation-21.04.3-1.fc35.x86_64/src/irc/inputfilter.cpp:119
#76 Server::processIncomingData (this=0x55830542a410) at /usr/src/debug/konversation-21.04.3-1.fc35.x86_64/src/irc/server.cpp:1366
#77 0x00007feb0d7613c9 in QtPrivate::QSlotObjectBase::call (a=0x7ffc97611310, r=<optimized out>, this=0x55830592cf50) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#78 doActivate<false> (sender=0x55830542a480, signal_index=3, argv=0x7ffc97611310) at kernel/qobject.cpp:3886
#79 0x00007feb0d75c347 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7feb0da065a0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc97611310) at kernel/qobject.cpp:3946
#80 0x00007feb0d76466e in QTimer::timeout (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#81 0x00007feb0d757ebf in QObject::event (this=0x55830542a480, e=0x7ffc97611470) at kernel/qobject.cpp:1336
#82 0x00007feb0e627443 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55830542a480, e=0x7ffc97611470) at kernel/qapplication.cpp:3632
#83 0x00007feb0d72d7b8 in QCoreApplication::notifyInternal2 (receiver=0x55830542a480, event=0x7ffc97611470) at kernel/qcoreapplication.cpp:1064
#84 0x00007feb0d77de83 in QTimerInfoList::activateTimers (this=0x558305276270) at kernel/qtimerinfo_unix.cpp:643
#85 0x00007feb0d77e7d4 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#86 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:230
#87 0x00007feb0b2c633f in g_main_dispatch (context=0x5583052bb700) at ../glib/gmain.c:3381
#88 g_main_context_dispatch (context=0x5583052bb700) at ../glib/gmain.c:4099
#89 0x00007feb0b31b2b8 in g_main_context_iterate.constprop.0 (context=context@entry=0x5583052bb700, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175
#90 0x00007feb0b2c39e3 in g_main_context_iteration (context=0x5583052bb700, may_block=1) at ../glib/gmain.c:4240
#91 0x00007feb0d77eb98 in QEventDispatcherGlib::processEvents (this=0x5583052b7b00, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#92 0x00007feb0d72c1c2 in QEventLoop::exec (this=this@entry=0x7ffc97611710, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#93 0x00007feb0d734704 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#94 0x0000558304a93992 in main (argc=<optimized out>, argv=0x7ffc97611830) at /usr/src/debug/konversation-21.04.3-1.fc35.x86_64/src/main.cpp:149
Comment 1 Friedrich W. H. Kossebau 2021-12-19 15:58:42 UTC
By the backtrace, this seems an issue over at Qt side (or rather fontconfig), at least when used from gdb.

Konversation just calls QInputDialog::getText() and things get stuck inside that call, so there is little we can do to fix that.

This needs to be reported upstream, as Konversation would not be the only one affected by this. I would start with reporting to Qt, perhaps QFontconfigDatabase::setupFontEngine() does something wrong here.
Comment 2 Germano Massullo 2022-01-05 11:17:24 UTC
KDE developers should take care of reporting this to upstream, since they know more about Qt than the average user