Bug 463501 - pykrita dockers: SIGSEGV when docking
Summary: pykrita dockers: SIGSEGV when docking
Status: RESOLVED UPSTREAM
Alias: None
Product: krita
Classification: Applications
Component: Dockers (show other bugs)
Version: 5.1.4
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-26 21:03 UTC by dirtyice
Modified: 2023-06-22 13:55 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
valgrind output (123.46 KB, text/plain)
2022-12-26 22:31 UTC, dirtyice
Details

Note You need to log in before you can comment on or make changes to this bug.
Description dirtyice 2022-12-26 21:03:09 UTC
SUMMARY
Trying to dock a docker created by pykrita (either floating, or already docked somewhere else) causes a SIGSEGV. Originally I found this problem with a third-party plugin, but then I reproduced it with the built-in comic manager and last documents pykrita plugins, so I think this is a problem with pykrita and not the actual python scripts. Also, I can dock built-in dockers without problem, only dockers created by python scripts crash.

>>> bt full
#0  0x0000000000000000 in  ()
#1  0x00007ffff5a94319 in QMetaObject::cast(QObject const*) const (this=0x7ffff6c97b40 <QWidgetWindow::staticMetaObject>, obj=0x555559f45e50) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qmetaobject.cpp:389
#2  0x00007ffff5a94355 in QMetaObject::cast(QObject*) const (this=<optimized out>, obj=<optimized out>) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qmetaobject.cpp:378
#3  0x00007ffff679b53b in qobject_cast<QWidgetWindow*>(QObject*) (object=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/include/QtCore/../../src/corelib/kernel/qobject.h:519
        q = 0x555559f45950
        window = <optimized out>
#4  QWidgetPrivate::show_sys() (this=this@entry=0x555559f459d0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.cpp:7869
        q = 0x555559f45950
        window = <optimized out>
#5  0x00007ffff67a482b in QWidgetPrivate::show_helper() (this=0x555559f459d0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.cpp:7839
        q = 0x555559f45950
        isWindow = <optimized out>
        isEmbedded = false
        showEvent = {
          <QEvent> = {
            _vptr.QEvent = 0x7ffff64538e0 <vtable for QShowEvent+16>,
            static staticMetaObject = {
              d = {
                superdata = {
                  direct = 0x0
                },
                stringdata = 0x7ffff5c3f320 <qt_meta_stringdata_QEvent>,
                data = 0x7ffff5c3ed60 <qt_meta_data_QEvent>,
                static_metacall = 0x0,
                relatedMetaObjects = 0x0,
                extradata = 0x0
              }
            },
            d = 0x0,
            t = 17,
            posted = 0,
            spont = 0,
            m_accept = 1,
            reserved = 2878
          }, <No data fields>}
#6  0x00007ffff67a45fb in QWidgetPrivate::show_recursive() (this=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.cpp:7716
#7  0x00007ffff67a4789 in QWidgetPrivate::showChildren(bool) (this=this@entry=0x555559f3ecc0, spontaneous=spontaneous@entry=false) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.h:132
        widget = <optimized out>
        i = 2
        childList = {
          <QListSpecialMethods<QObject*>> = {<No data fields>},
          members of QList<QObject*>:
          {
            p = {
              static shared_null = {
                ref = {
                  atomic = {
                    _q_value = std::atomic<int> = { -1 }
                  }
                },
                alloc = 0,
                begin = 0,
                end = 0,
                array = {[0] = 0x0}
              },
              d = 0x555559f48200
            },
            d = 0x555559f48200
          }
        }
#8  0x00007ffff67a47ff in QWidgetPrivate::show_helper() (this=0x555559f3ecc0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.cpp:7792
        q = 0x555559f3bff0
        isWindow = <optimized out>
        isEmbedded = <optimized out>
        showEvent = {
          <QEvent> = {
            _vptr.QEvent = 0x555559f3b080,
            static staticMetaObject = {
              d = {
                superdata = {
                  direct = 0x0
                },
                stringdata = 0x7ffff5c3f320 <qt_meta_stringdata_QEvent>,
                data = 0x7ffff5c3ed60 <qt_meta_data_QEvent>,
                static_metacall = 0x0,
                relatedMetaObjects = 0x0,
                extradata = 0x0
              }
            },
            d = 0x7ffff679a7a7 <QWidget::setAttribute(Qt::WidgetAttribute, bool)+295>,
            t = 0,
            posted = 0,
            spont = 0,
            m_accept = 0,
            reserved = 0
          }, <No data fields>}
#9  0x00007ffff67a45fb in QWidgetPrivate::show_recursive() (this=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.cpp:7716
#10 0x00007ffff67a4789 in QWidgetPrivate::showChildren(bool) (this=this@entry=0x555559f398b0, spontaneous=spontaneous@entry=false) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.h:132
        widget = <optimized out>
        i = 4
        childList = {
          <QListSpecialMethods<QObject*>> = {<No data fields>},
          members of QList<QObject*>:
          {
            p = {
              static shared_null = {
                ref = {
                  atomic = {
                    _q_value = std::atomic<int> = { -1 }
                  }
                },
                alloc = 0,
                begin = 0,
                end = 0,
                array = {[0] = 0x0}
              },
              d = 0x555559f4eb00
            },
            d = 0x555559f4eb00
          }
        }
#11 0x00007ffff67a47ff in QWidgetPrivate::show_helper() (this=this@entry=0x555559f398b0) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.cpp:7792
        q = 0x555559f3b080
        isWindow = <optimized out>
        isEmbedded = <optimized out>
        showEvent = {
          <QEvent> = {
            _vptr.QEvent = 0x555557c0f870,
            static staticMetaObject = {
              d = {
                superdata = {
                  direct = 0x0
                },
                stringdata = 0x7ffff5c3f320 <qt_meta_stringdata_QEvent>,
                data = 0x7ffff5c3ed60 <qt_meta_data_QEvent>,
                static_metacall = 0x0,
                relatedMetaObjects = 0x0,
                extradata = 0x0
              }
            },
            d = 0x0,
            t = 49264,
            posted = 1,
            spont = 0,
            m_accept = 1,
            reserved = 2809
          }, <No data fields>}
#12 0x00007ffff67a77d3 in QWidgetPrivate::setVisible(bool) (this=0x555559f398b0, visible=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.cpp:8135
        pw = <optimized out>
        wasResized = true
        initialWindowState = {
          i = 0
        }
        needUpdateGeometry = <optimized out>
        showToParentEvent = {
          _vptr.QEvent = 0x1,
          static staticMetaObject = {
            d = {
              superdata = {
                direct = 0x0
              },
              stringdata = 0x7ffff5c3f320 <qt_meta_stringdata_QEvent>,
              data = 0x7ffff5c3ed60 <qt_meta_data_QEvent>,
              static_metacall = 0x0,
              relatedMetaObjects = 0x0,
              extradata = 0x0
            }
          },
          d = 0x0,
          t = 2904,
          posted = 1,
          spont = 0,
          m_accept = 1,
          reserved = 2809
        }
        q = 0x555559f3b080
#13 0x00007ffff67a7ab2 in QWidget::setVisible(bool) (this=this@entry=0x555559f3b080, visible=visible@entry=true) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidget.cpp:8067
        d = <optimized out>
#14 0x00007fffbb14878b in sipDockWidget::setVisible(bool) (this=0x555559f3b080, a0=<optimized out>) at /usr/src/debug/media-gfx/krita-5.1.4-r1/krita-5.1.4_build/plugins/extensions/pykrita/sip/_tmp/krita/sipkritapart0.cpp:25244
        sipGILState = (PyGILState_UNLOCKED | unknown: 0x5554)
        sipMeth = <optimized out>
#15 0x00007ffff688d9b8 in QDockWidgetPrivate::setWindowState(bool, bool, QRect const&) (this=0x555559f398b0, floating=floating@entry=false, unplug=unplug@entry=false, rect=...) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qdockwidget.cpp:1179
        q = 0x555559f3b080
        wasFloating = <optimized out>
        hidden = false
        flags = {
          i = <optimized out>
        }
        dwLayout = <optimized out>
        nativeDeco = false
#16 0x00007ffff688da3c in QDockWidgetPrivate::plug(QRect const&) (this=<optimized out>, rect=...) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qdockwidget.cpp:1132
#17 0x00007ffff68d11b6 in QMainWindowLayout::animationFinished(QWidget*) (this=0x555557cd0590, widget=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qmainwindowlayout.cpp:2244
        dw = 0x555559f3b080
#18 0x00007ffff685bc59 in QWidgetAnimator::animate(QWidget*, QRect const&, bool) (this=this@entry=0x555557cd0b30, widget=<optimized out>, widget@entry=0x555559f3b080, _final_geometry=..., animate=false) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qwidgetanimator.cpp:120
        animationDuration = 0
        final_geometry = {
          x1 = 1627,
          y1 = 641,
          x2 = 1920,
          y2 = 978
        }
#19 0x00007ffff68cdcbc in QMainWindowLayout::plug(QLayoutItem*) (this=this@entry=0x555557cd0590, widgetItem=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qmainwindowlayout.cpp:2167
        widget = 0x555559f3b080
        groups = {
          <QListSpecialMethods<QDockWidgetGroupWindow*>> = {<No data fields>},
          members of QList<QDockWidgetGroupWindow*>:
          {
            p = {
              static shared_null = {
                ref = {
                  atomic = {
                    _q_value = std::atomic<int> = { -1 }
                  }
                },
                alloc = 0,
                begin = 0,
                end = 0,
                array = {[0] = 0x0}
              },
              d = 0x7ffff5b605f0 <QListData::shared_null>
            },
            d = 0x7ffff5b605f0 <QListData::shared_null>
          }
        }
        previousPath = {
          <QListSpecialMethods<int>> = {<No data fields>},
          members of QList<int>:
          {
            p = {
              static shared_null = {
                ref = {
                  atomic = {
                    _q_value = std::atomic<int> = { -1 }
                  }
                },
                alloc = 0,
                begin = 0,
                end = 0,
                array = {[0] = 0x0}
              },
              d = 0x7fffcc007750
            },
            d = 0x7fffcc007750
          }
        }
        it = <optimized out>
        globalRect = {
          x1 = 1627,
          y1 = 641,
          x2 = 1920,
          y2 = 978
        }
#20 0x00007ffff688c8ea in QDockWidgetPrivate::endDrag(bool) (this=this@entry=0x555559f398b0, abort=abort@entry=false) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qdockwidget.cpp:848
        mainWindow = 0x555557c0f870
        mwLayout = 0x555557cd0590
        q = 0x555559f3b080
#21 0x00007ffff68903f1 in QDockWidgetPrivate::mouseReleaseEvent(QMouseEvent*) (event=0x7fffffffc700, this=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qdockwidget.cpp:1022
        d = <optimized out>
        win = 0x555557c0f870
        layout = <optimized out>
#22 QDockWidgetPrivate::mouseReleaseEvent(QMouseEvent*) (event=0x7fffffffc700, this=<optimized out>) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qdockwidget.cpp:1017
        d = <optimized out>
        win = 0x555557c0f870
        layout = <optimized out>
#23 QDockWidget::event(QEvent*) (this=this@entry=0x555559f3b080, event=event@entry=0x7fffffffc700) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/widgets/qdockwidget.cpp:1597
        d = <optimized out>
        win = 0x555557c0f870
        layout = <optimized out>
#24 0x00007fffbb153ecb in sipDockWidget::event(QEvent*) (this=0x555559f3b080, a0=0x7fffffffc700) at /usr/src/debug/media-gfx/krita-5.1.4-r1/krita-5.1.4_build/plugins/extensions/pykrita/sip/_tmp/krita/sipkritapart0.cpp:25306
        sipGILState = (PyGILState_UNLOCKED | unknown: 0x5554)
        sipMeth = <optimized out>
#25 0x00007ffff67633fe in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x555555e81150, receiver=receiver@entry=0x555559f3b080, e=e@entry=0x7fffffffc700) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qapplication.cpp:3637
        consumed = false
        filtered = false
#26 0x00007ffff676bea0 in QApplication::notify(QObject*, QEvent*) (this=this@entry=0x7fffffffcff0, receiver=receiver@entry=0x555559f3b080, e=e@entry=0x7fffffffc700) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qapplication.cpp:3081
        me = {
          <QInputEvent> = {
            <QEvent> = {
              _vptr.QEvent = 0x7ffff64535a0 <vtable for QMouseEvent+16>,
              static staticMetaObject = {
                d = {
                  superdata = {
                    direct = 0x0
                  },
                  stringdata = 0x7ffff5c3f320 <qt_meta_stringdata_QEvent>,
                  data = 0x7ffff5c3ed60 <qt_meta_data_QEvent>,
                  static_metacall = 0x0,
                  relatedMetaObjects = 0x0,
                  extradata = 0x0
                }
              },
              d = 0x0,
              t = 3,
              posted = 0,
              spont = 1,
              m_accept = 1,
              reserved = 0
            },
            members of QInputEvent:
            modState = {
              i = 0
            },
            ts = 73748715
          },
          members of QMouseEvent:
          l = {
            xp = 41,
            yp = 7
          },
          w = {
            xp = 41,
            yp = 7
          },
          s = {
            xp = 1734,
            yp = 886
          },
          b = Qt::LeftButton,
          mouseState = {
            i = 0
          },
          caps = 0,
          velocity = {
            v = {[0] = 0, [1] = 0}
          }
        }
        w = 0x555559f3b080
        mouse = 0x7fffffffc700
        eventAccepted = <optimized out>
        relpos = {
          xp = 41,
          yp = 7
        }
        d = 0x555555e81150
        res = false
#27 0x00007ffff7aeb79e in KisApplication::notify(QObject*, QEvent*) (this=0x7fffffffcff0, receiver=0x555559f3b080, event=0x7fffffffc700) at /usr/src/debug/media-gfx/krita-5.1.4-r1/krita-5.1.4/libs/ui/KisApplication.cpp:762
        guard = {
          m_info = 0x5555565759a0
        }
        result = true
        info = @0x5555565759a0: {
          eventRecursionCount = 2,
          postponedSynchronizationEvents = std::queue wrapping: std::deque with 0 elements
        }
#28 0x00007ffff5a8b548 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555559f3b080, event=0x7fffffffc700) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {[0] = 0x555559f3b080, [1] = 0x7fffffffc700, [2] = 0x7fffffffc4ef}
        d = <optimized out>
        threadData = 0x555555e6cc80
        scopeLevelCounter = {
          threadData = 0x555555e6cc80
        }
#29 0x00007ffff6769ef4 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (receiver=receiver@entry=0x555559f3b080, event=event@entry=0x7fffffffc700, alienWidget=<optimized out>, nativeWidget=0x555559f3b080, buttonDown=buttonDown@entry=0x7ffff6cc43d0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qapplication.cpp:2619
        graphicsWidget = false
        widgetUnderMouse = <optimized out>
        wasLeaveAfterRelease = <optimized out>
        result = true
#30 0x00007ffff67c1565 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x555559f3d730, event=0x7fffffffca50) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidgetwindow.cpp:683
        translated = {
          <QInputEvent> = {
            <QEvent> = {
              _vptr.QEvent = 0x7ffff64535a0 <vtable for QMouseEvent+16>,
              static staticMetaObject = {
                d = {
                  superdata = {
                    direct = 0x0
                  },
                  stringdata = 0x7ffff5c3f320 <qt_meta_stringdata_QEvent>,
                  data = 0x7ffff5c3ed60 <qt_meta_data_QEvent>,
                  static_metacall = 0x0,
                  relatedMetaObjects = 0x0,
                  extradata = 0x0
                }
              },
              d = 0x0,
              t = 3,
              posted = 0,
              spont = 1,
              m_accept = 1,
              reserved = 8191
            },
            members of QInputEvent:
            modState = {
              i = 0
            },
            ts = 73748715
          },
          members of QMouseEvent:
          l = {
            xp = 41,
            yp = 7
          },
          w = {
            xp = 41,
            yp = 7
          },
          s = {
            xp = 1734,
            yp = 886
          },
          b = Qt::LeftButton,
          mouseState = {
            i = 0
          },
          caps = 0,
          velocity = {
            v = {[0] = 0, [1] = 0}
          }
        }
        contextMenuTrigger = QEvent::MouseButtonPress
        widget = <optimized out>
        mapped = {
          xp = 41,
          yp = 7
        }
        initialPress = <optimized out>
        receiver = 0x555559f3b080
#31 0x00007ffff67c49d8 in QWidgetWindow::event(QEvent*) (this=0x555559f3d730, event=0x7fffffffca50) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qwidgetwindow.cpp:300
#32 0x00007ffff67633fe in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x4044800000000000, receiver=receiver@entry=0x555559f3d730, e=0x7fffffffca50) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qapplication.cpp:3637
        consumed = false
        filtered = false
#33 0x00007ffff676acaf in QApplication::notify(QObject*, QEvent*) (this=this@entry=0x7fffffffcff0, receiver=receiver@entry=0x555559f3d730, e=e@entry=0x7fffffffca50) at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qapplication.cpp:3383
        w = <optimized out>
        extra = <optimized out>
        isProxyWidget = <optimized out>
        d = 0x4044800000000000
        res = false
#34 0x00007ffff7aeb79e in KisApplication::notify(QObject*, QEvent*) (this=0x7fffffffcff0, receiver=0x555559f3d730, event=0x7fffffffca50) at /usr/src/debug/media-gfx/krita-5.1.4-r1/krita-5.1.4/libs/ui/KisApplication.cpp:762
        guard = {
          m_info = 0x5555565759a0
        }
        result = true
        info = @0x5555565759a0: {
          eventRecursionCount = 2,
          postponedSynchronizationEvents = std::queue wrapping: std::deque with 0 elements
        }
#35 0x00007ffff5a8b548 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555559f3d730, event=0x7fffffffca50) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {[0] = 0x555559f3d730, [1] = 0x7fffffffca50, [2] = 0x7fffffffc8ef}
        d = <optimized out>
        threadData = 0x555555e6cc80
        scopeLevelCounter = {
          threadData = 0x555555e6cc80
        }
#36 0x00007ffff5f27426 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x555559eea650) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qguiapplication.cpp:2285
        type = QEvent::MouseButtonRelease
        button = <optimized out>
        window = <optimized out>
        positionChanged = <optimized out>
        mouseMove = <optimized out>
        mousePress = <optimized out>
        localPoint = {
          xp = 41,
          yp = 7
        }
        globalPoint = {
          xp = 1734,
          yp = 886
        }
        doubleClick = false
        ev = {
          <QInputEvent> = {
            <QEvent> = {
              _vptr.QEvent = 0x7ffff64535a0 <vtable for QMouseEvent+16>,
              static staticMetaObject = {
                d = {
                  superdata = {
                    direct = 0x0
                  },
                  stringdata = 0x7ffff5c3f320 <qt_meta_stringdata_QEvent>,
                  data = 0x7ffff5c3ed60 <qt_meta_data_QEvent>,
                  static_metacall = 0x0,
                  relatedMetaObjects = 0x0,
                  extradata = 0x0
                }
              },
              d = 0x0,
              t = 3,
              posted = 0,
              spont = 1,
              m_accept = 1,
              reserved = 2755
            },
            members of QInputEvent:
            modState = {
              i = 0
            },
            ts = 73748715
          },
          members of QMouseEvent:
          l = {
            xp = 41,
            yp = 7
          },
          w = {
            xp = 41,
            yp = 7
          },
          s = {
            xp = 1734,
            yp = 886
          },
          b = Qt::LeftButton,
          mouseState = {
            i = 0
          },
          caps = 0,
          velocity = {
            v = {[0] = 0, [1] = 0}
          }
        }
#37 0x00007ffff5f0640b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=flags@entry=...) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qwindowsysteminterface.cpp:1169
        event = 0x555559eea650
        nevents = 1
#38 0x00007ffff0515e4a in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
        xcbEventSource = <optimized out>
        flags = {
          i = 36
        }
#39 0x00007ffff3e0c838 in g_main_dispatch (context=0x7fffe8005010) at ../glib-2.74.4/glib/gmain.c:3454
        dispatch = 0x7ffff0515e30 <xcbSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = <optimized out>
        cb_data = <optimized out>
        need_destroy = <optimized out>
        source = 0x55555620e840
        current = 0x555556944780
        i = 1
        __func__ = "g_main_dispatch"
#40 g_main_context_dispatch (context=context@entry=0x7fffe8005010) at ../glib-2.74.4/glib/gmain.c:4172
#41 0x00007ffff3e0cad8 in g_main_context_iterate (context=context@entry=0x7fffe8005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.74.4/glib/gmain.c:4248
        max_priority = 2147483647
        timeout = 525
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 4
        fds = 0x55555cf613e0
#42 0x00007ffff3e0cb6c in g_main_context_iteration (context=0x7fffe8005010, may_block=1) at ../glib-2.74.4/glib/gmain.c:4313
        retval = <optimized out>
#43 0x00007ffff5ae06f6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555561b43c0, flags=...) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qeventdispatcher_glib.cpp:423
        d = 0x555555ef5460
        canWait = true
        savedFlags = {
          i = 0
        }
        result = <optimized out>
#44 0x00007ffff5a89f5b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffcda0, flags=..., flags@entry=...) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x5555569884c0
        threadData = <optimized out>
        locker = {
          val = 93825001770360
        }
        app = <optimized out>
#45 0x00007ffff5a92246 in QCoreApplication::exec() () at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/include/QtCore/../../src/corelib/global/qflags.h:121
        threadData = 0x555555e6cc80
        eventLoop = {
          <QObject> = {
            _vptr.QObject = 0x7ffff5d62f08 <vtable for QEventLoop+16>,
            static staticMetaObject = {
              d = {
                superdata = {
                  direct = 0x0
                },
                stringdata = 0x7ffff5c43a20 <qt_meta_stringdata_QObject>,
                data = 0x7ffff5c43900 <qt_meta_data_QObject>,
                static_metacall = 0x7ffff5abe4c0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                relatedMetaObjects = 0x0,
                extradata = 0x0
              }
            },
            d_ptr = {
              d = 0x5555569884c0
            },
            static staticQtMetaObject = {
              d = {
                superdata = {
                  direct = 0x0
                },
                stringdata = 0x7ffff5c469c0 <qt_meta_stringdata_Qt>,
                data = 0x7ffff5c43b40 <qt_meta_data_Qt>,
                static_metacall = 0x0,
                relatedMetaObjects = 0x0,
                extradata = 0x0
              }
            }
          },
          members of QEventLoop:
          static staticMetaObject = {
            d = {
              superdata = {
                direct = 0x7ffff5d5a780 <QObject::staticMetaObject>
              },
              stringdata = 0x7ffff5c3e1c0 <qt_meta_stringdata_QEventLoop>,
              data = 0x7ffff5c3e160 <qt_meta_data_QEventLoop>,
              static_metacall = 0x7ffff5a89c70 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
              relatedMetaObjects = 0x0,
              extradata = 0x0
            }
          }
        }
        returnCode = <optimized out>
#46 0x00007ffff5f1bcbc in QGuiApplication::exec() () at /usr/src/debug/dev-qt/qtgui-5.15.7-r1/qtbase-everywhere-src-5.15.7/src/gui/kernel/qguiapplication.cpp:1870
#47 0x00007ffff6763375 in QApplication::exec() () at /usr/src/debug/dev-qt/qtwidgets-5.15.7/qtbase-everywhere-src-5.15.7/src/widgets/kernel/qapplication.cpp:2829
#48 0x000055555555d412 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/media-gfx/krita-5.1.4-r1/krita-5.1.4/krita/main.cc:721
        runningInKDE = false
        key = {
          d = 0x555555e6c630
        }
        configPath = {
          d = 0x555555e6c6e0
        }
        kritarc = {
          <QObject> = {
            _vptr.QObject = 0x7ffff5d614f0 <vtable for QSettings+16>,
            static staticMetaObject = {
              d = {
                superdata = {
                  direct = 0x0
                },
                stringdata = 0x7ffff5c43a20 <qt_meta_stringdata_QObject>,
                data = 0x7ffff5c43900 <qt_meta_data_QObject>,
                static_metacall = 0x7ffff5abe4c0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                relatedMetaObjects = 0x0,
                extradata = 0x0
              }
            },
            d_ptr = {
              d = 0x555555e6c730
            },
            static staticQtMetaObject = {
              d = {
                superdata = {
                  direct = 0x0
                },
                stringdata = 0x7ffff5c469c0 <qt_meta_stringdata_Qt>,
                data = 0x7ffff5c43b40 <qt_meta_data_Qt>,
                static_metacall = 0x0,
                relatedMetaObjects = 0x0,
                extradata = 0x0
              }
            }
          },
          members of QSettings:
          static staticMetaObject = {
            d = {
              superdata = {
                direct = 0x7ffff5d5a780 <QObject::staticMetaObject>
              },
              stringdata = 0x7ffff5c35a60 <qt_meta_stringdata_QSettings>,
              data = 0x7ffff5c35920 <qt_meta_data_QSettings>,
              static_metacall = 0x7ffff5a18fe0 <QSettings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
              relatedMetaObjects = 0x0,
              extradata = 0x0
            }
          }
        }
        enableOpenGLDebug = <optimized out>
        openGLDebugSynchronous = <optimized out>
        logUsage = <optimized out>
        root = {
          d = 0x555556196630
        }
        language = {
          d = 0x5555560d2aa0
        }
        rightToLeft = false
        app = {
          <QtSingleApplication> = {
            <QApplication> = {
              <QGuiApplication> = {
                <QCoreApplication> = {
                  <QObject> = {
                    _vptr.QObject = 0x7ffff7d7a880 <vtable for KisApplication+16>,
                    static staticMetaObject = {
                      d = {
                        superdata = {
                          direct = 0x0
                        },
                        stringdata = 0x7ffff5c43a20 <qt_meta_stringdata_QObject>,
                        data = 0x7ffff5c43900 <qt_meta_data_QObject>,
                        static_metacall = 0x7ffff5abe4c0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                        relatedMetaObjects = 0x0,
                        extradata = 0x0
                      }
                    },
                    d_ptr = {
                      d = 0x555555e81150
                    },
                    static staticQtMetaObject = {
                      d = {
                        superdata = {
                          direct = 0x0
                        },
                        stringdata = 0x7ffff5c469c0 <qt_meta_stringdata_Qt>,
                        data = 0x7ffff5c43b40 <qt_meta_data_Qt>,
                        static_metacall = 0x0,
                        relatedMetaObjects = 0x0,
                        extradata = 0x0
                      }
                    }
                  },
                  members of QCoreApplication:
                  static staticMetaObject = {
                    d = {
                      superdata = {
                        direct = 0x7ffff5d5a780 <QObject::staticMetaObject>
                      },
                      stringdata = 0x7ffff5c3e8a0 <qt_meta_stringdata_QCoreApplication>,
                      data = 0x7ffff5c3e780 <qt_meta_data_QCoreApplication>,
                      static_metacall = 0x7ffff5a8ceb0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                      relatedMetaObjects = 0x0,
                      extradata = 0x0
                    }
                  },
                  static self = 0x7fffffffcff0
                },
                members of QGuiApplication:
                static staticMetaObject = {
                  d = {
                    superdata = {
                      direct = 0x7ffff5d630a0 <QCoreApplication::staticMetaObject>
                    },
                    stringdata = 0x7ffff6355440 <qt_meta_stringdata_QGuiApplication>,
                    data = 0x7ffff63551c0 <qt_meta_data_QGuiApplication>,
                    static_metacall = 0x7ffff5f1ccf0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                    relatedMetaObjects = 0x0,
                    extradata = 0x0
                  }
                }
              },
              members of QApplication:
              static staticMetaObject = {
                d = {
                  superdata = {
                    direct = 0x7ffff6452ea0 <QGuiApplication::staticMetaObject>
                  },
                  stringdata = 0x7ffff6b328c0 <qt_meta_stringdata_QApplication>,
                  data = 0x7ffff6b32740 <qt_meta_data_QApplication>,
                  static_metacall = 0x7ffff6767180 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                  relatedMetaObjects = 0x0,
                  extradata = 0x0
                }
              }
            },
            members of QtSingleApplication:
            static staticMetaObject = {
              d = {
                superdata = {
                  direct = 0x7ffff6c958a0 <QApplication::staticMetaObject>
                },
                stringdata = 0x7ffff7bd1a40 <qt_meta_stringdata_QtSingleApplication>,
                data = 0x7ffff7bd1920 <qt_meta_data_QtSingleApplication>,
                static_metacall = 0x7ffff76ba450 <QtSingleApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                relatedMetaObjects = 0x0,
                extradata = 0x0
              }
            },
            firstPeer = -1,
            instances = 0x55555697b3d0,
            pidPeer = 0x555555f44c60,
            actWin = 0x0,
            appId = {
              d = 0x555555e6c630
            },
            block = false
          },
          members of KisApplication:
          static staticMetaObject = {
            d = {
              superdata = {
                direct = 0x7ffff7d9bc80 <QtSingleApplication::staticMetaObject>
              },
              stringdata = 0x7ffff7befce0 <qt_meta_stringdata_KisApplication>,
              data = 0x7ffff7befc00 <qt_meta_data_KisApplication>,
              static_metacall = 0x7ffff76c2410 <KisApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
              relatedMetaObjects = 0x0,
              extradata = 0x0
            }
          },
          d = {
            d = 0x55555659dd70
          }
        }
        args = {
          d = {
            d = 0x55555694f650
          }
        }
        state = <optimized out>
>>> f 1
#1  0x00007ffff5a94319 in QMetaObject::cast (this=0x7ffff6c97b40 <QWidgetWindow::staticMetaObject>, obj=0x555559f45e50) at /usr/src/debug/dev-qt/qtcore-5.15.7/qtbase-everywhere-src-5.15.7/src/corelib/kernel/qmetaobject.cpp:389
389         return (obj && obj->metaObject()->inherits(this)) ? obj : nullptr;


STEPS TO REPRODUCE
1. Settings->Docker and enable Last Documents Docker or Comics Manager
2. Try to dock said docker somewhere else

OBSERVED RESULT
SIGSEGV, krita crashes

EXPECTED RESULT
No crash

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Gentoo linux
KDE Plasma Version: not installed
KDE Frameworks Version: 5.101.0
Qt Version: 5.15.7

ADDITIONAL INFORMATION
Comment 1 Halla Rempt 2022-12-26 21:54:04 UTC
Can you reproduce this with the appimage?
Comment 2 dirtyice 2022-12-26 22:31:49 UTC
Created attachment 154833 [details]
valgrind output

Output from valgrind (Conditional jump or move depends on uninitialised value errors were ignored, because there are a lots of them). Probably only the first error is relevant, as the others seem like the consequences of the first use after free error.
Comment 3 dirtyice 2022-12-26 22:39:50 UTC
(In reply to Halla Rempt from comment #1)
> Can you reproduce this with the appimage?
No, it seems to work with the appimage.
The appimage doesn't seem to use system theme and it's full of animations, which looks like I managed to disable in my local config somehow, and there are animation related lines in the backtrace. Will check this out.
Comment 4 dirtyice 2022-12-26 22:49:38 UTC
Seems like it only does this if I set the style to QtCurve in qt5ct. With Fusion or Windows it works (I don't have other styles installed). Also it is the only style that lacks animations when I try to dock a docker.
Comment 5 Bug Janitor Service 2022-12-27 05:21:56 UTC
Thanks for your comment!

Automatically switching the status of this bug to REPORTED so that the KDE team
knows that the bug is ready to get confirmed.

In the future you may also do this yourself when providing needed information.
Comment 6 Halla Rempt 2022-12-27 09:27:17 UTC
Then it's probably a bug in the QtCurve style, not Krita.
Comment 7 dirtyice 2022-12-27 16:09:00 UTC
I've checked a few other QT Styles, but I could only reproduce this crash with QtCurve. I've updated QtCurve to the latest git master (78fe0fc1a888edc5d4cbfecc285f3287c13fe7d3) but no change.
It looks like QTCurve's bgndOpacity is the culprit here, adding krita to noBgndOpacityApps is a possible workaround that fixes the issue.
Searching for bgndOpacity here yielded only one result, #429201, which suggests this is an application error, not QtCurve... but I'm not a Qt wizard enough to say that.
Comment 8 Halla Rempt 2023-01-04 11:16:49 UTC
I checked that comment, but it doesn't contain enough information to do anything, and I don't have a build of Krita that can use platform Qt plugins. I've asked for more information.
Comment 9 Halla Rempt 2023-01-06 11:27:21 UTC
5.15 TEST
Comment 10 Halla Rempt 2023-06-22 13:55:16 UTC
Sorry, I don't think we can do much more about this.