Bug 426816 - Crash when drag-moving active Local Selection Masks in the latest nightly appimage builds
Summary: Crash when drag-moving active Local Selection Masks in the latest nightly app...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Selection (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: regression, release_blocker
: 426914 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-09-21 16:02 UTC by Ahab Greybeard
Modified: 2020-09-24 16:08 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Example LSM file for manipulation (51.86 KB, application/x-krita)
2020-09-21 16:02 UTC, Ahab Greybeard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ahab Greybeard 2020-09-21 16:02:19 UTC
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
Comment 1 Lynx3d 2020-09-23 14:09:14 UTC
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]
Comment 2 Dmitry Kazakov 2020-09-24 12:47:12 UTC
I can reproduce in Krita 4.4.0 Beta1
Comment 3 Dmitry Kazakov 2020-09-24 13:35:40 UTC
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
Comment 4 Dmitry Kazakov 2020-09-24 13:36:14 UTC
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
Comment 5 Dmitry Kazakov 2020-09-24 13:36:29 UTC
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
Comment 6 Dmitry Kazakov 2020-09-24 16:08:46 UTC
*** Bug 426914 has been marked as a duplicate of this bug. ***