Created attachment 131834 [details] Example LSM file for manipulation SUMMARY This bug does not happen with the 4.3.0 appimage. It happens with the Sep20 4.4.0 alpha (git 1ee63d5) and Sep20 5.0.0 (git 5e7b374) appimages Drag-moving an active LSM (Local Selection Mask) will cause a crash. I attach an example file for convenience of investigation. STEPS TO REPRODUCE 1. Open the attached 'LSM-crash.kra' file. It has a layer with one LSM and a layer with two LSMs. 2. Disable/deactivate the enabled LSMs and drag-move any LSM between layers and also among multiple LSMs on one layer. [NOTE: No crashing] 3. Enable any LSM and drag/move it between layers or among multiple LSMs on one layer. [NOTE: Instant crash] OBSERVED RESULT See Steps To Reproduce. The log just says "KRITA DID NOT CLOSE CORRECTLY" The terminal output just says "Segmentation fault" EXPECTED RESULT No crashing SOFTWARE/OS VERSIONS Krita Version: 4.4.0-alpha (git 1ee63d5) Languages: en_GB, en, en, en_GB, en Hidpi: false Qt Version (compiled): 5.12.9 Version (loaded): 5.12.9 OS Information Build ABI: x86_64-little_endian-lp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: linux Kernel Version: 4.19.0-10-amd64 Pretty Productname: Debian GNU/Linux 10 (buster) Product Type: debian Product Version: 10 Desktop: MATE OpenGL Info Vendor: "NVIDIA Corporation" Renderer: "GeForce GTX 750 Ti/PCIe/SSE2" Version: "4.6.0 NVIDIA 440.100" Shading language: "4.60 NVIDIA" 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 4.6, 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) Version: 4.6 Supports deprecated functions true is OpenGL ES: false QPA OpenGL Detection Info supportsDesktopGL: true supportsOpenGLES: true isQtPreferOpenGLES: false Hardware Information GPU Acceleration: auto Memory: 16039 Mb Number of Cores: 8 Swap Location: /tmp Current Settings Current Swap Location: /tmp Current Swap Location writable: true Undo Enabled: true Undo Stack Limit: 18 Use OpenGL: true Use OpenGL Texture Buffer: true Use AMD Vectorization Workaround: false Canvas State: OPENGL_SUCCESS Autosave Interval: 1860 Use Backup Files: true Number of Backups Kept: 1 Backup File Suffix: ~ Backup Location: Same Folder as the File Backup Location writable: false Use Win8 Pointer Input: false Use RightMiddleTabletButton Workaround: false Levels of Detail Enabled: false Use Zip64: false Display Information Number of screens: 2 Screen: 0 Name: DVI-D-1 Depth: 24 Scale: 1 Resolution in pixels: 1280x1024 Manufacturer: Dell Inc. Model: DELL 1704FPV- Refresh Rate: 60 Screen: 1 Name: DVI-D-0 Depth: 24 Scale: 1 Resolution in pixels: 1280x1024 Manufacturer: Dell Inc. Model: DELL 1704FPV- Refresh Rate: 75
Can confirm, backtrace of the crashing thread: Thread 1 (Thread 0x7ff04115e840 (LWP 6287)): [KCrash Handler] #6 0x00007ff04634751b in QMutex::lock() () from /opt/qt515-git/lib/libQt5Core.so.5 #7 0x00007ff048c863c1 in QMutexLocker::QMutexLocker (m=0x10, this=<synthetic pointer>) at /opt/qt515-git/include/QtCore/qmutex.h:233 #8 BatchMoveUpdateData::processUnhandledUpdates (this=0x0) at (...)/krita-git/libs/ui/kis_node_juggler_compressed.cpp:180 #9 0x00007ff046561c30 in ?? () from /opt/qt515-git/lib/libQt5Core.so.5 #10 0x00007ff047630fcd in KisSignalCompressor::tryEmitSignalSafely (this=this@entry=0x56090f7f94f0) at (...)/krita-git/libs/global/kis_signal_compressor.cpp:190 #11 0x00007ff0476311f8 in KisSignalCompressor::start (this=0x56090f7f94f0) at (...)/krita-git/libs/global/kis_signal_compressor.cpp:113 #12 0x00007ff048c83ca5 in KisNodeJugglerCompressed::startTimers (this=0x56090eef51c0) at (...)/krita-git/libs/ui/kis_node_juggler_compressed.cpp:826 #13 0x00007ff046558779 in QObject::event(QEvent*) () from /opt/qt515-git/lib/libQt5Core.so.5 #14 0x00007ff04705fd23 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/qt515-git/lib/libQt5Widgets.so.5 #15 0x00007ff047068cd0 in QApplication::notify(QObject*, QEvent*) () from /opt/qt515-git/lib/libQt5Widgets.so.5 #16 0x00007ff048f7fe5d in KisApplication::notify (this=<optimized out>, receiver=0x56090eef51c0, event=0x7ff00801d740) at (...)/krita-git/libs/ui/KisApplication.cpp:688 #17 0x00007ff04652acfa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/qt515-git/lib/libQt5Core.so.5 #18 0x00007ff04652d5f1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /opt/qt515-git/lib/libQt5Core.so.5 #19 0x00007ff046585e87 in ?? () from /opt/qt515-git/lib/libQt5Core.so.5 #20 0x00007ff04393ffbd in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #21 0x00007ff043940240 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #22 0x00007ff0439402e3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #23 0x00007ff0465854e2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/qt515-git/lib/libQt5Core.so.5 #24 0x00007ff04652980b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/qt515-git/lib/libQt5Core.so.5 #25 0x00007ff0465319a4 in QCoreApplication::exec() () from /opt/qt515-git/lib/libQt5Core.so.5 #26 0x00005609001b1e63 in main (argc=<optimized out>, argv=0x7ffe71007c58) at (...)/krita-git/krita/main.cc:620 [Inferior 1 (process 6287) detached]
I can reproduce in Krita 4.4.0 Beta1
Git commit 1ff0d2027a1945fd9117ebfb4f7de67cb1b6d819 by Dmitry Kazakov. Committed on 24/09/2020 at 13:35. Pushed by dkazakov into branch 'krita/4.3'. Fix a crash when moving local selection mask That is a regression from d60b315d4c51895eec12288e96790b6a4a602b01 M +5 -0 libs/ui/kis_node_juggler_compressed.cpp https://invent.kde.org/graphics/krita/commit/1ff0d2027a1945fd9117ebfb4f7de67cb1b6d819
Git commit d5b24b7b52eb111656b2fa59a7bcbf6a256ef4fc by Dmitry Kazakov. Committed on 24/09/2020 at 13:36. Pushed by dkazakov into branch 'krita/4.4.0'. Fix a crash when moving local selection mask That is a regression from d60b315d4c51895eec12288e96790b6a4a602b01 M +5 -0 libs/ui/kis_node_juggler_compressed.cpp https://invent.kde.org/graphics/krita/commit/d5b24b7b52eb111656b2fa59a7bcbf6a256ef4fc
Git commit a506e2d8fa9c97d07dc9ef482a520cf2e6a08b04 by Dmitry Kazakov. Committed on 24/09/2020 at 13:36. Pushed by dkazakov into branch 'master'. Fix a crash when moving local selection mask That is a regression from d60b315d4c51895eec12288e96790b6a4a602b01 M +5 -0 libs/ui/kis_node_juggler_compressed.cpp https://invent.kde.org/graphics/krita/commit/a506e2d8fa9c97d07dc9ef482a520cf2e6a08b04
*** Bug 426914 has been marked as a duplicate of this bug. ***