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

--- Comment #2 from sh_zam <sh...@sdf.org> ---
A rather hard to reproduce… luckily I caught it in gdb:

ASSERT (krita): “row < 0x7FFF && col < 0x7FFF” in file
/krita/libs/image/tiles3/kis_tile_hash_table2.h, line 129

Thread 50 “Thread (pooled)” received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff3e5f1640 (LWP 2086920)]
0x00007ffff3bcdd22 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff3bcdd22 in raise () at /usr/lib/libc.so.6
#1  0x00007ffff3bb7862 in abort () at /usr/lib/libc.so.6
#2  0x00007ffff404194e in  () at /usr/lib/libQt5Core.so.5
#3  0x00007ffff62320a1 in kis_assert_common(char const*, char const*, int,
bool, bool)
    (assertion=0x7ffff715d1f8 “row < 0x7FFF && col < 0x7FFF”,
file=0x7ffff715820d “/krita/libs/image/tiles3/kis_tile_hash_table2.h”,
line=line@entry=129, throwException=<optimized out>, isIgnorable=false)
    at /krita/libs/global/kis_assert.cpp:89
#4  0x00007ffff623237a in kis_assert_recoverable(char const*, char const*, int)
(assertion=0x2 <error: Cannot access memory at address 0x2>,
file=0x7fff3e5ef9f0 “”, line=0, line@entry=129) at
/krita/libs/global/kis_assert.cpp:102
#5  0x00007ffff723e626 in KisTileHashTableTraits2<KisTile>::calculateHash(int,
int) (this=0x7fff601ca880, col=900376, row=3) at
/krita/libs/image/tiles3/kis_tile_hash_table2.h:129
#6  KisTileHashTableTraits2<KisTile>::getReadOnlyTileLazy(int, int, bool&)
(this=0x7fff601ca880, col=900376, row=3, existingTile=@0x7fff3e5efe3f: false)
at /krita/libs/image/tiles3/kis_tile_hash_table2.h:375
#7  0x00007ffff724a0eb in KisTiledDataManager::getTile(int, int, bool)
(this=<optimized out>, col=<optimized out>, row=<optimized out>,
writable=<optimized out>) at
/krita/libs/image/tiles3/kis_tiled_data_manager.h:116
#8  KisTiledDataManager::getTilesPair(int, int, bool, KisSharedPtr<KisTile>*,
KisSharedPtr<KisTile>*) (this=0x7fff601c9c40, col=900376, row=3,
writable=<optimized out>, tile=0x7fff7483b550, oldTile=0x7fff7483b558)
    at /krita/libs/image/tiles3/kis_tiled_data_manager.h:95
#9  0x00007ffff724bdb1 in KisRandomAccessor2::fetchTileData(int, int)
(this=this@entry=0x7fff7483c4d0, col=900376, row=3) at
/krita/libs/image/tiles3/kis_random_accessor.cc:113
#10 0x00007ffff724bd07 in KisRandomAccessor2::moveTo(int, int)
(this=0x7fff7483c4d0, x=57624115, y=242) at
/krita/libs/image/tiles3/kis_random_accessor.cc:80
#11 0x00007ffff74958d4 in KisRandomSubAccessor::sampledOldRawData(unsigned
char*)
    (this=0x7fff7483b5e0, dst=0x7fff878f30ec
“\377\345\275\377\231\217\177\377\231\217\177\377\231\217\177\377\231\217\177\377\231\217\177\377\232\220\200\377\232\220\200\377\232\220\200\377\377\357\307\377\377\357\307\377\377\357\307\377\377\357\307\377\377\357\307\377\377\357\307\377\377\357\307\377\377\357\306\377\377\357\306\377\377\357\306\377\377\357\306\377\377\357\306\377\377\357\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\356\306\377\377\355\305\377\377\355\305\377\377\355\305\377\377\355\305\377\377\355\305\377\377\355\305\377\377\355\304\377\377\354\303\377\377\353\301\377\377\352\301\377\377\351\301\377”…)
at /krita/libs/image/kis_random_sub_accessor.cpp:51
#12 0x00007ffff74b0233 in
GridIterationTools::PaintDevicePolygonOp::operator()(QPolygonF const&,
QPolygonF const&, QPolygonF const&) (this=0x7fff3e5f0220, srcPolygon=<optimized
out>, dstPolygon=<optimized out>, clipDstPolygon=…)
    at /krita/libs/image/kis_grid_interpolation_tools.h:209
#13 0x00007ffff74bb8cb in
GridIterationTools::PaintDevicePolygonOp::operator()(QPolygonF const&,
QPolygonF const&) (this=0x7fff3e5f0220, srcPolygon=…, dstPolygon=…) at
/krita/libs/image/kis_grid_interpolation_tools.h:171
#14
GridIterationTools::iterateThroughGrid<GridIterationTools::AlwaysCompletePolygonPolicy,
GridIterationTools::PaintDevicePolygonOp,
GridIterationTools::RegularGridIndexesOp>(GridIterationTools::PaintDevicePolygonOp&,
GridIterationTools::RegularGridIndexesOp&, QSize const&, QVector<QPointF>
const&, QVector<QPointF> const&) (polygonOp=…, indexesOp=…, gridSize=<optimized
out>, originalPoints=QVector<QPointF> (size = 191395) = {…},
transformedPoints=QVector<QPointF> (size = 191395) = {…})
    at /krita/libs/image/kis_grid_interpolation_tools.h:619
#15 0x00007ffff74b8e53 in
KisLiquifyTransformWorker::run(KisSharedPtr<KisPaintDevice>,
KisSharedPtr<KisPaintDevice>) (this=0x7fff74006e30, srcDevice=…, dstDevice=…)
at /krita/libs/image/kis_liquify_transform_worker.cpp:402
#16 0x00007fffbc7c9860 in (anonymous
namespace)::transformDeviceImpl(ToolTransformArgs const&,
KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisPaintDevice>,
KisProcessingVisitor::ProgressHelper*, bool) (config=
    …, srcDevice=…, dstDevice=…, helper=0x7fff3e5f0878, cropDst=false) at
/krita/plugins/tools/tool_transform2/kis_transform_utils.cpp:310
#17 0x00007fffbc7c8f69 in KisTransformUtils::transformDevice(ToolTransformArgs
const&, KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisPaintDevice>,
KisProcessingVisitor::ProgressHelper*) (config=…, srcDevice=…, dstDevice=…,
helper=0x7ffff3bcdd22 <raise+322>,
    helper@entry=0x7fff3e5f0878) at
/krita/plugins/tools/tool_transform2/kis_transform_utils.cpp:366
#18 0x00007fffbc7cbbd0 in
KisTransformUtils::transformAndMergeDevice(ToolTransformArgs const&,
KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisPaintDevice>,
KisProcessingVisitor::ProgressHelper*) (config=…, src=…, dst=…,
helper=0x7fff3e5f0878)
    at /krita/plugins/tools/tool_transform2/kis_transform_utils.cpp:576
#19 0x00007fffbc7e1bd5 in
InplaceTransformStrokeStrategy::transformNode(KisSharedPtr<KisNode>,
ToolTransformArgs const&, int) (this=0x555566925cc0, node=…, config=…,
levelOfDetail=2)
    at
/krita/plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.cpp:678
#20 0x00007fffbc7e677d in
InplaceTransformStrokeStrategy::reapplyTransform(ToolTransformArgs,
QVector<KisStrokeJobData*>&, int, bool)::$_13::operator()() const
(this=<optimized out>)
    at
/krita/plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.cpp:841
#21 std::__invoke_impl<void,
InplaceTransformStrokeStrategy::reapplyTransform(ToolTransformArgs,
QVector<KisStrokeJobData*>&, int, bool)::$_13&>(std::__invoke_other,
InplaceTransformStrokeStrategy::reapplyTransform(ToolTransformArgs,
QVector<KisStrokeJobData*>&, int, bool)::$_13&) (__f=<optimized out>) at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:61
#22 std::__invoke_r<void,
InplaceTransformStrokeStrategy::reapplyTransform(ToolTransformArgs,
QVector<KisStrokeJobData*>&, int,
bool)::$_13&>(InplaceTransformStrokeStrategy::reapplyTransform(ToolTransformArgs,
QVector<KisStrokeJobData*>&, int, bool)::$_13&)
    (__fn=<optimized out>) at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/invoke.h:154
#23 std::_Function_handler<void (),
InplaceTransformStrokeStrategy::reapplyTransform(ToolTransformArgs,
QVector<KisStrokeJobData*>&, int, bool)::$_13>::_M_invoke(std::_Any_data
const&) (__functor=<optimized out>)
    at
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/bits/std_function.h:291
#24 0x00007ffff7394439 in
KisStrokeStrategyUndoCommandBased::doStrokeCallback(KisStrokeJobData*)
(this=0x555566925cd0, data=0x7fff58006ed0) at
/krita/libs/image/kis_stroke_strategy_undo_command_based.cpp:127
#25 0x00007fffbc7dcdb7 in
InplaceTransformStrokeStrategy::doStrokeCallback(KisStrokeJobData*)
(this=<optimized out>, data=0x7fff58006ed0) at
/krita/plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.cpp:198
#26 0x00007ffff722c460 in KisUpdateJobItem::run() (this=0x555557115860) at
libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../krita/libs/image/kis_update_job_item.h:90
#27 0x00007ffff4083b42 in  () at /usr/lib/libQt5Core.so.5
#28 0x00007ffff40803cb in  () at /usr/lib/libQt5Core.so.5
#29 0x00007ffff3d68259 in start_thread () at /usr/lib/libpthread.so.0
#30 0x00007ffff3c8f5e3 in clone () at /usr/lib/libc.so.6

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

Reply via email to