SUMMARY in the filter windows, for exemple blur filter, when unchecking the "preview" checkbox, the windows is closed or krita crashes. STEPS TO REPRODUCE 1. open an image 2. go to filter > Blur > Blur... 3. uncheck "preview" checkbox OBSERVED RESULT the window close without applying the filter or krita shutdown EXPECTED RESULT dipslay/hide preview SOFTWARE/OS VERSIONS Windows: 10 21H1 Krita Version: 5.0.0-prealpha (git a790876) Qt Version (compiled): 5.12.9 Version (loaded): 5.12.9 OS Information Build ABI: x86_64-little_endian-llp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: winnt Kernel Version: 10.0.19043 Pretty Productname: Windows 10 (10.0) Product Type: windows Product Version: 10 OpenGL Info Vendor: "Google Inc." Renderer: "ANGLE (NVIDIA GeForce GTX 1070 Direct3D11 vs_5_0 ps_5_0)" Version: "OpenGL ES 3.0 (ANGLE 2.1.0.57ea533f79a7)" Shading language: "OpenGL ES GLSL ES 3.00 (ANGLE 2.1.0.57ea533f79a7)" Requested format: QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile) Current format: QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile) Version: 3.0 Supports deprecated functions false is OpenGL ES: true QPA OpenGL Detection Info supportsDesktopGL: true supportsAngleD3D11: true isQtPreferAngle: true Hardware Information Memory: 31 Gb Cores: 16 ADDITIONAL INFORMATION more infos here : https://krita-artists.org/t/krita5-filter-1-pixel-white-band-preview-checkbox-crash/25290
Error occurred on Friday, June 18, 2021 at 10:59:21. krita.exe caused an Access Violation at location 00007FFBD293A8C0 in module libkritaui.dll Reading from location 0000000000000048. AddrPC Params 00007FFBD293A8C0 00000000405A42A4 00000000167D2010 0000000000000018 libkritaui.dll!0x26a8c0 KisFilterSelectorWidget::isFilterGalleryVisible+0x0 00007FFBD2733D06 0000000000000018 000000003405D630 00000000012BC740 libkritaui.dll!0x63d06 KisDlgFilter::slotOnReject+0x36 00007FFBD22C90D8 000000003405D630 0000000000000000 000000003F681C80 Qt5Core.dll!0x2290d8 QMetaObject::activate+0x7b8 00007FFBD16DAA34 0000000000630000 00000000005FB0C9 0000000000000002 Qt5Widgets.dll!0x1caa34 QDialogPrivate::finalize+0x34 00007FFBD16DC7AE 0000000000000000 00000000005FB1E0 000000003405D630 Qt5Widgets.dll!0x1cc7ae QDialog::qt_static_metacall+0xbe 00007FFBD22C90D8 0000000034065EF0 00007FFBD15275F5 0000000000000000 Qt5Core.dll!0x2290d8 QMetaObject::activate+0x7b8 00007FFBD167A613 000000000004004D 00007FFBD1528358 00000000340653F0 Qt5Widgets.dll!0x16a613 QDialogButtonBox::button+0x1d3 00007FFBD167B929 00000000340653F0 0000000027D83C70 00000000005FB260 Qt5Widgets.dll!0x16b929 QDialogButtonBox::qt_static_metacall+0x149 00007FFBD22C90D8 00000000340653F0 00000000340653F0 0000000000000000 Qt5Core.dll!0x2290d8 QMetaObject::activate+0x7b8 00007FFBD15EE6B2 00000000340653F0 00007FFBD15EE3F6 0000000000000000 Qt5Widgets.dll!0xde6b2 QAbstractButton::toggled+0x212 00007FFBD15EFAE9 0000000002CD8940 00007FFBD29C93DF 00000000005FFB80 Qt5Widgets.dll!0xdfae9 QAbstractButton::setIconSize+0x679 00007FFBD15EFCB5 00000000005FB450 00000000167D9840 00000000340653F0 Qt5Widgets.dll!0xdfcb5 QAbstractButton::mouseReleaseEvent+0xd5 00007FFBD1556238 00000000005FFB80 0000000000000001 00000000340653F0 Qt5Widgets.dll!0x46238 QWidget::event+0x1d8 00007FFBD1517BDC 00000000167C6F10 000000003F610090 0000000C00000025 Qt5Widgets.dll!0x7bdc QApplicationPrivate::notify_helper+0x9c 00007FFBD151FC1A 0000000000000000 00007FFBD20C25BF 0000000000000000 Qt5Widgets.dll!0xfc1a QApplication::notify+0x13aa 00007FFBD2A473C6 0000000000000000 3FF0000000000000 C07EA00000000000 libkritaui.dll!0x3773c6 KisApplication::notify+0x16 00007FFBD229DDB8 0000000000000000 0000000000000000 3FF0000000000000 Qt5Core.dll!0x1fddb8 QCoreApplication::sendSpontaneousEvent+0x1a8 00007FFBD151E018 0000000033F75080 00000001D154B092 0000000000000000 Qt5Widgets.dll!0xe018 QApplicationPrivate::sendMouseEvent+0x208 00007FFBD156A95D 0000000002CD8940 00007FFBD229C5C1 0000000000000000 Qt5Widgets.dll!0x5a95d QDesktopWidget::qt_metacall+0x26fd 00007FFBD156D6DB 00000000005FFB80 000000000273E5F0 0000000000000001 Qt5Widgets.dll!0x5d6db QDesktopWidget::qt_metacall+0x547b 00007FFBD1517BDC 00000000028D6B00 00000000005FBD00 00000003028D6B38 Qt5Widgets.dll!0x7bdc QApplicationPrivate::notify_helper+0x9c 00007FFBD151EC23 0000000000000000 00007FFBD20C25BF 0000000000000000 Qt5Widgets.dll!0xec23 QApplication::notify+0x3b3 00007FFBD2A473C6 0000000000000000 00007FFBD1ACA754 00000000005FBF78 libkritaui.dll!0x3773c6 KisApplication::notify+0x16 00007FFBD229DDB8 00007FFC37471404 000000006FD0728C 0000000000000068 Qt5Core.dll!0x1fddb8 QCoreApplication::sendSpontaneousEvent+0x1a8 00007FFBD1AB6DC4 0000000000000000 00007FFBD22A3B53 00000000005FC1B8 Qt5Gui.dll!0x36dc4 QGuiApplicationPrivate::processMouseEvent+0x6e4 00007FFBD1AB8135 0000000000000401 000000000C5C0BB0 00000000000A0966 Qt5Gui.dll!0x38135 QGuiApplicationPrivate::processWindowSystemEvent+0x105 00007FFBD1A90EAC 0000000000000401 00000000000A0966 000000000034F000 Qt5Gui.dll!0x10eac QWindowSystemInterface::sendWindowSystemEvents+0x44c 00007FFBD22F85EA 0000000000000000 0000000000000001 0000000000000001 Qt5Core.dll!0x2585ea QEventDispatcherWin32Private::sendTimerEvent+0x60a 00007FFC377BE858 0000000000003DFF 00007FFBD22F8110 00000000000A0966 USER32.dll!0xe858 UserCallWinProcCheckWow+0x2f8 00007FFC377BE299 00007FFBD22F8110 00000000005FC620 0000000000000000 USER32.dll!0xe299 DispatchMessageWorker+0x249 00007FFBD22F7A8B 000000000C5C0BB0 0000000000000024 00000000026DBCB0 Qt5Core.dll!0x257a8b QEventDispatcherWin32::processEvents+0x5cb 000000006A8FF005 0000000000000080 0000000000000014 000000002A7D5E40 qwindows.dll!0x7f005 qt_plugin_instance+0x2a25 00007FFBD229BD9F 000000000F85DA80 000000000F8CE8B0 0000000028F258C0 Qt5Core.dll!0x1fbd9f QEventLoop::exec+0x13f 00007FFBD22A5017 00007FFBD2149940 00007FFBE1C818C0 0000000000000010 Qt5Core.dll!0x205017 QCoreApplication::exec+0x77 00007FFBD42850EB 0000000000000001 000000000273E530 0000000140007970 krita.dll!0x50eb krita_main+0x2f9b 00000001400013C7 0000000000000000 0000000000000000 0000000000000000 krita.exe!0x13c7 __tmainCRTStartup+0x247 00000001400014CB 0000000000000000 0000000000000000 0000000000000000 krita.exe!0x14cb WinMainCRTStartup+0x1b 00007FFC38067034 0000000000000000 0000000000000000 0000000000000000 KERNEL32.DLL!0x17034 BaseThreadInitThunk+0x14 00007FFC396E2651 0000000000000000 0000000000000000 0000000000000000 ntdll.dll!0x52651 RtlUserThreadStart+0x21
I can confirm a crash every time with the Jun 17 5.0.0-prealpha (git 76b3db3) appimage on Debian 10. This happens when the Preview checkbox is disabled. Tested with the Gaussian Blur, Unsharp Mask and the Levels filter. The terminal output shows 'Segmentation fault'. This does not happen with the 4.4.5 appimage hence regression.
Created attachment 139548 [details] valgrind log I've run with valgrind and attached a log. I've pasted the interesting bit at the end I'll take a look later today about the specifics to propose a bugfix, so I'm auto-assigning this to me ==00:00:23:44.089 2743== Invalid read of size 8 ==00:00:23:44.089 2743== at 0x5A55FAD: KisDlgFilter::enablePreviewToggled(bool) (kis_dlg_filter.cpp:235) ==00:00:23:44.089 2743== by 0x987F908: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3898) ==00:00:23:44.089 2743== by 0x8684191: QAbstractButton::toggled(bool) (moc_qabstractbutton.cpp:315) ==00:00:23:44.089 2743== by 0x8684610: QAbstractButtonPrivate::emitToggled(bool) (qabstractbutton.cpp:481) ==00:00:23:44.089 2743== by 0x8685C35: QAbstractButton::setChecked(bool) (qabstractbutton.cpp:682) ==00:00:23:44.089 2743== by 0x86971E5: QCheckBox::nextCheckState() (qcheckbox.cpp:374) ==00:00:23:44.089 2743== by 0x868573A: QAbstractButtonPrivate::click() (qabstractbutton.cpp:398) ==00:00:23:44.089 2743== by 0x868599C: QAbstractButton::mouseReleaseEvent(QMouseEvent*) (qabstractbutton.cpp:1044) ==00:00:23:44.089 2743== by 0x85D8AE7: QWidget::event(QEvent*) (qwidget.cpp:9019) ==00:00:23:44.089 2743== by 0x859833B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3632) ==00:00:23:44.089 2743== by 0x859F6BF: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3076) ==00:00:23:44.089 2743== by 0x5EEDCC8: KisApplication::notify(QObject*, QEvent*) (KisApplication.cpp:711) ==00:00:23:44.089 2743== Address 0x2a2dff50 is 48 bytes inside a block of size 56 free'd ==00:00:23:44.089 2743== at 0x4C3323B: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==00:00:23:44.089 2743== by 0x5A56085: KisDlgFilter::enablePreviewToggled(bool) (kis_dlg_filter.cpp:231) ==00:00:23:44.089 2743== by 0x987F908: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3898) ==00:00:23:44.089 2743== by 0x8684191: QAbstractButton::toggled(bool) (moc_qabstractbutton.cpp:315) ==00:00:23:44.089 2743== by 0x8684610: QAbstractButtonPrivate::emitToggled(bool) (qabstractbutton.cpp:481) ==00:00:23:44.089 2743== by 0x8685C35: QAbstractButton::setChecked(bool) (qabstractbutton.cpp:682) ==00:00:23:44.089 2743== by 0x86971E5: QCheckBox::nextCheckState() (qcheckbox.cpp:374) ==00:00:23:44.089 2743== by 0x868573A: QAbstractButtonPrivate::click() (qabstractbutton.cpp:398) ==00:00:23:44.089 2743== by 0x868599C: QAbstractButton::mouseReleaseEvent(QMouseEvent*) (qabstractbutton.cpp:1044) ==00:00:23:44.089 2743== by 0x85D8AE7: QWidget::event(QEvent*) (qwidget.cpp:9019) ==00:00:23:44.089 2743== by 0x859833B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3632) ==00:00:23:44.089 2743== by 0x859F6BF: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3076) ==00:00:23:44.089 2743== Block was alloc'd at ==00:00:23:44.089 2743== at 0x4C3217F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==00:00:23:44.089 2743== by 0x5B722E5: KisFilterManager::showFilterDialog(QString const&, KisPinnedSharedPtr<KisFilterConfiguration>) (kis_filter_manager.cc:261) ==00:00:23:44.089 2743== by 0x60174DB: KisFilterManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_kis_filter_manager.cpp:99) ==00:00:23:44.089 2743== by 0x987F908: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3898) ==00:00:23:44.089 2743== by 0x7FACFF4: KisSignalMapper::mapped(QString const&) (moc_KisSignalMapper.cpp:186) ==00:00:23:44.089 2743== by 0x7FADF6B: KisSignalMapper::map(QObject*) (KisSignalMapper.cpp:227) ==00:00:23:44.089 2743== by 0x987F908: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3898) ==00:00:23:44.089 2743== by 0x8591DA1: QAction::triggered(bool) (moc_qaction.cpp:376) ==00:00:23:44.089 2743== by 0x859440B: QAction::activate(QAction::ActionEvent) (qaction.cpp:1161) ==00:00:23:44.089 2743== by 0x870FD5B: QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (qmenu.cpp:1384) ==00:00:23:44.089 2743== by 0x87172CA: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qmenu.cpp:1461) ==00:00:23:44.089 2743== by 0x871827C: QMenu::mouseReleaseEvent(QMouseEvent*) (qmenu.cpp:2966) ==00:00:23:44.089 2743==
A bit better tip of the crash log, showing that it's about QAbstractButton: git 7abe84b. Thread 1 "krita" received signal SIGSEGV, Segmentation fault. 0x00007ffff54b60c4 in QAbstractButton::isChecked() const () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 (gdb) bt #0 0x00007ffff54b60c4 in QAbstractButton::isChecked() const () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #1 0x00007ffff6cd6421 in KisDlgFilter::enablePreviewToggled(bool) (this=0x55556714a5e0, state=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:120 #2 0x00007ffff49d4300 in QMetaObject::activate(QObject*, int, int, void**) () at /lib/x86_64-linux-gnu/libQt5Core.so.5 #3 0x00007ffff54b5866 in QAbstractButton::toggled(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #4 0x00007ffff54b5ca6 in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #5 0x00007ffff54b72fd in QAbstractButton::setChecked(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #6 0x00007ffff54c6915 in QCheckBox::nextCheckState() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #7 0x00007ffff54b6e10 in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #8 0x00007ffff54b7035 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #9 0x00007ffff54032b6 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
cross-referencing merge request for this: https://invent.kde.org/graphics/krita/-/merge_requests/923
(In reply to Felipe Lema from comment #5) > cross-referencing merge request for this: > > https://invent.kde.org/graphics/krita/-/merge_requests/923 *merge request for fix
The merge request has been merged, so the bug should be fixed :)