Bug 432421 - Crash due to signal arriving during destruction of Konsole::SessionController::~SessionController
Summary: Crash due to signal arriving during destruction of Konsole::SessionController...
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: kpart (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-02 14:31 UTC by Christoph Cullmann
Modified: 2021-02-07 16:11 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 20.12.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Cullmann 2021-02-02 14:31:38 UTC
Crash on Kate shutdown, seems a recent thing in master.

Might it be altered connect's? I had similar issues after conversion of stuff inside Kate to the new C++11 variants, as stuff is disconnected later and arrives then inside the destructor of your stuff.

Application: Kate (kate), signal: Segmentation fault
Content of s_kcrashErrorMessage: [Current thread is 1 (Thread 0x7f3fe24cd8c0 (LWP 1722279))]
[KCrash Handler]
#5  KXMLGUIClient::clientBuilder (this=0x55a42b8c3258) at /local/ssd/cullmann/kde/src/frameworks/kxmlgui/src/kxmlguiclient.cpp:688
#6  0x00007f3fd3ae2311 in operator() (__closure=0x55a42ba6e660) at /local/ssd/cullmann/kde/src/kde/applications/konsole/src/session/SessionController.cpp:1770
#7  0x00007f3fd3ae3e4a in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Konsole::SessionController::showDisplayContextMenu(const QPoint&)::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7ffd70e07630) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#8  0x00007f3fd3ae3d87 in QtPrivate::Functor<Konsole::SessionController::showDisplayContextMenu(const QPoint&)::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7ffd70e07630) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#9  0x00007f3fd3ae3ca2 in QtPrivate::QFunctorSlotObject<Konsole::SessionController::showDisplayContextMenu(const QPoint&)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55a42ba6e650, r=0x55a42b8c3220, a=0x7ffd70e07630, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#10 0x00007f3fe69fcdd6 in ?? () from /usr/lib/libQt5Core.so.5
#11 0x00007f3fe69f6020 in QObject::destroyed(QObject*) () from /usr/lib/libQt5Core.so.5
#12 0x00007f3fe69fb0f7 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#13 0x00007f3fd3a38442 in Konsole::ViewProperties::~ViewProperties (this=0x55a42b8c3220, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/konsole/src/ViewProperties.cpp:22
#14 0x00007f3fd3ad4b8c in Konsole::SessionController::~SessionController (this=0x55a42b8c3220, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/konsole/src/session/SessionController.cpp:247
#15 0x00007f3fd3ad4bc4 in Konsole::SessionController::~SessionController (this=0x55a42b8c3220, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/konsole/src/session/SessionController.cpp:257
#16 0x00007f3fe69f010e in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5
#17 0x00007f3fe69faf75 in QObject::~QObject() () from /usr/lib/libQt5Core.so.5
#18 0x00007f3fd3a278bc in Konsole::ViewManager::~ViewManager (this=0x55a42b702920, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/konsole/src/ViewManager.cpp:76
#19 0x00007f3fd3a278d8 in Konsole::ViewManager::~ViewManager (this=0x55a42b702920, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/konsole/src/ViewManager.cpp:76
#20 0x00007f3fd80cdd4e in Konsole::Part::~Part (this=0x55a42b80bd20, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/konsole/src/Part.cpp:76
#21 0x00007f3fd80cddc2 in Konsole::Part::~Part (this=0x55a42b80bd20, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/konsole/src/Part.cpp:77
#22 0x00007f3fe69f010e in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5
#23 0x00007f3fe76b404e in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5
#24 0x00007f3fd9881585 in KateProjectInfoViewTerminal::~KateProjectInfoViewTerminal (this=0x55a42af0acf0, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/addons/project/kateprojectinfoviewterminal.cpp:30
#25 0x00007f3fd98815ae in KateProjectInfoViewTerminal::~KateProjectInfoViewTerminal (this=0x55a42af0acf0, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/addons/project/kateprojectinfoviewterminal.cpp:38
#26 0x00007f3fe69f010e in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5
#27 0x00007f3fe76b404e in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5
#28 0x00007f3fe782866a in QStackedWidget::~QStackedWidget() () from /usr/lib/libQt5Widgets.so.5
#29 0x00007f3fe69f010e in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5
#30 0x00007f3fe76b404e in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5
#31 0x00007f3fd987b574 in KateProjectInfoView::~KateProjectInfoView (this=0x55a42ad3e6c0, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/addons/project/kateprojectinfoview.cpp:60
#32 0x00007f3fd987b596 in KateProjectInfoView::~KateProjectInfoView (this=0x55a42ad3e6c0, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/addons/project/kateprojectinfoview.cpp:62
#33 0x00007f3fe69f010e in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5
#34 0x00007f3fe76b404e in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5
#35 0x00007f3fe782866a in QStackedWidget::~QStackedWidget() () from /usr/lib/libQt5Widgets.so.5
#36 0x00007f3fe69f010e in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5
#37 0x00007f3fe76b404e in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5
#38 0x000055a41bc53db1 in KateMDI::ToolView::~ToolView (this=0x55a42ad07c70, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/kate/katemdi.cpp:242
#39 0x000055a41bc53dd6 in KateMDI::ToolView::~ToolView (this=0x55a42ad07c70, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/kate/katemdi.cpp:245
#40 0x00007f3fd98630f0 in KateProjectPluginView::~KateProjectPluginView (this=0x55a42aee0ba0, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/addons/project/kateprojectpluginview.cpp:170
#41 0x00007f3fd98631d2 in KateProjectPluginView::~KateProjectPluginView (this=0x55a42aee0ba0, __in_chrg=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/addons/project/kateprojectpluginview.cpp:179
#42 0x000055a41bc67978 in KatePluginManager::disablePluginGUI (this=0x7ffd70e08660, item=0x55a42a9ded30, win=0x55a41d2b3440) at /local/ssd/cullmann/kde/src/kde/applications/kate/kate/katepluginmanager.cpp:271
#43 0x000055a41bc672f4 in KatePluginManager::disableAllPluginsGUI (this=0x7ffd70e08660, win=0x55a41d2b3440) at /local/ssd/cullmann/kde/src/kde/applications/kate/kate/katepluginmanager.cpp:178
#44 0x000055a41bc40454 in KateMainWindow::~KateMainWindow (this=0x55a41d2b3440, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/kate/katemainwindow.cpp:196
#45 0x000055a41bc405b4 in KateMainWindow::~KateMainWindow (this=0x55a41d2b3440, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /local/ssd/cullmann/kde/src/kde/applications/kate/kate/katemainwindow.cpp:209
#46 0x00007f3fe69f2340 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#47 0x00007f3fe8685fd3 in KMainWindow::event (this=0x55a41d2b3440, ev=0x55a42cfa1ad0) at /local/ssd/cullmann/kde/src/frameworks/kxmlgui/src/kmainwindow.cpp:913
#48 0x00007f3fe86d33c1 in KXmlGuiWindow::event (this=0x55a41d2b3440, ev=0x55a42cfa1ad0) at /local/ssd/cullmann/kde/src/frameworks/kxmlgui/src/kxmlguiwindow.cpp:109
#49 0x000055a41bc493e8 in KateMainWindow::event (this=0x55a41d2b3440, e=0x55a42cfa1ad0) at /local/ssd/cullmann/kde/src/kde/applications/kate/kate/katemainwindow.cpp:1177
#50 0x00007f3fe7677752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#51 0x00007f3fe69c5a7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#52 0x00007f3fe69c8573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#53 0x00007f3fe6a1f0a4 in ?? () from /usr/lib/libQt5Core.so.5
#54 0x00007f3fe4935a84 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#55 0x00007f3fe49899b1 in ?? () from /usr/lib/libglib-2.0.so.0
#56 0x00007f3fe49342b1 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#57 0x00007f3fe6a1e6e1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#58 0x00007f3fe69c43fc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#59 0x00007f3fe69cc894 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#60 0x000055a41bc2d607 in main (argc=1, argv=0x7ffd70e087f8) at /local/ssd/cullmann/kde/src/kde/applications/kate/kate/main.cpp:693
[Inferior 1 (process 1722279) detached]
Comment 1 Bug Janitor Service 2021-02-03 20:49:54 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/338
Comment 2 Christoph Cullmann 2021-02-03 20:55:37 UTC
I think the improved handling of d-pointers with std::unique_ptr uncovers now not that nice bugs :/
Comment 3 Friedrich W. H. Kossebau 2021-02-05 05:59:59 UTC
Git commit c8c0e88738154485ddeed538bf62a86a0c9ba8d1 by Friedrich W. H. Kossebau.
Committed on 04/02/2021 at 08:17.
Pushed by kossebau into branch 'master'.

Avoid a crash in broken Konsole code for now, waiting for fix release

NO_CHANGELOG

M  +2    -0    src/kxmlguiclient.cpp
M  +3    -1    src/kxmlguiclient.h

https://invent.kde.org/frameworks/kxmlgui/commit/c8c0e88738154485ddeed538bf62a86a0c9ba8d1
Comment 4 David Faure 2021-02-06 09:43:53 UTC
Git commit 0bc553fd5134d3774e9a6b400a67ee601695b72f by David Faure, on behalf of Christoph Cullmann.
Committed on 06/02/2021 at 09:43.
Pushed by dfaure into branch 'master'.

delete client builder before d-pointer of KXMLGUIClient is killed

M  +3    -4    src/session/SessionController.cpp
M  +3    -0    src/session/SessionController.h

https://invent.kde.org/utilities/konsole/commit/0bc553fd5134d3774e9a6b400a67ee601695b72f
Comment 5 Friedrich W. H. Kossebau 2021-02-06 16:21:40 UTC
Git commit 392ce42f5e6a1fdbaf398945b271e2d5b93ee255 by Friedrich W. H. Kossebau.
Committed on 06/02/2021 at 16:21.
Pushed by kossebau into branch 'release/20.12'.

Delete client builder before d-pointer of KXMLGUIClient is killed
(cherry picked from commit 0bc553fd5134d3774e9a6b400a67ee601695b72f)

M  +3    -4    src/session/SessionController.cpp
M  +3    -0    src/session/SessionController.h

https://invent.kde.org/utilities/konsole/commit/392ce42f5e6a1fdbaf398945b271e2d5b93ee255