Bug 434600 - Crash when closing tab
Summary: Crash when closing tab
Status: RESOLVED DUPLICATE of bug 436630
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: master
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-03-19 00:06 UTC by Aleix Pol
Modified: 2021-06-15 17:05 UTC (History)
2 users (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 Aleix Pol 2021-03-19 00:06:57 UTC
Application: yakuake (21.07.70)
 (Compiled from sources)
Qt Version: 5.15.1
Frameworks Version: 5.81.0
Operating System: Linux 5.11.7-arch1-1 x86_64
Windowing System: Wayland
Drkonqi Version: 5.21.80
Distribution: Arch Linux

-- Information about the crash:
- What I was doing when the application crashed:
It has happened to me several times that yakuake crashes when I close the tab.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Yakuake (yakuake), signal: Segmentation fault
Content of s_kcrashErrorMessage: [Current thread is 1 (Thread 0x7fe992239880 (LWP 1189))]
[KCrash Handler]
#5  Konsole::PlainTextDecoder::decodeLine (this=0x7ffe6272afb0, characters=0x556b8f4d3660, count=361) at /home/apol/devel/frameworks/konsole/src/decoders/PlainTextDecoder.cpp:106
#6  0x00007fe9066b5e66 in Konsole::TerminalDisplay::inputMethodQuery (this=0x556b8ec92180, query=Qt::ImSurroundingText) at /home/apol/devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:2375
#7  0x00007fe996d57465 in QWidget::event (this=0x556b8ec92180, event=0x7ffe6272b190) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8731
#8  0x00007fe9066b6b0e in Konsole::TerminalDisplay::event (this=0x556b8ec92180, event=0x7ffe6272b190) at /home/apol/devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:2611
#9  0x00007fe996d1714f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x556b8ec92180, e=0x7ffe6272b190) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3632
#10 0x00007fe99620822a in QCoreApplication::notifyInternal2 (receiver=0x556b8ec92180, event=0x7ffe6272b190) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1063
#11 0x00007fe9929c3ce9 in QtWaylandClient::QWaylandTextInput::updateState (this=0x556b8ea70ff0, queries=..., flags=3) at /home/apol/devel/frameworks/qt5/qtwayland/src/client/qwaylandinputcontext.cpp:134
#12 0x00007fe99661d9f7 in QGuiApplicationPrivate::_q_updateFocusObject (this=<optimized out>, object=0x556b8ec92180) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:4307
#13 0x00007fe99623e840 in doActivate<false> (sender=0x556b8eccc5e0, signal_index=19, argv=argv@entry=0x7ffe6272b360) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3898
#14 0x00007fe996237b60 in QMetaObject::activate (sender=sender@entry=0x556b8eccc5e0, m=m@entry=0x7fe996b952c0 <QWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=16, argv=argv@entry=0x7ffe6272b360) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3946
#15 0x00007fe99662d1b2 in QWindow::focusObjectChanged (this=this@entry=0x556b8eccc5e0, _t1=<optimized out>) at .moc/moc_qwindow.cpp:840
#16 0x00007fe996d51563 in QWidget::clearFocus (this=this@entry=0x556b8ed45700) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:6493
#17 0x00007fe996d525f8 in QWidget::~QWidget (this=0x556b8ed45700, __in_chrg=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:1459
#18 0x00007fe9066207e6 in Konsole::TerminalColor::~TerminalColor (this=0x556b8ed45700, __in_chrg=<optimized out>) at src/konsoleprivate_autogen/DRAQINE3W2/../../../../../../devel/frameworks/konsole/src/terminalDisplay/TerminalColor.h:27
#19 0x00007fe906620808 in Konsole::TerminalColor::~TerminalColor (this=0x556b8ed45700, __in_chrg=<optimized out>) at src/konsoleprivate_autogen/DRAQINE3W2/../../../../../../devel/frameworks/konsole/src/terminalDisplay/TerminalColor.h:27
#20 0x00007fe9066abf49 in Konsole::TerminalDisplay::~TerminalDisplay (this=0x556b8ec92180, __in_chrg=<optimized out>) at /home/apol/devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:360
#21 0x00007fe9066ac00c in Konsole::TerminalDisplay::~TerminalDisplay (this=0x556b8ec92180, __in_chrg=<optimized out>) at /home/apol/devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:362
#22 0x00007fe99623400f in QObject::event (this=0x556b8ec92180, e=0x556b8eaaf1c0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:1301
#23 0x00007fe9066b6b0e in Konsole::TerminalDisplay::event (this=0x556b8ec92180, event=0x556b8eaaf1c0) at /home/apol/devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:2611
#24 0x00007fe996d1714f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x556b8ec92180, e=0x556b8eaaf1c0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3632
#25 0x00007fe99620822a in QCoreApplication::notifyInternal2 (receiver=0x556b8ec92180, event=0x556b8eaaf1c0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1063
#26 0x00007fe99620ac61 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x556b8ea63910) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1817
#27 0x00007fe9962600f3 in postEventSourceDispatch (s=0x556b8eabce00) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#28 0x00007fe992b2cb84 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0x00007fe992b80c21 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007fe992b2b3b1 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0x00007fe99625f77f in QEventDispatcherGlib::processEvents (this=0x556b8ea82b10, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#32 0x00007fe996206beb in QEventLoop::exec (this=this@entry=0x7ffe6272b8f0, flags=..., flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:69
#33 0x00007fe99620ee60 in QCoreApplication::exec () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:121
#34 0x0000556b8cfbbc14 in main (argc=1, argv=0x7ffe6272bbf8) at /home/apol/devel/frameworks/yakuake/app/main.cpp:72
[Inferior 1 (process 1189) detached]

Possible duplicates by query: bug 434506, bug 429973, bug 428403, bug 423951, bug 422379.

Reported using DrKonqi
Comment 1 Aleix Pol 2021-03-30 23:46:04 UTC
When running yakuake on valgrind it's easy to reproduce issues.

==6853== Invalid read of size 1
==6853==    at 0x719C929: QUtf32::convertToUnicode(char const*, int, QTextCodec::ConverterState*, DataEndianness) (qutfcodec.cpp:930)
==6853==    by 0x6FE36E9: QString::fromUcs4(unsigned int const*, int) (qstring.cpp:5672)
==6853==    by 0x327C411E: Konsole::PlainTextDecoder::decodeLine(Konsole::Character const*, int, unsigned char) (devel/frameworks/konsole/src/decoders/PlainTextDecoder.cpp:132)
==6853==    by 0x3288E4C1: Konsole::TerminalDisplay::inputMethodQuery(Qt::InputMethodQuery) const (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:2375)
==6853==    by 0x62D8464: QWidget::event(QEvent*) (qwidget.cpp:8731)
==6853==    by 0x3288F255: Konsole::TerminalDisplay::event(QEvent*) (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:2611)
==6853==    by 0x629814E: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3632)
==6853==    by 0x7140229: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1063)
==6853==    by 0xA99CCE8: QtWaylandClient::QWaylandTextInput::updateState(QFlags<Qt::InputMethodQuery>, unsigned int) (qwaylandinputcontext.cpp:134)
==6853==    by 0x68F59F6: QGuiApplicationPrivate::_q_updateFocusObject(QObject*) (qguiapplication.cpp:4307)
==6853==    by 0x717683F: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3898)
==6853==    by 0x69051B1: QWindow::focusObjectChanged(QObject*) (moc_qwindow.cpp:840)
==6853==  Address 0x424ddb51 is 1 bytes inside a block of size 456,304 free'd
==6853==    at 0x484058B: operator delete[](void*) (vg_replace_malloc.c:649)
==6853==    by 0x32884351: Konsole::TerminalDisplay::~TerminalDisplay() (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:353)
==6853==    by 0x328844CB: Konsole::TerminalDisplay::~TerminalDisplay() (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:347)
==6853==    by 0x716C00E: QObject::event(QEvent*) (qobject.cpp:1301)
==6853==    by 0x3288F255: Konsole::TerminalDisplay::event(QEvent*) (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:2611)
==6853==    by 0x629814E: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3632)
==6853==    by 0x7140229: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1063)
==6853==    by 0x7142C60: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1817)
==6853==    by 0x71980F2: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:277)
==6853==    by 0xA7C6F9B: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6800.0)
==6853==    by 0xA81AA48: ??? (in /usr/lib/libglib-2.0.so.0.6800.0)
==6853==    by 0xA7C46F0: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.6800.0)
==6853==  Block was alloc'd at
==6853==    at 0x483F50F: operator new[](unsigned long) (vg_replace_malloc.c:431)
==6853==    by 0x3288729B: Konsole::TerminalDisplay::makeImage() (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:1030)
==6853==    by 0x3288549F: Konsole::TerminalDisplay::updateImageSize() (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:989)
==6853==    by 0x3288718A: Konsole::TerminalDisplay::propagateSize() (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:979)
==6853==    by 0x3288759F: Konsole::TerminalDisplay::showEvent(QShowEvent*) (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:1115)
==6853==    by 0x62D7F8D: QWidget::event(QEvent*) (qwidget.cpp:9019)
==6853==    by 0x3288F255: Konsole::TerminalDisplay::event(QEvent*) (devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:2611)
==6853==    by 0x629814E: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3632)
==6853==    by 0x7140229: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1063)
==6853==    by 0x62D4982: QWidgetPrivate::show_helper() (qwidget.cpp:7813)
==6853==    by 0x62D48E8: QWidgetPrivate::showChildren(bool) (qwidget.cpp:8181)
==6853==    by 0x62D495E: QWidgetPrivate::show_helper() (qwidget.cpp:7768)
Comment 2 Aleix Pol 2021-03-30 23:47:16 UTC
I can also reproduce the valgrind issue when running konsole, so I'll move the issue.
Comment 3 ninjalj 2021-06-15 17:05:47 UTC

*** This bug has been marked as a duplicate of bug 436630 ***