| 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 First Reported In: | master | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/utilities/konsole/commit/0ecc366c02c43502f0d82dadc29274a7890df521 | Version Fixed/Implemented 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 |