SUMMARY Attempting to open a popup palette will crash Krita when the scale factor used is not an integer (e.g. 1 or 2 or 3…) STEPS TO REPRODUCE 1. env QT_SCALE_FACTOR=1.5 krita 2. create a new file 3. open a popup palette (e.g. via a button on a tablet pen) OBSERVED RESULT Krita immediately crashes. The output from krita contains a large number of messages such as ``` QImage::setPixel: coordinate (208,0) out of range QImage::setPixel: coordinate (208,1) out of range QImage::setPixel: coordinate (208,2) out of range ``` and finally a ``` malloc(): invalid size (unsorted) ``` The callstack at the time of crash looks like this: ``` #0 0x00007f1da5fe133a in raise () from /nix/store/90illc73xfs933d06daq6d41njs8yh66-glibc-2.32-37/lib/libc.so.6 #1 0x00007f1da5fcb523 in abort () from /nix/store/90illc73xfs933d06daq6d41njs8yh66-glibc-2.32-37/lib/libc.so.6 #2 0x00007f1da6021958 in __libc_message () from /nix/store/90illc73xfs933d06daq6d41njs8yh66-glibc-2.32-37/lib/libc.so.6 #3 0x00007f1da602912a in malloc_printerr () from /nix/store/90illc73xfs933d06daq6d41njs8yh66-glibc-2.32-37/lib/libc.so.6 #4 0x00007f1da602b17c in _int_free () from /nix/store/90illc73xfs933d06daq6d41njs8yh66-glibc-2.32-37/lib/libc.so.6 #5 0x00007f1da6bcd015 in QImageData::~QImageData() () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Gui.so.5 #6 0x00007f1da6bcd4f8 in QImage::~QImage() () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Gui.so.5 #7 0x00007f1da93edce8 in KoTriangleColorSelector::generateTriangle() () from /nix/store/n2ajwshp19nlwin351d7bmj3lji90db0-krita-4.4.2/lib/libkritawidgets.so.20 #8 0x00007f1da93ee135 in KoTriangleColorSelector::paintEvent(QPaintEvent*) () from /nix/store/n2ajwshp19nlwin351d7bmj3lji90db0-krita-4.4.2/lib/libkritawidgets.so.20 #9 0x00007f1da726d0fe in QWidget::event(QEvent*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #10 0x00007f1da722d16f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #11 0x00007f1daa9570b9 in KisApplication::notify(QObject*, QEvent*) () from /nix/store/n2ajwshp19nlwin351d7bmj3lji90db0-krita-4.4.2/lib/libkritaui.so.20 #12 0x00007f1da676086a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Core.so.5 #13 0x00007f1da7265216 in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #14 0x00007f1da7265a6b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #15 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #16 0x00007f1da7266c0a in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #17 0x00007f1da7266c0a in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #18 0x00007f1da7266c0a in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #19 0x00007f1da7266c0a in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #20 0x00007f1da7266c0a in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #21 0x00007f1da7266c0a in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #22 0x00007f1da7266c0a in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #23 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #24 0x00007f1da726a185 in QWidgetPrivate::render(QPaintDevice*, QPoint const&, QRegion const&, QFlags<QWidget::RenderFlag>) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #25 0x00007f1da726a684 in QWidget::render(QPainter*, QPoint const&, QRegion const&, QFlags<QWidget::RenderFlag>) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #26 0x00007f1da726aa47 in QWidget::render(QPaintDevice*, QPoint const&, QRegion const&, QFlags<QWidget::RenderFlag>) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #27 0x00007f1da726ac7b in ?? () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #28 0x00007f1da75b8d22 in QGraphicsEffectSource::pixmap(Qt::CoordinateSystem, QPoint*, QGraphicsEffect::PixmapPadMode) const () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #29 0x00007f1da75b8ec9 in QGraphicsEffect::sourcePixmap(Qt::CoordinateSystem, QPoint*, QGraphicsEffect::PixmapPadMode) const () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #30 0x00007f1da75b9514 in QGraphicsOpacityEffect::draw(QPainter*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #31 0x00007f1da72664a7 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #32 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #33 0x00007f1da7266c0a in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #34 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #35 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #36 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #37 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #38 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #39 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #40 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #41 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #42 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #43 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #44 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #45 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #46 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #47 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #48 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #49 0x00007f1da7266de3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #50 0x00007f1da726577c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #51 0x00007f1da723d868 in ?? () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #52 0x00007f1da726d82f in QWidget::event(QEvent*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #53 0x00007f1da8ce1389 in KXmlGuiWindow::event(QEvent*) () from /nix/store/n2ajwshp19nlwin351d7bmj3lji90db0-krita-4.4.2/lib/libkritawidgetutils.so.20 #54 0x00007f1da722d16f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Widgets.so.5 #55 0x00007f1daa9570b9 in KisApplication::notify(QObject*, QEvent*) () from /nix/store/n2ajwshp19nlwin351d7bmj3lji90db0-krita-4.4.2/lib/libkritaui.so.20 #56 0x00007f1da676086a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Core.so.5 #57 0x00007f1da6763371 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Core.so.5 #58 0x00007f1da67b8c33 in ?? () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Core.so.5 #59 0x00007f1da59d6a9b in g_main_context_dispatch () from /nix/store/m3cq4pw45jg4ja7slq9rzybs5chvi2nh-glib-2.66.4/lib/libglib-2.0.so.0 #60 0x00007f1da59d6d48 in g_main_context_iterate.constprop () from /nix/store/m3cq4pw45jg4ja7slq9rzybs5chvi2nh-glib-2.66.4/lib/libglib-2.0.so.0 #61 0x00007f1da59d6dff in g_main_context_iteration () from /nix/store/m3cq4pw45jg4ja7slq9rzybs5chvi2nh-glib-2.66.4/lib/libglib-2.0.so.0 #62 0x00007f1da67b829f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Core.so.5 #63 0x00007f1da675f1bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Core.so.5 #64 0x00007f1da67677b0 in QCoreApplication::exec() () from /nix/store/fhv05aqnfmbg0mjf7dp29yaxg3sgzgq3-qtbase-5.15.2/lib/libQt5Core.so.5 #65 0x0000000000407739 in main () ``` EXPECTED RESULT A popup palette shows up, krita continues running. SOFTWARE/OS VERSIONS Windows: N/A macOS: N/A Linux/KDE Plasma: Nix OS, sway, (available in About System) KDE Plasma Version: N/A KDE Frameworks Version: N/A Qt Version: 5.15.2 ADDITIONAL INFORMATION x86_64
*** This bug has been marked as a duplicate of bug 431944 ***