Bug 473839

Summary: Applications using KonsolePart crash when displaying it
Product: [Applications] konsole Reporter: Philipp A. <flying-sheep>
Component: kpartAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED DUPLICATE    
Severity: normal CC: nicolas.fella
Priority: NOR    
Version: 23.08.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Philipp A. 2023-08-28 09:38:43 UTC
SUMMARY
Applications hosting a KonsolePart crash with a segfault.


STEPS TO REPRODUCE
1. Make KonsolePart appear (e.g. open Dolphin, Yakuake or show the terminal panel in Kate)
2. Observe segfault

OBSERVED RESULT

```
Application: Dolphin (dolphin), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x00007fb26757197b in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:118
#7  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >&) (ptr=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1151
#8  QAction::d_func() (this=<optimized out>) at ../../include/QtWidgets/../../src/widgets/kernel/qaction.h:63
#9  QAction::setVisible(bool) (this=0x0, b=true) at kernel/qaction.cpp:1051
#10 0x00007fb24083d144 in Konsole::Screen::setReplMode(int) (this=0x556a432a0190, mode=1) at /usr/src/debug/konsole/konsole-23.08.0/src/Screen.cpp:2395
#11 0x00007fb240858095 in Konsole::Vt102Emulation::processSessionAttributeRequest(int, unsigned int) (this=<optimized out>, tokenSize=<optimized out>, terminator=27) at /usr/src/debug/konsole/konsole-23.08.0/src/Vt102Emulation.cpp:1071
#12 0x00007fb240849290 in Konsole::Vt102Emulation::switchState(Konsole::Vt102Emulation::ParserStates, unsigned int) (this=this@entry=0x556a43763870, newState=newState@entry=Konsole::Vt102Emulation::Escape, cc=cc@entry=27) at /usr/src/debug/konsole/konsole-23.08.0/src/Vt102Emulation.cpp:434
#13 0x00007fb240849473 in Konsole::Vt102Emulation::receiveChars(QVector<unsigned int> const&) (this=0x556a43763870, chars=<optimized out>) at /usr/src/debug/konsole/konsole-23.08.0/src/Vt102Emulation.cpp:698
#14 0x00007fb240823bea in Konsole::Emulation::receiveData(char const*, int) (this=0x556a43763870, text=0x556a43a5d3e8 "\033[?25l\033[6;1H\033[J\033[38;5;10m\033]133;A\033\\/home/phil\033]133;B\033\\\033[38;5;14m\343\200\211\342\200\214\033[38;5;5m\0337\033[6;174H2023-08-28 11:30:00\0338\033[0m\033[0m\0337\0338\033[6 q\033[?25h", length=132) at /usr/src/debug/konsole/konsole-23.08.0/src/Emulation.cpp:233
#15 0x00007fb2668d1637 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc01d6e4d0, r=<optimized out>, this=0x556a43309850, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#16 doActivate<false>(QObject*, int, void**) (sender=0x556a4317d950, signal_index=17, argv=0x7ffc01d6e4d0) at kernel/qobject.cpp:3925
#17 0x00007fb24081193b in Konsole::Pty::receivedData(char const*, int) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at /usr/src/debug/konsole/build/src/konsoleprivate_autogen/EWIEGA46WW/moc_Pty.cpp:154
#18 0x00007fb2408297c9 in Konsole::Pty::dataReceived() (this=0x556a4317d950) at /usr/src/debug/konsole/konsole-23.08.0/src/Pty.cpp:101
#19 0x00007fb2668d1637 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc01d6e5a0, r=<optimized out>, this=0x556a432815e0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false>(QObject*, int, void**) (sender=0x556a4317db60, signal_index=3, argv=0x7ffc01d6e5a0) at kernel/qobject.cpp:3925
#21 0x00007fb24bedd0c7 in KPtyDevicePrivate::_k_canRead() (this=0x556a43277c30) at /usr/src/debug/kpty/kpty-5.109.0/src/kptydevice.cpp:291
#22 0x00007fb24bedd369 in KPtyDevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_c=<optimized out>, _a=0x7ffc01d6e730, _id=<optimized out>, _o=<optimized out>) at /usr/src/debug/kpty/build/src/KF5Pty_autogen/include/moc_kptydevice.cpp:84
#23 KPtyDevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7ffc01d6e730) at /usr/src/debug/kpty/build/src/KF5Pty_autogen/include/moc_kptydevice.cpp:77
#24 0x00007fb2668d17f3 in doActivate<false>(QObject*, int, void**) (sender=0x556a4317dc20, signal_index=5, argv=0x7ffc01d6e730) at kernel/qobject.cpp:3937
#25 0x00007fb2668d2ea9 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (this=this@entry=0x556a4317dc20, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:185
#26 0x00007fb2668d2f9b in QSocketNotifier::event(QEvent*) (this=0x556a4317dc20, e=<optimized out>) at kernel/qsocketnotifier.h:115
#27 0x00007fb26757893f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x556a4317dc20, e=0x7ffc01d6e840) at kernel/qapplication.cpp:3640
#28 0x00007fb26689c6f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x556a4317dc20, event=0x7ffc01d6e840) at kernel/qcoreapplication.cpp:1064
#29 0x00007fb2668ea276 in socketNotifierSourceDispatch(GSource*, GSourceFunc, gpointer) (source=0x556a4276e730) at kernel/qeventdispatcher_glib.cpp:107
#30 0x00007fb26450fa31 in g_main_dispatch (context=0x7fb25c000ee0) at ../glib/glib/gmain.c:3460
#31 g_main_context_dispatch (context=0x7fb25c000ee0) at ../glib/glib/gmain.c:4200
#32 0x00007fb26456ccc9 in g_main_context_iterate.isra.0 (context=context@entry=0x7fb25c000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#33 0x00007fb26450d0e2 in g_main_context_iteration (context=0x7fb25c000ee0, may_block=1) at ../glib/glib/gmain.c:4343
#34 0x00007fb2668eb51c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x556a4276fb70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#35 0x00007fb26689b404 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc01d6eac0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#36 0x00007fb26689c8a3 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#37 0x00007fb266d3bef2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#38 0x00007fb267576cda in QApplication::exec() () at kernel/qapplication.cpp:2832
#39 0x0000556a40c93db8 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/dolphin/dolphin-23.08.0/src/main.cpp:255
[Inferior 1 (process 77531) detached]
```

SOFTWARE/OS VERSIONS
Linux: 6.4.12-zen1-1-zen (64-bit)
KDE Plasma Version: 5.27.7
KDE Frameworks Version: 5.109.0
Qt Version: 5.15.10
Comment 1 Philipp A. 2023-08-28 09:41:21 UTC
Yakuake traceback:

Application: Yakuake (yakuake), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x00007f678837197b in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:118
#7  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >&) (ptr=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1151
#8  QAction::d_func() (this=<optimized out>) at ../../include/QtWidgets/../../src/widgets/kernel/qaction.h:63
#9  QAction::setVisible(bool) (this=0x0, b=true) at kernel/qaction.cpp:1051
#10 0x00007f675a4d4144 in Konsole::Screen::setReplMode(int) (this=0x559703479400, mode=1) at /usr/src/debug/konsole/konsole-23.08.0/src/Screen.cpp:2395
#11 0x00007f675a4ef095 in Konsole::Vt102Emulation::processSessionAttributeRequest(int, unsigned int) (this=<optimized out>, tokenSize=<optimized out>, terminator=27) at /usr/src/debug/konsole/konsole-23.08.0/src/Vt102Emulation.cpp:1071
#12 0x00007f675a4e0290 in Konsole::Vt102Emulation::switchState(Konsole::Vt102Emulation::ParserStates, unsigned int) (this=this@entry=0x559703af8720, newState=newState@entry=Konsole::Vt102Emulation::Escape, cc=cc@entry=27) at /usr/src/debug/konsole/konsole-23.08.0/src/Vt102Emulation.cpp:434
#13 0x00007f675a4e0473 in Konsole::Vt102Emulation::receiveChars(QVector<unsigned int> const&) (this=0x559703af8720, chars=<optimized out>) at /usr/src/debug/konsole/konsole-23.08.0/src/Vt102Emulation.cpp:698
#14 0x00007f675a4babea in Konsole::Emulation::receiveData(char const*, int) (this=0x559703af8720, text=0x559703b72708 "\033[?25l\033[1;1H\033[J\033[38;5;10m\033]133;A\033\\/home/phil\033]133;B\033\\\033[38;5;14m\343\200\211\342\200\214\033[38;5;5m\0337\033[1;271H2023-08-28 11:40:16\0338\033[0m\033[0m\0337\0338\033[6 q\033[?25h", length=132) at /usr/src/debug/konsole/konsole-23.08.0/src/Emulation.cpp:233
#15 0x00007f67876d1637 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffb39bffa0, r=<optimized out>, this=0x55970357d1f0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#16 doActivate<false>(QObject*, int, void**) (sender=0x5597038856c0, signal_index=17, argv=0x7fffb39bffa0) at kernel/qobject.cpp:3925
#17 0x00007f675a4a893b in Konsole::Pty::receivedData(char const*, int) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at /usr/src/debug/konsole/build/src/konsoleprivate_autogen/EWIEGA46WW/moc_Pty.cpp:154
#18 0x00007f675a4c07c9 in Konsole::Pty::dataReceived() (this=0x5597038856c0) at /usr/src/debug/konsole/konsole-23.08.0/src/Pty.cpp:101
#19 0x00007f67876d1637 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffb39c0070, r=<optimized out>, this=0x55970357d0b0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false>(QObject*, int, void**) (sender=0x559703885740, signal_index=3, argv=0x7fffb39c0070) at kernel/qobject.cpp:3925
#21 0x00007f675af920c7 in KPtyDevicePrivate::_k_canRead() (this=0x5597037b7e40) at /usr/src/debug/kpty/kpty-5.109.0/src/kptydevice.cpp:291
#22 0x00007f675af92369 in KPtyDevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_c=<optimized out>, _a=0x7fffb39c0200, _id=<optimized out>, _o=<optimized out>) at /usr/src/debug/kpty/build/src/KF5Pty_autogen/include/moc_kptydevice.cpp:84
#23 KPtyDevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7fffb39c0200) at /usr/src/debug/kpty/build/src/KF5Pty_autogen/include/moc_kptydevice.cpp:77
#24 0x00007f67876d17f3 in doActivate<false>(QObject*, int, void**) (sender=0x559703885920, signal_index=5, argv=0x7fffb39c0200) at kernel/qobject.cpp:3937
#25 0x00007f67876d2ea9 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (this=this@entry=0x559703885920, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:185
#26 0x00007f67876d2f9b in QSocketNotifier::event(QEvent*) (this=0x559703885920, e=<optimized out>) at kernel/qsocketnotifier.h:115
#27 0x00007f678837893f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x559703885920, e=0x7fffb39c0310) at kernel/qapplication.cpp:3640
#28 0x00007f678769c6f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x559703885920, event=0x7fffb39c0310) at kernel/qcoreapplication.cpp:1064
#29 0x00007f67876ea276 in socketNotifierSourceDispatch(GSource*, GSourceFunc, gpointer) (source=0x559703239f70) at kernel/qeventdispatcher_glib.cpp:107
#30 0x00007f6785e81a31 in g_main_dispatch (context=0x7f677c000ee0) at ../glib/glib/gmain.c:3460
#31 g_main_context_dispatch (context=0x7f677c000ee0) at ../glib/glib/gmain.c:4200
#32 0x00007f6785edecc9 in g_main_context_iterate.isra.0 (context=context@entry=0x7f677c000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#33 0x00007f6785e7f0e2 in g_main_context_iteration (context=0x7f677c000ee0, may_block=1) at ../glib/glib/gmain.c:4343
#34 0x00007f67876eb53f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55970323cc70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#35 0x00007f678769b404 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffb39c0590, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#36 0x00007f678769c8a3 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#37 0x00007f6787b3bef2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#38 0x00007f6788376cda in QApplication::exec() () at kernel/qapplication.cpp:2832
#39 0x000055970135f017 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/yakuake/yakuake-23.08.0/app/main.cpp:74
[Inferior 1 (process 78729) detached]
Comment 2 Nicolas Fella 2023-08-28 10:29:56 UTC

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