Bug 411280 - After painting for some time (about 20-40 mins) Krita crashes
Summary: After painting for some time (about 20-40 mins) Krita crashes
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
: 411224 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-08-25 15:02 UTC by Raghavendra kamath
Modified: 2019-09-13 09:59 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raghavendra kamath 2019-08-25 15:02:05 UTC
SUMMARY
After painting for some time, may be for about 20 -40 minutes (time is random) krita crashes. I am building krita from the git master.

I was able to get this backtrace from gdb


-------------

Thread 1514 "Thread (pooled)" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff847f7700 (LWP 25206)]
0x00000a4300000a43 in ?? ()
(gdb) thread apply all backtrace

Thread 1519 (Thread 0x7fff82ff4700 (LWP 25211)):
#0  0x00007ffff5f38623 in KisSequentialIteratorBase<ReadOnlyIteratorPolicy<KisPaintDevice::Private::StrategyPolicy>, KisPaintDevice::Private::StrategyPolicy, NoProgressPolicy>::nextPixel (this=<synthetic pointer>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:231
#1  KisPaintDevice::Private::updateLodDataManager (this=<optimized out>, srcDataManager=<optimized out>, dstDataManager=<optimized out>, srcOffset=..., dstOffset=..., originalRect=..., lod=1) at /mnt/attic/krita-build/src/krita/libs/image/kis_paint_device.cc:749
#2  0x00007ffff5f38ba8 in KisPaintDevice::Private::updateLodDataStruct (this=0x555565509da0, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#3  0x00007ffff5eb5de6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#4  0x00007ffff5d88eb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#5  0x00007ffff2cb5912 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1518 (Thread 0x7fff84ff8700 (LWP 25210)):
#0  0x00007fffe1f357c7 in KoMixColorsOpImpl<KoBgrU8Traits>::mixColors (this=0x555557b275f0, colors=0x7fffa80f4780 '\377' <repeats 200 times>..., weights=0x7fff5c04e5d0, nColors=4, dst=0x7fff81d2785c '\377' <repeats 200 times>...) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:37
#1  0x00007ffff5f389ed in KisPaintDevice::Private::updateLodDataManager (this=<optimized out>, srcDataManager=<optimized out>, dstDataManager=<optimized out>, srcOffset=..., dstOffset=..., originalRect=..., lod=1) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:277
#2  0x00007ffff5f38ba8 in KisPaintDevice::Private::updateLodDataStruct (this=0x555565509da0, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#3  0x00007ffff5eb5de6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#4  0x00007ffff5d88eb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#5  0x00007ffff2cb5912 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1517 (Thread 0x7fff867fb700 (LWP 25209)):
#0  0x00007fffe1f35854 in KoMixColorsOpImpl<KoBgrU8Traits>::mixColorsImpl<KoMixColorsOpImpl<KoBgrU8Traits>::PointerToArray, KoMixColorsOpImpl<KoBgrU8Traits>::WeightsWrapper> (dst=0x7fff7ee3839c '\377' <repeats 200 times>..., nColors=<optimized out>, weightsWrapper=..., source=..., this=<optimized out>) at /mnt/at--Type <RET> for more, q to quit, c to continue without paging--
tic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:79
#1  KoMixColorsOpImpl<KoBgrU8Traits>::mixColors (this=<optimized out>, colors=<optimized out>, weights=<optimized out>, nColors=<optimized out>, dst=0x7fff7ee3839c '\377' <repeats 200 times>...) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:38
#2  0x00007ffff5f389ed in KisPaintDevice::Private::updateLodDataManager (this=<optimized out>, srcDataManager=<optimized out>, dstDataManager=<optimized out>, srcOffset=..., dstOffset=..., originalRect=..., lod=1) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:277
#3  0x00007ffff5f38ba8 in KisPaintDevice::Private::updateLodDataStruct (this=0x555565509da0, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#4  0x00007ffff5eb5de6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#5  0x00007ffff5d88eb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#6  0x00007ffff2cb5912 in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1516 (Thread 0x7fff86ffc700 (LWP 25208)):
#0  KoMixColorsOpImpl<KoBgrU8Traits>::WeightsWrapper::premultiplyAlphaWithWeight (this=<synthetic pointer>, alpha=<synthetic pointer>: 255) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:101
#1  KoMixColorsOpImpl<KoBgrU8Traits>::mixColorsImpl<KoMixColorsOpImpl<KoBgrU8Traits>::PointerToArray, KoMixColorsOpImpl<KoBgrU8Traits>::WeightsWrapper> (dst=0x7fff802c74dc "", nColors=<optimized out>, weightsWrapper=..., source=..., this=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:156
#2  KoMixColorsOpImpl<KoBgrU8Traits>::mixColors (this=<optimized out>, colors=<optimized out>, weights=<optimized out>, nColors=<optimized out>, dst=0x7fff802c74dc "") at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:38
#3  0x00007ffff5f389ed in KisPaintDevice::Private::updateLodDataManager (this=<optimized out>, srcDataManager=<optimized out>, dstDataManager=<optimized out>, srcOffset=..., dstOffset=..., originalRect=..., lod=1) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:277
#4  0x00007ffff5f38ba8 in KisPaintDevice::Private::updateLodDataStruct (this=0x555565508fa0, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#5  0x00007ffff5eb5de6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#6  0x00007ffff5d88eb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#7  0x00007ffff2cb5912 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--

Thread 1515 (Thread 0x7fff7a3f7700 (LWP 25207)):
#0  0x00007fffe1f357f6 in KoMixColorsOpImpl<KoBgrU8Traits>::mixColorsImpl<KoMixColorsOpImpl<KoBgrU8Traits>::PointerToArray, KoMixColorsOpImpl<KoBgrU8Traits>::WeightsWrapper> (dst=0x7fff8a691fa4 '\377' <repeats 200 times>..., nColors=<optimized out>, weightsWrapper=..., source=..., this=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:101
#1  KoMixColorsOpImpl<KoBgrU8Traits>::mixColors (this=<optimized out>, colors=<optimized out>, weights=<optimized out>, nColors=<optimized out>, dst=0x7fff8a691fa4 '\377' <repeats 200 times>...) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:38
#2  0x00007ffff5f389ed in KisPaintDevice::Private::updateLodDataManager (this=<optimized out>, srcDataManager=<optimized out>, dstDataManager=<optimized out>, srcOffset=..., dstOffset=..., originalRect=..., lod=1) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:277
#3  0x00007ffff5f38ba8 in KisPaintDevice::Private::updateLodDataStruct (this=0x555565509da0, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#4  0x00007ffff5eb5de6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#5  0x00007ffff5d88eb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#6  0x00007ffff2cb5912 in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1514 (Thread 0x7fff847f7700 (LWP 25206)):
#0  0x00000a4300000a43 in ?? ()
#1  0x00007ffff5d96fda in SimpleJobCoordinator::participate (this=0x7fff5c4409f0) at /mnt/attic/krita-build/src/krita/libs/image/3rdparty/lock_free_map/simple_job_coordinator.h:82
#2  ConcurrentMap<unsigned int, KisTile*, DefaultKeyTraits<unsigned int>, DefaultValueTraits<KisTile*> >::Mutator::exchangeValue (desired=<optimized out>, this=0x7fff847f6990) at /mnt/attic/krita-build/src/krita/libs/image/3rdparty/lock_free_map/concurrent_map.h:174
#3  KisTileHashTableTraits2<KisTile>::getTileLazy (this=<optimized out>, col=col@entry=16, row=row@entry=17, newTile=@0x7fff847f6a37: false) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_tile_hash_table2.h:342
#4  0x00007ffff5da902a in KisTiledDataManager::getTile (writable=<optimized out>, row=17, col=16, this=0x7fff7118fa90) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_tiled_data_manager.h:120
#5  KisTiledDataManager::getTilesPair (oldTile=0x7fff9c0c5810, tile=0x7fff9c0c5808, writable=<optimized out>, row=17, col=16, this=0x7fff7118fa90) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_tiled_data_manager.h:107
#6  KisHLineIterator2::fetchTileDataForCache (this=0x7fff9c10cbf0, kti=..., col=16, row=17) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_hline_iterator.cpp:206
#7  0x00007ffff5da95e0 in KisHLineIterator2::preallocateTiles (this=this@entry=0x7fff9c10cbf0) at /usr/include/qt/QtCore/qarraydata.h:211
--Type <RET> for more, q to quit, c to continue without paging--
#8  0x00007ffff5da9bb0 in KisHLineIterator2::nextRow (this=0x7fff9c10cbf0) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_hline_iterator.cpp:122
#9  0x00007ffff5f40866 in KisSequentialIteratorBase<WritableIteratorPolicy<KisPaintDevice::Private::StrategyPolicy>, KisPaintDevice::Private::StrategyPolicy, NoProgressPolicy>::nextPixel (this=0x7fff847f6b80) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:231
#10 0x00007ffff5f38a09 in KisPaintDevice::Private::updateLodDataManager (this=<optimized out>, srcDataManager=<optimized out>, dstDataManager=<optimized out>, srcOffset=..., dstOffset=..., originalRect=..., lod=1) at /mnt/attic/krita-build/src/krita/libs/image/kis_paint_device.cc:775
#11 0x00007ffff5f38ba8 in KisPaintDevice::Private::updateLodDataStruct (this=0x555565508fa0, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#12 0x00007ffff5eb5de6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#13 0x00007ffff5d88eb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#14 0x00007ffff2cb5912 in ?? () from /usr/lib/libQt5Core.so.5
#15 0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#16 0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#17 0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1513 (Thread 0x7fff857f9700 (LWP 25205)):
#0  0x00007fffe1f35805 in KoMixColorsOpImpl<KoBgrU8Traits>::mixColorsImpl<KoMixColorsOpImpl<KoBgrU8Traits>::PointerToArray, KoMixColorsOpImpl<KoBgrU8Traits>::WeightsWrapper> (dst=0x7fff80accc38 '\377' <repeats 200 times>..., nColors=<optimized out>, weightsWrapper=..., source=..., this=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:101
#1  KoMixColorsOpImpl<KoBgrU8Traits>::mixColors (this=<optimized out>, colors=<optimized out>, weights=<optimized out>, nColors=<optimized out>, dst=0x7fff80accc38 '\377' <repeats 200 times>...) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:38
#2  0x00007ffff5f389ed in KisPaintDevice::Private::updateLodDataManager (this=<optimized out>, srcDataManager=<optimized out>, dstDataManager=<optimized out>, srcOffset=..., dstOffset=..., originalRect=..., lod=1) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:277
#3  0x00007ffff5f38ba8 in KisPaintDevice::Private::updateLodDataStruct (this=0x555565509da0, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#4  0x00007ffff5eb5de6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#5  0x00007ffff5d88eb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#6  0x00007ffff2cb5912 in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1512 (Thread 0x7fff85ffa700 (LWP 25204)):
--Type <RET> for more, q to quit, c to continue without paging--
#0  0x00007fffe1f3581c in KoMixColorsOpImpl<KoBgrU8Traits>::mixColorsImpl<KoMixColorsOpImpl<KoBgrU8Traits>::PointerToArray, KoMixColorsOpImpl<KoBgrU8Traits>::WeightsWrapper> (dst=0x7fff7f851234 '\377' <repeats 200 times>..., nColors=<optimized out>, weightsWrapper=..., source=..., this=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:101
#1  KoMixColorsOpImpl<KoBgrU8Traits>::mixColors (this=<optimized out>, colors=<optimized out>, weights=<optimized out>, nColors=<optimized out>, dst=0x7fff7f851234 '\377' <repeats 200 times>...) at /mnt/attic/krita-build/src/krita/libs/pigment/KoMixColorsOpImpl.h:38
#2  0x00007ffff5f389ed in KisPaintDevice::Private::updateLodDataManager (this=<optimized out>, srcDataManager=<optimized out>, dstDataManager=<optimized out>, srcOffset=..., dstOffset=..., originalRect=..., lod=1) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:277
#3  0x00007ffff5f38ba8 in KisPaintDevice::Private::updateLodDataStruct (this=0x555565509da0, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#4  0x00007ffff5eb5de6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#5  0x00007ffff5d88eb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#6  0x00007ffff2cb5912 in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1233 (Thread 0x7fff877fd700 (LWP 24896)):
#0  0x00007ffff1b8877c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff2cb850c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff2cb8659 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff2cb5b0b in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1232 (Thread 0x7fff87ffe700 (LWP 24895)):
#0  0x00007ffff1b8877c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff2cb850c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff2cb8659 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff2cb5b0b in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--

Thread 1231 (Thread 0x7fff917ff700 (LWP 24894)):
#0  0x00007ffff1b8877c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff2cb850c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff2cb8659 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff2cb5b0b in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1230 (Thread 0x7fffb23fb700 (LWP 24893)):
#0  0x00007ffff1b8877c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff2cb850c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff2cb8659 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff2cb5b0b in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1229 (Thread 0x7fff837f5700 (LWP 24892)):
#0  0x00007ffff1b8877c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff2cb850c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff2cb8659 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff2cb5b0b in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1228 (Thread 0x7fffb39fd700 (LWP 24891)):
#0  0x00007ffff1b8877c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff2cb850c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff2cb8659 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff2cb5b0b in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1227 (Thread 0x7fff90ffe700 (LWP 24890)):
#0  0x00007ffff1b8877c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff2cb850c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff2cb8659 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff2cb5b0b in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1226 (Thread 0x7fff83ff6700 (LWP 24889)):
#0  0x00007ffff1b8877c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff2cb850c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff2cb8659 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff2cb5b0b in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 12 (Thread 0x7fffcb7fe700 (LWP 22673)):
#0  0x00007ffff27d6667 in poll () from /usr/lib/libc.so.6
#1  0x00007ffff0bc0a80 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ffff0bc0b51 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff2ed79bc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2e7e5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff2cb12f5 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 11 (Thread 0x7fffcbfff700 (LWP 22672)):
#0  0x00007ffff27d6667 in poll () from /usr/lib/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#1  0x00007ffff0bc0a80 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ffff0bc0b51 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff2ed79a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2e7e5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff2cb12f5 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007fffe564f61b in ?? () from /usr/lib/libQt5Quick.so.5
#7  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 10 (Thread 0x7fffdb7fe700 (LWP 22671)):
#0  0x00007ffff27d6667 in poll () from /usr/lib/libc.so.6
#1  0x00007ffff0bc0a80 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ffff0bc0b51 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff2ed79a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2e7e5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff2cb12f5 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007fffe53738f9 in ?? () from /usr/lib/libQt5Qml.so.5
#7  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 9 (Thread 0x7fffdaffd700 (LWP 22670)):
#0  0x00007ffff27ae36d in nanosleep () from /usr/lib/libc.so.6
#1  0x00007ffff2ed72ff in ?? () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff5db08ea in KisTileDataSwapper::run (this=0x7ffff60cc240 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:97
#3  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7fffdbfff700 (LWP 22668)):
#0  0x00007ffff27d6667 in poll () from /usr/lib/libc.so.6
#1  0x00007ffff0bc0a80 in ?? () from /usr/lib/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
#2  0x00007ffff0bc0b51 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff2ed79a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2e7e5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff2cb12f5 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7fffe433c700 (LWP 22667)):
#0  0x00007ffff27d6667 in poll () from /usr/lib/libc.so.6
#1  0x00007ffff0bc0a80 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ffff0bc0b51 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff2ed79a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff2e7e5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff2cb12f5 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007ffff4d84b37 in ?? () from /usr/lib/libQt5DBus.so.5
#7  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7fffed2d6700 (LWP 22666)):
#0  0x00007ffff27d6667 in poll () from /usr/lib/libc.so.6
#1  0x00007ffff450f630 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007ffff45112db in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007fffeda7e049 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#4  0x00007ffff2cb2520 in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b8257f in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff27e10e3 in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7fffedece840 (LWP 22657)):
#0  0x00007ffff27d6667 in poll () from /usr/lib/libc.so.6
#1  0x00007ffff0bc0a80 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ffff0bc0b51 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff2ed79a3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#4  0x00007ffff2e7e5ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff2e86326 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#6  0x0000555555e4e1f2 in main (argc=<optimized out>, argv=0x7fffffffe528) at /mnt/attic/krita-build/src/krita/krita/main.cc:535
(gdb) 

-----

Operating System: Arch Linux 
KDE Plasma Version: 5.16.4
KDE Frameworks Version: 5.61.0
Qt Version: 5.13.0
Kernel Version: 5.2.9-arch1-1-ARCH
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-4790K CPU @ 4.00GHz
Memory: 15.6 GiB of RAM
Comment 1 Halla Rempt 2019-08-27 08:04:39 UTC
This backtrace is a bit clearer:

Thread 15 (Thread 0x7f28a91f3700 (LWP 21998)):
[KCrash Handler]
#6  0x00007f292376e755 in raise () from /usr/lib/libc.so.6
#7  0x00007f2923759851 in abort () from /usr/lib/libc.so.6
#8  0x00007f2923759727 in __assert_fail_base.cold () from /usr/lib/libc.so.6
#9  0x00007f2923767026 in __assert_fail () from /usr/lib/libc.so.6
#10 0x00007f2922bdcad4 in __pthread_tpp_change_priority () from /usr/lib/libpthread.so.0
#11 0x00007f2922bd3890 in __pthread_mutex_lock_full () from /usr/lib/libpthread.so.0
#12 0x00007f2923d074a6 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/libQt5Core.so.5
#13 0x00007f2923d07692 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#14 0x00007f2926dec302 in SimpleJobCoordinator::participate (this=0x7f28cc3b4b50) at /mnt/attic/krita-build/src/krita/libs/image/3rdparty/lock_free_map/simple_job_coordinator.h:74
#15 ConcurrentMap<unsigned int, KisTile*, DefaultKeyTraits<unsigned int>, DefaultValueTraits<KisTile*> >::Mutator::exchangeValue (desired=<optimized out>, this=0x7f28a91f2920) at /mnt/attic/krita-build/src/krita/libs/image/3rdparty/lock_free_map/concurrent_map.h:174
#16 KisTileHashTableTraits2<KisTile>::getTileLazy (this=<optimized out>, col=col@entry=21, row=row@entry=2, newTile=@0x7f28a91f29c7: false) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_tile_hash_table2.h:342
#17 0x00007f2926dfe02a in KisTiledDataManager::getTile (writable=<optimized out>, row=2, col=21, this=0x7f28d4028290) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_tiled_data_manager.h:120
#18 KisTiledDataManager::getTilesPair (oldTile=0x7f28a422d690, tile=0x7f28a422d688, writable=<optimized out>, row=2, col=21, this=0x7f28d4028290) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_tiled_data_manager.h:107
#19 KisHLineIterator2::fetchTileDataForCache (this=0x7f28a41e5330, kti=..., col=21, row=2) at /mnt/attic/krita-build/src/krita/libs/image/tiles3/kis_hline_iterator.cpp:206
#20 0x00007f2926dfeff1 in KisHLineIterator2::KisHLineIterator2 (this=0x7f28a41e5330, dataManager=0x7f28d4028290, x=1280, y=<optimized out>, w=<optimized out>, offsetX=<optimized out>, offsetY=0, writable=true, competionListener=0x7f28840a4060, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/include/qt/QtCore/qarraydata.h:211
#21 0x00007f2926f9a4c9 in KisPaintDevice::Private::KisPaintDeviceStrategy::createHLineIteratorNG (this=<optimized out>, dataManager=0x7f28d4028290, x=1280, y=128, w=128, offsetX=0, offsetY=0) at /mnt/attic/krita-build/src/krita/libs/image/kis_paint_device_data.h:262
#22 0x00007f2926f8d47a in KisPaintDevice::Private::StrategyPolicy::createIterator (rect=<synthetic pointer>..., this=<synthetic pointer>) at /usr/include/qt/QtCore/qrect.h:266
#23 WritableIteratorPolicy<KisPaintDevice::Private::StrategyPolicy>::WritableIteratorPolicy (rect=<synthetic pointer>..., source=..., this=0x7f28a91f2b80) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:83
#24 KisSequentialIteratorBase<WritableIteratorPolicy<KisPaintDevice::Private::StrategyPolicy>, KisPaintDevice::Private::StrategyPolicy, NoProgressPolicy>::KisSequentialIteratorBase (progressPolicy=..., rect=<synthetic pointer>..., source=..., this=0x7f28a91f2b80) at /mnt/attic/krita-build/src/krita/libs/image/kis_sequential_iterator.h:200
#25 KisPaintDevice::Private::updateLodDataManager (this=0x562431568620, srcDataManager=<optimized out>, dstDataManager=0x7f28d4028290, srcOffset=..., dstOffset=..., originalRect=..., lod=2) at /mnt/attic/krita-build/src/krita/libs/image/kis_paint_device.cc:743
#26 0x00007f2926f8dbc8 in KisPaintDevice::Private::updateLodDataStruct (this=0x562431568620, _dst=<optimized out>, originalRect=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:318
#27 0x00007f2926f0ade6 in KisSyncLodCacheStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /mnt/attic/krita-build/src/krita/libs/image/kis_sync_lod_cache_stroke_strategy.cpp:108
#28 0x00007f2926dddeb4 in non-virtual thunk to KisUpdateJobItem::run() () at /usr/include/qt/QtCore/qarraydata.h:236
#29 0x00007f2923d04912 in ?? () from /usr/lib/libQt5Core.so.5
#30 0x00007f2923d01520 in ?? () from /usr/lib/libQt5Core.so.5
#31 0x00007f2922bd157f in start_thread () from /usr/lib/libpthread.so.0
#32 0x00007f29238300e3 in clone () from /usr/lib/libc.so.6
Comment 2 Halla Rempt 2019-08-27 11:17:14 UTC
*** Bug 411224 has been marked as a duplicate of this bug. ***
Comment 3 Dmitry Kazakov 2019-08-28 12:49:20 UTC
Git commit 4613587dfa5d0f1eab258cf1126f6e7782af247d by Dmitry Kazakov.
Committed on 28/08/2019 at 12:48.
Pushed by dkazakov into branch 'master'.

Fix a possible crash in SimpleJobCoordinator during migrations

We have no report about that is a wild, but it is quite possible. All the
accesses to the hash table should be guarded by the GC block. No garbage
should be free'd during the access to hash table, otherwise concurrent
migrations can delete currently used data.

M  +14   -0    libs/image/tiles3/kis_tile_data_store.cc

https://invent.kde.org/kde/krita/commit/4613587dfa5d0f1eab258cf1126f6e7782af247d
Comment 4 Dmitry Kazakov 2019-08-28 12:49:20 UTC
Git commit c9c4ac82d70d4f0e4c56ad680560e2ccb6f5eb82 by Dmitry Kazakov.
Committed on 28/08/2019 at 12:48.
Pushed by dkazakov into branch 'master'.

Fix crash when painting in SimpleJobCoordinator

Mutator must be accessed only when raw pointers are locked. Otherwise,
a migration, that can happen right in the middle of the mutator's life,
will be deleted and the mutator will point to a free'd memory.

M  +38   -34   libs/image/tiles3/kis_tile_hash_table2.h

https://invent.kde.org/kde/krita/commit/c9c4ac82d70d4f0e4c56ad680560e2ccb6f5eb82
Comment 5 Dmitry Kazakov 2019-09-13 09:59:53 UTC
Git commit 2b07a7f4bd5009e3549cd8bb662af9e2f954a414 by Dmitry Kazakov.
Committed on 13/09/2019 at 08:56.
Pushed by dkazakov into branch 'krita/4.2'.

Fix crash when painting in SimpleJobCoordinator

Mutator must be accessed only when raw pointers are locked. Otherwise,
a migration, that can happen right in the middle of the mutator's life,
will be deleted and the mutator will point to a free'd memory.

M  +38   -34   libs/image/tiles3/kis_tile_hash_table2.h

https://invent.kde.org/kde/krita/commit/2b07a7f4bd5009e3549cd8bb662af9e2f954a414
Comment 6 Dmitry Kazakov 2019-09-13 09:59:53 UTC
Git commit a52f654bc481d3425c1c8178ce40e44b76e3e224 by Dmitry Kazakov.
Committed on 13/09/2019 at 08:56.
Pushed by dkazakov into branch 'krita/4.2'.

Fix a possible crash in SimpleJobCoordinator during migrations

We have no report about that is a wild, but it is quite possible. All the
accesses to the hash table should be guarded by the GC block. No garbage
should be free'd during the access to hash table, otherwise concurrent
migrations can delete currently used data.

M  +14   -0    libs/image/tiles3/kis_tile_data_store.cc

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