Bug 472950

Summary: Kate crashes when displaying any konsole / terminal
Product: [Applications] konsole Reporter: brainpower <f.baumg>
Component: kpartAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED DUPLICATE    
Severity: crash CC: christoph
Priority: NOR Keywords: drkonqi
Version: 23.07.80   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description brainpower 2023-08-03 11:30:30 UTC
Application: kate (23.07.80)

Qt Version: 5.15.10
Frameworks Version: 5.108.0
Operating System: Linux 6.4.7-arch1-1 x86_64
Windowing System: X11
Distribution: "Arch Linux"
DrKonqi: 5.27.6 [KCrashBackend]

-- Information about the crash:
When Kate resumes a session where the terminal was  open, it crashes immediately.
Else it crashes whenever the terminal shoud get rendered.

I reproduced the latter with `kate --startanon` to avoid this being related to a corrupt session.
Konsole started standalone (e.g. not embedded) seems fine.
Also tried with rebuilt packages, but that did not help.

I see a null pointer deref about to happen at #9 in the backtrace, where this=0x0.


% pacman -Q konsole kate qt5-base
konsole 23.07.80-1
kate 23.07.80-1
qt5-base 5.15.10+kde+r145-1

The crash can be reproduced every time.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x00007f7e69b7197b 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:1149
#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 0x00007f7e3eed20a4 in Konsole::Screen::setReplMode(int) () at /usr/lib/libkonsoleprivate.so.1
#11 0x00007f7e3eeed025 in Konsole::Vt102Emulation::processSessionAttributeRequest(int, unsigned int) () at /usr/lib/libkonsoleprivate.so.1
#12 0x00007f7e3eede220 in Konsole::Vt102Emulation::switchState(Konsole::Vt102Emulation::ParserStates, unsigned int) () at /usr/lib/libkonsoleprivate.so.1
#13 0x00007f7e3eede5ac in Konsole::Vt102Emulation::receiveChars(QVector<unsigned int> const&) () at /usr/lib/libkonsoleprivate.so.1
#14 0x00007f7e3eeb8b8a in Konsole::Emulation::receiveData(char const*, int) () at /usr/lib/libkonsoleprivate.so.1
#15 0x00007f7e68ed15a7 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd6b376dc0, r=<optimized out>, this=0x55c3c287b4f0, 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=0x55c3c2878930, signal_index=17, argv=0x7ffd6b376dc0) at kernel/qobject.cpp:3925
#17 0x00007f7e3eea68cb in Konsole::Pty::receivedData(char const*, int) () at /usr/lib/libkonsoleprivate.so.1
#18 0x00007f7e3eebe769 in Konsole::Pty::dataReceived() () at /usr/lib/libkonsoleprivate.so.1
#19 0x00007f7e68ed15a7 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd6b376e90, r=<optimized out>, this=0x55c3c287b3b0, 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=0x55c3c2878b60, signal_index=3, argv=0x7ffd6b376e90) at kernel/qobject.cpp:3925
#21 0x00007f7e4c07b0c7 in KPtyDevicePrivate::_k_canRead() (this=0x55c3c286b170) at /usr/src/debug/kpty/kpty-5.108.0/src/kptydevice.cpp:291
#22 0x00007f7e4c07b369 in KPtyDevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_c=<optimized out>, _a=0x7ffd6b377020, _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=0x7ffd6b377020) at /usr/src/debug/kpty/build/src/KF5Pty_autogen/include/moc_kptydevice.cpp:77
#24 0x00007f7e68ed1763 in doActivate<false>(QObject*, int, void**) (sender=0x55c3c287acd0, signal_index=5, argv=0x7ffd6b377020) at kernel/qobject.cpp:3937
#25 0x00007f7e68ed2e19 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (this=this@entry=0x55c3c287acd0, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:185
#26 0x00007f7e68ed2f0b in QSocketNotifier::event(QEvent*) (this=0x55c3c287acd0, e=<optimized out>) at kernel/qsocketnotifier.h:115
#27 0x00007f7e69b7893f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55c3c287acd0, e=0x7ffd6b377130) at kernel/qapplication.cpp:3640
#28 0x00007f7e68e9c668 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55c3c287acd0, event=0x7ffd6b377130) at kernel/qcoreapplication.cpp:1064
#29 0x00007f7e68eea236 in socketNotifierSourceDispatch(GSource*, GSourceFunc, gpointer) (source=0x55c3c096dfb0) at kernel/qeventdispatcher_glib.cpp:107
#30 0x00007f7e6670fa31 in g_main_dispatch (context=0x7f7e5c000ee0) at ../glib/glib/gmain.c:3460
#31 g_main_context_dispatch (context=0x7f7e5c000ee0) at ../glib/glib/gmain.c:4200
#32 0x00007f7e6676ccc9 in g_main_context_iterate.isra.0 (context=context@entry=0x7f7e5c000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#33 0x00007f7e6670d0e2 in g_main_context_iteration (context=0x7f7e5c000ee0, may_block=1) at ../glib/glib/gmain.c:4343
#34 0x00007f7e68eeb4cc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55c3c09731b0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#35 0x00007f7e68e9b374 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd6b3773b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#36 0x00007f7e68e9c813 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#37 0x000055c3be95f60e in  ()
#38 0x00007f7e68639850 in __libc_start_call_main (main=main@entry=0x55c3be95e070, argc=argc@entry=4, argv=argv@entry=0x7ffd6b377908) at ../sysdeps/nptl/libc_start_call_main.h:58
#39 0x00007f7e6863990a in __libc_start_main_impl (main=0x55c3be95e070, argc=4, argv=0x7ffd6b377908, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd6b3778f8) at ../csu/libc-start.c:360
#40 0x000055c3be961ab5 in  ()
[Inferior 1 (process 605726) detached]

Reported using DrKonqi
Comment 1 Antonio Rojas 2023-08-27 14:09:50 UTC
Bug 473043 is newer but contains a better backtrace

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