[konsole] [Bug 445865] New: Konsole hangs at TerminalPainter

ratijas bugzilla_noreply at kde.org
Sun Nov 21 14:29:56 GMT 2021


https://bugs.kde.org/show_bug.cgi?id=445865

            Bug ID: 445865
           Summary: Konsole hangs at TerminalPainter
           Product: konsole
           Version: master
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: kpart
          Assignee: konsole-devel at kde.org
          Reporter: me at ratijas.tk
  Target Milestone: ---

SUMMARY

Konsole (as well as Yakuake and any other software using kpart plugin) hangs
when trying to draw my quick search menu (Ctrl+R which bound to fzf, A
command-line fuzzy finder). Backtrace attached at the end.

STEPS TO REPRODUCE
1. Open Konsole
2. Run fzf

OBSERVED RESULT
Sometimes it hangs completely. Other times it keeps running as normal.

EXPECTED RESULT
Shouldn't hang up.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.23.80
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.2
Kernel Version: 5.15.3-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7-6700HQ CPU @ 2.60GHz
Memory: 15.6 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 970M/PCIe/SSE2

ADDITIONAL INFORMATION

(gdb) attach 5412
Attaching to process 5412
[New LWP 5414]
[New LWP 5415]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
0x00007f82892f77e6 in operator() (__closure=0x7ffdd9f14800, column=1) at
/home/ratijas/kde/src/kde/applications/konsole/src/terminalDisplay/TerminalPainter.cpp:99
99                  const auto isInsideDrawArea = [&](int column) {
(gdb) info threads 
  Id   Target Id                                          Frame 
* 1    Thread 0x7f82818f7f40 (LWP 5412) "konsole"         0x00007f82892f77e6 in
operator() (__closure=0x7ffdd9f14800, column=1) at
/home/ratijas/kde/src/kde/applications/konsole/src/terminalDisplay/TerminalPainter.cpp:99
  2    Thread 0x7f82813ce640 (LWP 5414) "QXcbEventQueue"  0x00007f8286219b2f in
poll () from /usr/lib/libc.so.6
  3    Thread 0x7f827bfff640 (LWP 5415) "QDBusConnection" 0x00007f8286219b2f in
poll () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007f82892f77e6 in operator() (__closure=0x7ffdd9f14800, column=1) at
/home/ratijas/kde/src/kde/applications/konsole/src/terminalDisplay/TerminalPainter.cpp:99
#1  0x00007f82892f7fd5 in Konsole::TerminalPainter::drawContents
(this=0x565299c1dfb0, image=0x565299c92bd0, paint=..., rect=...,
printerFriendly=false, imageSize=1920, bidiEnabled=true, lineProperties=...)
    at
/home/ratijas/kde/src/kde/applications/konsole/src/terminalDisplay/TerminalPainter.cpp:144
#2  0x00007f82892f6e69 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1,
2, 3, 4, 5, 6>, QtPrivate::List<Konsole::Character*, QPainter&, QRect const&,
bool, int, bool, QVector<unsigned char> >, void, void
(Konsole::TerminalPainter::*)(Konsole::Character*, QPainter&, QRect const&,
bool, int, bool, QVector<unsigned char>)>::call (f=
    (void (Konsole::TerminalPainter::*)(Konsole::TerminalPainter * const,
Konsole::Character *, QPainter &, const QRect &, bool, int, bool,
QVector<unsigned char>)) 0x7f82892f78b8
<Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect
const&, bool, int, bool, QVector<unsigned char>)>, o=0x565299c1dfb0,
arg=0x7ffdd9f14b70) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152
#3  0x00007f82892f660e in QtPrivate::FunctionPointer<void
(Konsole::TerminalPainter::*)(Konsole::Character*, QPainter&, QRect const&,
bool, int, bool, QVector<unsigned
char>)>::call<QtPrivate::List<Konsole::Character*, QPainter&, QRect const&,
bool, int, bool, QVector<unsigned char> >, void> (f=
    (void (Konsole::TerminalPainter::*)(Konsole::TerminalPainter * const,
Konsole::Character *, QPainter &, const QRect &, bool, int, bool,
QVector<unsigned char>)) 0x7f82892f78b8
<Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect
const&, bool, int, bool, QVector<unsigned char>)>, o=0x565299c1dfb0,
arg=0x7ffdd9f14b70) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185
#4  0x00007f82892f5a67 in QtPrivate::QSlotObject<void
(Konsole::TerminalPainter::*)(Konsole::Character*, QPainter&, QRect const&,
bool, int, bool, QVector<unsigned char>), QtPrivate::List<Konsole::Character*,
QPainter&, QRect const&, bool, int, bool, QVector<unsigned char> >, void>::impl
(which=1, this_=0x565299c1e030, r=0x565299c1dfb0, a=0x7ffdd9f14b70, ret=0x0) at
/usr/include/qt/QtCore/qobjectdefs_impl.h:418
#5  0x00007f82869577ab in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007f82892406a1 in Konsole::TerminalDisplay::drawContents
(this=0x565299ad4400, _t1=0x565299c92bd0, _t2=..., _t3=..., _t4=false,
_t5=1920, _t6=true, _t7=...)
    at
/home/ratijas/kde/build/kde/applications/konsole/src/konsoleprivate_autogen/DRAQINE3W2/moc_TerminalDisplay.cpp:612
#7  0x00007f82892e4734 in Konsole::TerminalDisplay::paintEvent
(this=0x565299ad4400, pe=0x7ffdd9f14e90) at
/home/ratijas/kde/src/kde/applications/konsole/src/terminalDisplay/TerminalDisplay.cpp:727
#8  0x00007f82876740be in QWidget::event(QEvent*) () from
/usr/lib/libQt5Widgets.so.5
#9  0x00007f82892ed87c in Konsole::TerminalDisplay::event (this=0x565299ad4400,
event=0x7ffdd9f14e90) at
/home/ratijas/kde/src/kde/applications/konsole/src/terminalDisplay/TerminalDisplay.cpp:2561
#10 0x00007f8287630d62 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#11 0x00007f82869203fa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#12 0x00007f828766bcf8 in QWidgetPrivate::sendPaintEvent(QRegion const&) ()
from /usr/lib/libQt5Widgets.so.5
#13 0x00007f828766c55c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion
const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*,
QWidgetRepaintManager*) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007f8287642278 in ?? () from /usr/lib/libQt5Widgets.so.5
#15 0x00007f8287674829 in QWidget::event(QEvent*) () from
/usr/lib/libQt5Widgets.so.5
#16 0x00007f8288c8c5bf in KMainWindow::event (this=0x7f827c003760,
ev=0x565299c91e50) at
/home/ratijas/kde/src/frameworks/kxmlgui/src/kmainwindow.cpp:936
#17 0x00007f8288ce169f in KXmlGuiWindow::event (this=0x7f827c003760,
ev=0x565299c91e50) at
/home/ratijas/kde/src/frameworks/kxmlgui/src/kxmlguiwindow.cpp:219
#18 0x00007f8287630d62 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#19 0x00007f82869203fa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#20 0x00007f82869234f9 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#21 0x00007f82869799f4 in ?? () from /usr/lib/libQt5Core.so.5
#22 0x00007f828428eaba in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#23 0x00007f828428f2f2 in g_main_context_iterate () from
/usr/lib/libglib-2.0.so.0
#24 0x00007f828428f4ae in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#25 0x00007f8286979026 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt5Core.so.5
#26 0x00007f828691ed6c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#27 0x00007f82869272d4 in QCoreApplication::exec() () from
/usr/lib/libQt5Core.so.5
#28 0x000056529784498b in main (argc=1, argv=0x7ffdd9f15b48) at
/home/ratijas/kde/src/kde/applications/konsole/src/main.cpp:242

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list