krita-5.1.0-prealpha-e2a04dd SUMMARY Krita segfaults when the user closes Krita while a session (resource) is being opened. This occurs in both Krita 4 and Krita 5. STEPS TO REPRODUCE 1. In the session manager, switch to a particular session. 2. Close Krita while the session is in the process of being opened. OBSERVED RESULT A segfault is observed in the terminal. EXPECTED RESULT No segfault. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Debian sid KDE Plasma Version: 5.23.0 KDE Frameworks Version: 5.86.0 Qt Version: 5.12.11 (Appimage)
Can confirm the crash. I have investigated this crash in the past, the reason for this seems to be that KisViewManager is destroyed before destroying its dependents. ``` Thread 1 "krita" received signal SIGSEGV, Segmentation fault. KisMainWindow::viewManager (this=0x0) at /home/sh_zam/workspace/krita/libs/ui/KisMainWindow.cpp:1975 1975 return d->viewManager; (gdb) bt #0 KisMainWindow::viewManager() const (this=0x0) at /home/sh_zam/workspace/krita/libs/ui/KisMainWindow.cpp:1975 #1 0x00007ffff7e4656d in KisMainWindow::notifyChildViewDestroyed(KisView*) (this=0x0, view=0x555555fa16a0) at /home/sh_zam/workspace/krita/libs/ui/KisMainWindow.cpp:716 #2 0x00007ffff7e8a5aa in KisView::~KisView() (this=0x555555fa16a0) at /home/sh_zam/workspace/krita/libs/ui/KisView.cpp:248 #3 0x00007ffff7e8a7d9 in KisView::~KisView() (this=0x555555fa16a0) at /home/sh_zam/workspace/krita/libs/ui/KisView.cpp:242 #4 0x00007ffff2b5ca8e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5 #5 0x00007ffff365c47e in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5 #6 0x00007ffff37a510e in QMdiSubWindow::~QMdiSubWindow() () at /usr/lib/libQt5Widgets.so.5 #7 0x00007ffff2b5ca8e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5 #8 0x00007ffff365c47e in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5 #9 0x00007ffff365c7fe in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5 #10 0x00007ffff2b5ca8e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5 #11 0x00007ffff365c47e in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5 #12 0x00007ffff378f05e in QMdiArea::~QMdiArea() () at /usr/lib/libQt5Widgets.so.5 #13 0x00007ffff2b5ca8e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5 #14 0x00007ffff365c47e in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5 #15 0x00007ffff37e09be in QStackedWidget::~QStackedWidget() () at /usr/lib/libQt5Widgets.so.5 #16 0x00007ffff2b5ca8e in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5 #17 0x00007ffff365c47e in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5 #18 0x00007ffff536a44d in KMainWindow::~KMainWindow() (this=0x555558fb2bd0) at /home/sh_zam/workspace/krita/libs/widgetutils/xmlgui/kmainwindow.cpp:342 #19 0x00007ffff53b0a63 in KXmlGuiWindow::~KXmlGuiWindow() (this=0x555558fb2bd0, vtt=0x7ffff7f97da8 <VTT for KisMainWindow+8>) at /home/sh_zam/workspace/krita/libs/widgetutils/xmlgui/kxmlguiwindow.cpp:109 #20 0x00007ffff7e4539d in KisMainWindow::~KisMainWindow() (this=0x555558fb2bd0, vtt=0x7ffff7f97da0 <VTT for KisMainWindow>) at /home/sh_zam/workspace/krita/libs/ui/KisMainWindow.cpp:677 #21 0x00007ffff7e45410 in KisMainWindow::~KisMainWindow() (this=0x555558fb2bd0) at /home/sh_zam/workspace/krita/libs/ui/KisMainWindow.cpp:650 #22 0x00007ffff7e454c9 in KisMainWindow::~KisMainWindow() (this=0x555558fb2bd0) at /home/sh_zam/workspace/krita/libs/ui/KisMainWindow.cpp:650 #23 0x00007ffff2b5ee74 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5 ```