Bug 412835 - Random assert message
Summary: Random assert message
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-11 02:49 UTC by acc4commissions
Modified: 2019-11-05 17:18 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
capture (28.86 KB, image/png)
2019-10-11 02:49 UTC, acc4commissions
Details

Note You need to log in before you can comment on or make changes to this bug.
Description acc4commissions 2019-10-11 02:49:55 UTC
Created attachment 123141 [details]
capture

SUMMARY
git 56ee905

Krita was autosaving when this poped up, but I'm not sure those are related.


SOFTWARE/OS VERSIONS
Windows: Win7
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 acc4commissions 2019-10-11 02:50:44 UTC
I was just drawing and nothing alse was going on in the canvas.
Comment 2 Dmitry Kazakov 2019-10-14 13:40:20 UTC
Hi, acc4commissions!

Do you remember, did you have any shape layers or transformation masks on your image? And was the image animated?
Comment 3 Dmitry Kazakov 2019-10-14 14:47:14 UTC
Git commit ca2e423a9af4f5c1f4691ab3e5f86d5fee61938b by Dmitry Kazakov.
Committed on 14/10/2019 at 14:45.
Pushed by dkazakov into branch 'master'.

Fix an assert when force-autosaving the image right during the stroke

When we make a clone of a shape layer, we must ensure that no updates
are initiated after cloning the image. We used to block updates at
the level of KisShapeLayerCanvas, but it works only when we save/clone
the image from the GUI thread. When we save it from the worker thread,
KoShapeManager queues the event into the GUI events queue, so an update
comes asynchronously.

To resolve this issue, the patch moves locking from KisShapeLayerCanvas
to KoShapeManager. We must ensure that there is no compressors nor queues
between the adding code and blocking code.

M  +12   -0    libs/flake/KoShapeManager.cpp
M  +11   -0    libs/flake/KoShapeManager.h
M  +2    -0    libs/flake/KoShapeManager_p.h
M  +2    -2    libs/ui/flake/kis_shape_layer.cc
M  +1    -12   libs/ui/flake/kis_shape_layer_canvas.cpp
M  +0    -4    libs/ui/flake/kis_shape_layer_canvas.h

https://invent.kde.org/kde/krita/commit/ca2e423a9af4f5c1f4691ab3e5f86d5fee61938b
Comment 4 Dmitry Kazakov 2019-10-16 13:47:31 UTC
*** Bug 412747 has been marked as a duplicate of this bug. ***
Comment 5 Dmitry Kazakov 2019-11-05 17:18:19 UTC
Git commit fdc983ada1e9aeb3bb81e4209f8f92c66038d492 by Dmitry Kazakov.
Committed on 05/11/2019 at 17:18.
Pushed by dkazakov into branch 'krita/4.2'.

Fix an assert when force-autosaving the image right during the stroke

When we make a clone of a shape layer, we must ensure that no updates
are initiated after cloning the image. We used to block updates at
the level of KisShapeLayerCanvas, but it works only when we save/clone
the image from the GUI thread. When we save it from the worker thread,
KoShapeManager queues the event into the GUI events queue, so an update
comes asynchronously.

To resolve this issue, the patch moves locking from KisShapeLayerCanvas
to KoShapeManager. We must ensure that there is no compressors nor queues
between the adding code and blocking code.

M  +12   -0    libs/flake/KoShapeManager.cpp
M  +11   -0    libs/flake/KoShapeManager.h
M  +2    -0    libs/flake/KoShapeManager_p.h
M  +2    -2    libs/ui/flake/kis_shape_layer.cc
M  +1    -12   libs/ui/flake/kis_shape_layer_canvas.cpp
M  +0    -4    libs/ui/flake/kis_shape_layer_canvas.h

https://invent.kde.org/kde/krita/commit/fdc983ada1e9aeb3bb81e4209f8f92c66038d492