Bug 498696 - Undoing Liquify randomly crashes
Summary: Undoing Liquify randomly crashes
Status: CONFIRMED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (other bugs)
Version First Reported In: nightly build (please specify the git hash!)
Platform: Other Other
: NOR normal
Target Milestone: ---
Assignee: Lukas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-15 15:18 UTC by Freya Lupen
Modified: 2025-05-08 10:46 UTC (History)
2 users (show)

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


Attachments
Backtrace from 3.2.9 crash reproduction (28.58 KB, text/plain)
2025-05-08 10:40 UTC, Lukas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Freya Lupen 2025-01-15 15:18:32 UTC
SUMMARY

Sometimes when Liquifying and undoing Krita crashes. It might happen immediately or it might take some tries.
Backtrace:
> 0   libkritaimage.20.0.0.dylib    	       0x105140784 QVector<QPointF>::isDetached() const + 0 (qvector.h:113) [inlined]
> 1   libkritaimage.20.0.0.dylib    	       0x105140784 QVector<QPointF>::detach() + 0 (qvector.h:399) [inlined]
> 2   libkritaimage.20.0.0.dylib    	       0x105140784 QVector<QPointF>::begin(QTypedArrayData<QPointF>::iterator) + 0 (qvector.h:219) [inlined]
> 3   libkritaimage.20.0.0.dylib    	       0x105140784 void KisLiquifyTransformWorker::Private::processTransformedPixelsBuildUp<TranslateOp>(TranslateOp, QPointF const&, double) + 84 (kis_liquify_transform_worker.cpp:228)
> 4   kritatooltransform.so         	       0x12bd1aff8 KisLiquifyPaintop::paintAt(KisPaintInformation const&) + 588
> 5   kritatooltransform.so         	       0x12bd1a328 void KisPaintInformation::paintAt<KisLiquifyPaintop>(KisLiquifyPaintop&, KisDistanceInformation*) + 60 (kis_paint_information.h:105)
> 6   kritatooltransform.so         	       0x12bd1a100 void KisPaintOpUtils::paintLine<KisLiquifyPaintop>(KisLiquifyPaintop&, KisPaintInformation const&, KisPaintInformation const&, KisDistanceInformation*, bool, double) + 112 (kis_paintop_utils.h:84)
> 7   kritatooltransform.so         	       0x12bd1a020 KisLiquifyPaintHelper::continuePaint(KoPointerEvent*) + 100 (kis_liquify_paint_helper.cpp:100)
> 8   kritatooltransform.so         	       0x12bd18250 KisLiquifyTransformStrategy::continuePrimaryAction(KoPointerEvent*) + 28 (kis_liquify_transform_strategy.cpp:153)
> 9   kritatooltransform.so         	       0x12bcf69b4 KisToolTransform::continueActionImpl(KoPointerEvent*, bool, KisTool::AlternateAction) + 504 (kis_tool_transform.cc:382)

STEPS TO REPRODUCE
1. Switch to Transform Tool, switch to Liquify mode.
2. Liquify a bit
3. Use the undo shortcut

OBSERVED RESULT
Krita randomly crashes

EXPECTED RESULT
Krita doesn't randomly crash

SOFTWARE/OS VERSIONS
Krita 5.3.0-prealpha-8b90f60de and 5.2.5

ADDITIONAL INFORMATION
Comment 1 Lukas 2025-05-05 16:39:32 UTC
I am sorry, but I cannot reproduce the bug on my system (Windows 10, 5.2.5 and krita-x64-5.3.0-prealpha-a05ebc35). 
Please add the output of help/System Information for Bug reports as well as more detailed version info (you put 5.2.6 in the report but two other versions in your comment). Thanks!
Comment 2 Freya Lupen 2025-05-05 19:26:02 UTC
I can still reproduce this on 5.2.9, 5.3.0-prealpha-de2f8288fb, and 6.0.0-prealpha-5a11f89722 (backtrace is slightly different on 6 due to QVector->QList).
(I listed the version as 5.2.6 but wrote 5.2.5, because I tested on 5.2.5 but 5.2.6 is identical aside from one unrelated hotfix. Sorry for the confusion.)

I've reproduced this with both macOS and the Linux AppImage. I don't think it's system-specific, just difficult to reproduce as it's seemingly random and may take many tries. I haven't found any more specific method than "spam liquify brushstrokes and Ctrl+Z until it crashes".
Comment 3 Bug Janitor Service 2025-05-06 03:47:25 UTC
🐛🧹 Thanks for your comment!

Automatically switching the status to REPORTED so the team can perform further triage.

In the future you may also do this yourself when providing needed information.
Comment 4 Wolfgang Baer 2025-05-07 07:16:20 UTC
I can't reproduce it with
5.3.0-prealpha (git 1a8ef4c)
on Windows 10.

Tested with a single layer document.
Comment 5 Lukas 2025-05-08 10:40:28 UTC
Created attachment 181060 [details]
Backtrace from 3.2.9 crash reproduction
Comment 6 Lukas 2025-05-08 10:46:13 UTC
(In reply to Freya Lupen from comment #2)
Thanks to Freyas detailed reproduction steps I was able to reproduce this crash in 5.2.9 and 5.3.0-prealpha-a05ebc35 on Windows 10 Pro (Version 10.0.19045 Build 19045):

1. Do a liquify brushstroke (so there’s one in the undo stack).
2. Hold the mouse button down to start another liquify brushstroke.
3. While holding the mouse down, hit undo (using the keyboard, given the mouse is occupied).
4. Move the held down mouse.
5. Crash.

Changed status to confirmed.