https://bugs.kde.org/show_bug.cgi?id=394569

Antti Savolainen <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |CONFIRMED

--- Comment #1 from Antti Savolainen <[email protected]> ---
I think I found a reliable way to reproduce this crash

Steps:
Make a transform layer
Draw on the layer below
Transform the Transform Layer
Draw on the layer again
Transform the Transform Layer again for 1-3 times

I don't know what causes the 1-3 times inconsistency.

Video here https://www.youtube.com/watch?v=cHFf4BQovxE

(gdb) bt
#0  0x00007ffff44f40bb in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff44f5f5d in __GI_abort () at abort.c:90
#2  0x00007ffff4ed1107 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff678c584 in kis_assert_common(char const*, char const*, int,
bool, bool) (assertion=0x7ffff239e698 "0 && \"sanity check failed: the tile has
already been removed!\"", file=0x7ffff239e628
"/home/managor/Sourcebuilding/krita/krita-testing-4.0.0/libs/image/tiles3/KisTiledExtentManager.cpp",
line=53, throwException=false, isIgnorable=false) at
./libs/global/kis_assert.cpp:90
#4  0x00007ffff678c89c in kis_assert_recoverable(char const*, char const*, int)
(assertion=0x7ffff239e698 "0 && \"sanity check failed: the tile has already
been removed!\"", file=0x7ffff239e628
"/home/managor/Sourcebuilding/krita/krita-testing-4.0.0/libs/image/tiles3/KisTiledExtentManager.cpp",
line=53) at ./libs/global/kis_assert.cpp:103
#5  0x00007ffff206324a in (anonymous namespace)::removeTileFromMap(int,
QMap<int, int>*) (index=18, map=0x7fff94013590) at
./libs/image/tiles3/KisTiledExtentManager.cpp:53
#6  0x00007ffff206345a in KisTiledExtentManager::notifyTileRemoved(int, int)
(this=0x7fff94013588, col=18, row=0) at
./libs/image/tiles3/KisTiledExtentManager.cpp:94
#7  0x00007ffff20599d0 in KisTiledDataManager::purge(QRect const&)
(this=0x7fff94013550, area=...) at
./libs/image/tiles3/kis_tiled_data_manager.cc:298
#8  0x00007ffff227af5b in KisDataManager::purge(QRect const&)
(this=0x7fff94013550, area=...) at ./libs/image/kis_datamanager.h:133
#9  0x00007ffff2275dc7 in KisPaintDevice::purgeDefaultPixels()
(this=0x7fff94003770) at ./libs/image/kis_paint_device.cc:1416
#10 0x00007ffff22d4011 in KisTransformWorker::runPartial(QRect const&)
(this=0x7fffa17e7560, processRect=...) at
./libs/image/kis_transform_worker.cc:410
#11 0x00007ffff22d3176 in KisTransformWorker::run() (this=0x7fffa17e7560) at
./libs/image/kis_transform_worker.cc:237
#12 0x00007fffbabf6751 in KisTransformUtils::transformDevice(ToolTransformArgs
const&, KisSharedPtr<KisPaintDevice>, KisProcessingVisitor::ProgressHelper*)
(config=..., device=..., helper=0x7fffa17e7730) at
./plugins/tools/tool_transform2/kis_transform_utils.cpp:287
#13 0x00007fffbab51b61 in
KisTransformMaskAdapter::transformDevice(KisSharedPtr<KisNode>,
KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisPaintDevice>) const
(this=0x55556013a390, node=..., src=..., dst=...)
    at ./plugins/tools/tool_transform2/kis_transform_mask_adapter.cpp:71
#14 0x00007ffff2198d53 in
KisTransformMask::decorateRect(KisSharedPtr<KisPaintDevice>&,
KisSharedPtr<KisPaintDevice>&, QRect const&, KisNode::PositionToFilthy) const
(this=0x5555607f1a90, src=..., dst=..., rc=..., maskPos=KisNode::N_FILTHY)
    at ./libs/image/kis_transform_mask.cpp:252
#15 0x00007ffff223a88b in KisMask::apply(KisSharedPtr<KisPaintDevice>, QRect
const&, QRect const&, KisNode::PositionToFilthy) const (this=0x5555607f1a90,
projection=..., applyRect=..., needRect=..., maskPos=KisNode::N_FILTHY) at
./libs/image/kis_mask.cc:296
#16 0x00007ffff2211fd7 in KisLayer::applyMasks(KisSharedPtr<KisPaintDevice>,
KisSharedPtr<KisPaintDevice>, QRect const&, KisSharedPtr<KisNode>,
KisSharedPtr<KisNode>) const (this=0x5555608ec270, source=..., destination=...,
requestedRect=..., filthyNode=..., lastNode=...) at
./libs/image/kis_layer.cc:688
#17 0x00007ffff221255b in KisLayer::updateProjection(QRect const&,
KisSharedPtr<KisNode>) (this=0x5555608ec270, rect=..., filthyNode=...) at
./libs/image/kis_layer.cc:720
#18 0x00007ffff221b285 in KisLayerProjectionPlane::recalculate(QRect const&,
KisSharedPtr<KisNode>) (this=0x5555608d9820, rect=..., filthyNode=...) at
./libs/image/kis_layer_projection_plane.cpp:47
#19 0x00007ffff21b080b in KisAsyncMerger::startMerge(KisBaseRectsWalker&, bool)
(this=0x5555608cf2f8, walker=..., notifyClones=true) at
./libs/image/kis_async_merger.cpp:266
#20 0x00007ffff239cb36 in KisUpdateJobItem::runMergeJob() (this=0x5555608cf2b0)
at
./obj-x86_64-linux-gnu/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../libs/image/kis_update_job_item.h:117
#21 0x00007ffff239c981 in KisUpdateJobItem::run() (this=0x5555608cf2b0) at
./obj-x86_64-linux-gnu/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../libs/image/kis_update_job_item.h:85
#22 0x00007ffff4ee2581 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff4ee629d in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007fffede7c7fc in start_thread (arg=0x7fffa17e8700) at
pthread_create.c:465
#25 0x00007ffff45d1b5f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to