Summary: | Crash when using yakuake as a screen appears | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Aleix Pol <aleixpol> |
Component: | general | Assignee: | ninjalj |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | ninjalj |
Priority: | NOR | Keywords: | drkonqi |
Version: | master | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/utilities/konsole/commit/0ecc366c02c43502f0d82dadc29274a7890df521 | Version Fixed In: | |
Sentry Crash Report: |
Description
Aleix Pol
2021-04-28 23:29:54 UTC
It also happens on standalone konsole. #0 0x00007f7f07e14ef5 in raise () from /usr/lib/libc.so.6 #1 0x00007f7f09f72fa8 in KCrash::defaultCrashHandler (sig=6) at /home/apol/devel/frameworks/kcrash/src/kcrash.cpp:567 #2 <signal handler called> #3 0x00007f7f07e14ef5 in raise () from /usr/lib/libc.so.6 #4 0x00007f7f07dfe862 in abort () from /usr/lib/libc.so.6 #5 0x00007f7f0839dc51 in qt_message_fatal (message=<synthetic pointer>..., context=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:1914 #6 QMessageLogger::fatal (this=this@entry=0x7ffe36967f58, msg=msg@entry=0x7f7f0869bea0 "ASSERT: \"%s\" in file %s, line %d") at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:893 #7 0x00007f7f0839d04a in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qglobal.cpp:3358 #8 0x00007f7f0ad1e1ee in QVarLengthArray<unsigned char, 64>::operator[] (this=0x55a13b119b80, idx=100) at /home/apol/devel/kde5/include/QtCore/qvarlengtharray.h:143 #9 0x00007f7f0ad1611c in Konsole::Screen::getScreenLineColumns (this=0x55a13b119b40, line=100) at /home/apol/devel/frameworks/konsole/src/Screen.cpp:720 #10 0x00007f7f0ad19302 in Konsole::Screen::getImage (this=0x55a13b119b40, dest=0x55a13b2d4420, size=17280, startLine=0, endLine=63) at /home/apol/devel/frameworks/konsole/src/Screen.cpp:682 #11 0x00007f7f0ad259ce in Konsole::ScreenWindow::getImage (this=0x55a13ae2a1e0) at /home/apol/devel/frameworks/konsole/src/ScreenWindow.cpp:66 #12 0x00007f7f0ada1e42 in Konsole::TerminalDisplay::updateImage (this=0x55a13aa72a80) at /home/apol/devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:519 #13 0x00007f7f0ada7a60 in Konsole::TerminalDisplay::resizeEvent (this=0x55a13aa72a80, event=0x7ffe369685b0) at /home/apol/devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:950 #14 0x00007f7f09189a84 in QWidget::event (this=0x55a13aa72a80, event=0x7ffe369685b0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8810 #15 0x00007f7f0adafce6 in Konsole::TerminalDisplay::event (this=0x55a13aa72a80, event=0x7ffe369685b0) at /home/apol/devel/frameworks/konsole/src/terminalDisplay/TerminalDisplay.cpp:2590 #16 0x00007f7f0914917f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55a13aa72a80, e=0x7ffe369685b0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3632 #17 0x00007f7f085badfa in QCoreApplication::notifyInternal2 (receiver=0x55a13aa72a80, event=0x7ffe369685b0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1064 #18 0x00007f7f09181086 in QWidgetPrivate::sendPendingMoveAndResizeEvents (this=this@entry=0x55a13ada4c00, recursive=recursive@entry=false, disableUpdates=<optimized out>, disableUpdates@entry=false) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:7712 #19 0x00007f7f091859e3 in QWidgetPrivate::show_helper (this=0x55a13ada4c00) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:7763 #20 0x00007f7f091857fb in QWidgetPrivate::show_recursive (this=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:7693 #21 0x00007f7f09185989 in QWidgetPrivate::showChildren (this=this@entry=0x55a13ac70110, spontaneous=spontaneous@entry=false) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.h:132 #22 0x00007f7f091859ff in QWidgetPrivate::show_helper (this=this@entry=0x55a13ac70110) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:7769 #23 0x00007f7f09188b73 in QWidgetPrivate::setVisible (this=0x55a13ac70110, visible=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qwidget.cpp:8112 #24 0x00007f7f0916e23f in QStackedLayout::setCurrentIndex (this=0x55a13a9b8e40, index=index@entry=1) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qstackedlayout.cpp:323 #25 0x00007f7f092f1e00 in QStackedWidget::setCurrentIndex (this=<optimized out>, index=index@entry=1) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/widgets/qstackedwidget.cpp:214 #26 0x00007f7f09316440 in QTabWidgetPrivate::_q_showTab (index=1, this=0x55a13a9b9100) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/widgets/qtabwidget.cpp:795 #27 QTabWidget::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qtabwidget.cpp:177 #28 0x00007f7f085f1410 in doActivate<false> (sender=0x55a13a9bd180, signal_index=7, argv=argv@entry=0x7ffe36968960) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3898 #29 0x00007f7f085ea730 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f7f09652f80 <QTabBar::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe36968960) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3946 #30 0x00007f7f092f424e in QTabBar::currentChanged (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qtabbar.cpp:338 #31 0x00007f7f0adcd8c1 in Konsole::TabbedViewContainer::activateNextView (this=0x55a13a96f360) at /home/apol/devel/frameworks/konsole/src/widgets/ViewContainer.cpp:403 #32 0x00007f7f0ad2d716 in Konsole::ViewManager::nextView (this=0x55a13a9b8f90) at /home/apol/devel/frameworks/konsole/src/ViewManager.cpp:368 #33 0x00007f7f0ad37a21 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Konsole::ViewManager::*)()>::call(void (Konsole::ViewManager::*)(), Konsole::ViewManager*, void**) ( f=(void (Konsole::ViewManager::*)(Konsole::ViewManager * const)) 0x7f7f0ad2d6f0 <Konsole::ViewManager::nextView()>, o=0x55a13a9b8f90, arg=0x7ffe36968c10) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152 #34 0x00007f7f0ad37988 in QtPrivate::FunctionPointer<void (Konsole::ViewManager::*)()>::call<QtPrivate::List<>, void>(void (Konsole::ViewManager::*)(), Konsole::ViewManager*, void**) ( f=(void (Konsole::ViewManager::*)(Konsole::ViewManager * const)) 0x7f7f0ad2d6f0 <Konsole::ViewManager::nextView()>, o=0x55a13a9b8f90, arg=0x7ffe36968c10) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185 #35 0x00007f7f0ad378b5 in QtPrivate::QSlotObject<void (Konsole::ViewManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55a13a9d5570, r=0x55a13a9b8f90, a=0x7ffe36968c10, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:418 #36 0x00007f7f085f13d6 in QtPrivate::QSlotObjectBase::call (a=0x7ffe36968c10, r=0x55a13a9b8f90, this=0x55a13a9d5570) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398 #37 doActivate<false> (sender=0x55a13a9d51d0, signal_index=4, argv=argv@entry=0x7ffe36968c10) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886 #38 0x00007f7f085ea730 in QMetaObject::activate (sender=sender@entry=0x55a13a9d51d0, m=m@entry=0x7f7f09641d00 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe36968c10) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3946 #39 0x00007f7f09142b82 in QAction::triggered (this=this@entry=0x55a13a9d51d0, _t1=<optimized out>) at .moc/moc_qaction.cpp:376 #40 0x00007f7f091453c1 in QAction::activate (this=0x55a13a9d51d0, event=event@entry=QAction::Trigger) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qaction.cpp:1161 #41 0x00007f7f09145f87 in QAction::event (e=<optimized out>, this=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qaction.cpp:1086 #42 QAction::event (this=<optimized out>, e=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qaction.cpp:1075 #43 0x00007f7f0914917f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55a13a9d51d0, e=0x7ffe36968df0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3632 #44 0x00007f7f085badfa in QCoreApplication::notifyInternal2 (receiver=0x55a13a9d51d0, event=0x7ffe36968df0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1064 #45 0x00007f7f08a89c2b in QShortcutMap::dispatchEvent (this=this@entry=0x55a13a875d28, e=e@entry=0x7ffe36968eb0) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qshortcutmap.cpp:675 #46 0x00007f7f08a8a5eb in QShortcutMap::tryShortcut (this=this@entry=0x55a13a875d28, e=e@entry=0x7ffe36968eb0) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qshortcutmap.cpp:343 #47 0x00007f7f08a33b9e in QWindowSystemInterface::handleShortcutEvent (window=0x7ffe36968eb0, timestamp=6685814, keyCode=16777236, modifiers=..., nativeScanCode=114, nativeVirtualKey=65363, nativeModifiers=1, text=..., autorepeat=false, count=1) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:477 #48 0x00007f7f08a564cb in QGuiApplicationPrivate::processKeyEvent (e=0x55a13aaeda90) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:2395 #49 0x00007f7f08a3053c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1169 #50 0x00007f7f0748ea40 in userEventSourceDispatch (source=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:74 #51 0x00007f7f04c8502c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #52 0x00007f7f04cd8b59 in ?? () from /usr/lib/libglib-2.0.so.0 #53 0x00007f7f04c82781 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #54 0x00007f7f086121df in QEventDispatcherGlib::processEvents (this=0x55a13a903230, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423 #55 0x00007f7f085b97ab in QEventLoop::exec (this=this@entry=0x7ffe369691f0, flags=..., flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:69 #56 0x00007f7f085c1a30 in QCoreApplication::exec () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:121 #57 0x000055a138bab3b2 in main (argc=1, argv=0x7ffe36969708) at /home/apol/devel/frameworks/konsole/src/main.cpp:220 Sorry about that. I'm to blame for this one. How do you reproduce the bug? I have a fix at https://invent.kde.org/utilities/konsole/-/merge_requests/388 but it would be nice to really make sure that it fixes your case. It's not that easy to reproduce, the patch makes sense though. A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/389 Git commit 0ecc366c02c43502f0d82dadc29274a7890df521 by Kurt Hindenburg, on behalf of Luis Javier Merino MorĂ¡n. Committed on 05/05/2021 at 14:00. Pushed by hindenburg into branch 'master'. Fix crash on resize while doing other things Commits 9ffe33a27a8720aba2f066fef0b0bdb3efcbea72 and 4352df00d9fd66f5333421f328a2c5618eda60b7 introduce and use a getScreenLineColumns(line) method to provide support for DECDWL (Double-Width) lines. It turns out that under some conditions on resize Screen::_cuY (the current cursor Y position) and ScreenWindow::endWindowLine() can have different ideas of how many lines the terminal has. A test that asserts: - while [ true ]; do echo -e "\e[?1047h"; done - Resize the window, making it smaller M +1 -3 src/Screen.cpp https://invent.kde.org/utilities/konsole/commit/0ecc366c02c43502f0d82dadc29274a7890df521 |