https://bugs.kde.org/show_bug.cgi?id=410387
wolthera <griffinval...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 CC| |griffinval...@gmail.com Status|REPORTED |CONFIRMED --- Comment #1 from wolthera <griffinval...@gmail.com> --- Can you share that palette? I do get an asan backtrace with a totally different palette, but it'd be nice if we had the original palette. ================================================================ ==24394==AddressSanitizer: while reporting a bug found another one. Ignoring. ==24394==ERROR: AddressSanitizer: heap-use-after-free on address 0x60400202f610 at pc 0x7fffe6224354 bp 0x7fff7abd09c0 sp 0x7fff7abd09b0 READ of size 4 at 0x60400202f610 thread T24 (Thread (pooled)) ==24394==AddressSanitizer: while reporting a bug found another one. Ignoring. ==24394==AddressSanitizer: while reporting a bug found another one. Ignoring. #0 0x7fffe6224353 in std::__atomic_base<int>::load(std::memory_order) const /usr/include/c++/7/bits/atomic_base.h:396 #1 0x7fffe6224353 in int QAtomicOps<int>::load<int>(std::atomic<int> const&) /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:227 #2 0x7fffe6221f3d in QBasicAtomicInteger<int>::load() const /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:103 #3 0x7fffe621f1eb in QtPrivate::RefCount::ref() /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:55 #4 0x7fffe6e3cab4 in QMap<int, KisSwatch>::QMap(QMap<int, KisSwatch> const&) /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:624 #5 0x7fffe6e3a3ed in QVector<QMap<int, KisSwatch> >::reallocData(int, int, QFlags<QArrayData::AllocationOption>) /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:581 #6 0x7fffe6e3b67f in QVector<QMap<int, KisSwatch> >::detach() /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:390 #7 0x7fffe6e394c6 in QVector<QMap<int, KisSwatch> >::data() /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:127 #8 0x7fffe6e375f2 in QVector<QMap<int, KisSwatch> >::operator[](int) /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:438 #9 0x7fffe6e34615 in KisSwatchGroup::checkEntry(int, int) const /home/wolthera/krita/src/libs/pigment/resources/KisSwatchGroup.cpp:83 #10 0x7fffe6e03ea0 in KoColorSet::getColorGlobal(unsigned int, unsigned int) const /home/wolthera/krita/src/libs/pigment/resources/KoColorSet.cpp:308 #11 0x7fffb9390e32 in KisFilterPalettize::processImpl(KisSharedPtr<KisPaintDevice>, QRect const&, KisPinnedSharedPtr<KisFilterConfiguration>, KoUpdater*) const /home/wolthera/krita/src/plugins/filters/palettize/palettize.cpp:201 #12 0x7fffedacfd8c in KisFilter::process(KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisSelection>, QRect const&, KisPinnedSharedPtr<KisFilterConfiguration>, KoUpdater*) const /home/wolthera/krita/src/libs/image/filter/kis_filter.cc:88 #13 0x7fffedcf3b5c in KisUpdateOriginalVisitor::visit(KisAdjustmentLayer*) /home/wolthera/krita/src/libs/image/kis_async_merger.cpp:127 #14 0x7fffedbf30b4 in KisAdjustmentLayer::accept(KisNodeVisitor&) /home/wolthera/krita/src/libs/image/kis_adjustment_layer.cc:115 #15 0x7fffede584dd in KisProjectionLeaf::accept(KisNodeVisitor&) /home/wolthera/krita/src/libs/image/kis_projection_leaf.cpp:245 #16 0x7fffedce8623 in KisAsyncMerger::startMerge(KisBaseRectsWalker&, bool) /home/wolthera/krita/src/libs/image/kis_async_merger.cpp:265 #17 0x7fffee39ba9b in KisUpdateJobItem::runMergeJob() /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../src/libs/image/kis_update_job_item.h:118 #18 0x7fffee39b6b1 in KisUpdateJobItem::run() /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../src/libs/image/kis_update_job_item.h:86 #19 0x7fffeb31e3e1 (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xac3e1) #20 0x7fffeb319c71 (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xa7c71) #21 0x7fffea2bc6da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da) #22 0x7fffeaa0188e in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x12188e) 0x60400202f610 is located 0 bytes inside of 40-byte region [0x60400202f610,0x60400202f638) freed by thread T24 (Thread (pooled)) here: #0 0x7ffff6efb9d8 in operator delete(void*, unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe19d8) #1 0x7fffe6e3e274 in QMapData<int, KisSwatch>::destroy() /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:251 #2 0x7fffe6e3dfec in QMap<int, KisSwatch>::~QMap() /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:339 #3 0x7fffe6e3ca49 in QVector<QMap<int, KisSwatch> >::destruct(QMap<int, KisSwatch>*, QMap<int, KisSwatch>*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:351 #4 0x7fffe6e39227 in QVector<QMap<int, KisSwatch> >::freeData(QTypedArrayData<QMap<int, KisSwatch> >*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:542 #5 0x7fffe6e3690f in QVector<QMap<int, KisSwatch> >::~QVector() /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:73 #6 0x7fffe6e39337 in KisSwatchGroup::Private::~Private() /home/wolthera/krita/src/libs/pigment/resources/KisSwatchGroup.cpp:24 #7 0x7fffe6e39364 in QScopedPointerDeleter<KisSwatchGroup::Private>::cleanup(KisSwatchGroup::Private*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:60 #8 0x7fffe6e37498 in QScopedPointer<KisSwatchGroup::Private, QScopedPointerDeleter<KisSwatchGroup::Private> >::reset(KisSwatchGroup::Private*) /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:159 #9 0x7fffe6e343c0 in KisSwatchGroup::operator=(KisSwatchGroup const&) /home/wolthera/krita/src/libs/pigment/resources/KisSwatchGroup.cpp:62 #10 0x7fffe6e03e83 in KoColorSet::getColorGlobal(unsigned int, unsigned int) const /home/wolthera/krita/src/libs/pigment/resources/KoColorSet.cpp:306 #11 0x7fffb9390e32 in KisFilterPalettize::processImpl(KisSharedPtr<KisPaintDevice>, QRect const&, KisPinnedSharedPtr<KisFilterConfiguration>, KoUpdater*) const /home/wolthera/krita/src/plugins/filters/palettize/palettize.cpp:201 #12 0x7fffedacfd8c in KisFilter::process(KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisSelection>, QRect const&, KisPinnedSharedPtr<KisFilterConfiguration>, KoUpdater*) const /home/wolthera/krita/src/libs/image/filter/kis_filter.cc:88 #13 0x7fffedcf3b5c in KisUpdateOriginalVisitor::visit(KisAdjustmentLayer*) /home/wolthera/krita/src/libs/image/kis_async_merger.cpp:127 #14 0x7fffedbf30b4 in KisAdjustmentLayer::accept(KisNodeVisitor&) /home/wolthera/krita/src/libs/image/kis_adjustment_layer.cc:115 #15 0x7fffede584dd in KisProjectionLeaf::accept(KisNodeVisitor&) /home/wolthera/krita/src/libs/image/kis_projection_leaf.cpp:245 #16 0x7fffedce8623 in KisAsyncMerger::startMerge(KisBaseRectsWalker&, bool) /home/wolthera/krita/src/libs/image/kis_async_merger.cpp:265 #17 0x7fffee39ba9b in KisUpdateJobItem::runMergeJob() /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../src/libs/image/kis_update_job_item.h:118 #18 0x7fffee39b6b1 in KisUpdateJobItem::run() /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../src/libs/image/kis_update_job_item.h:86 #19 0x7fffeb31e3e1 (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xac3e1) previously allocated by thread T0 here: #0 0x7ffff6efa458 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe0458) #1 0x7fffeb38951d in QMapDataBase::createData() (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x11751d) #2 0x7fffe6e3ccac in QMap<int, KisSwatch>::detach_helper() /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:1006 #3 0x7fffe6e395fd in QMap<int, KisSwatch>::detach() /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:364 #4 0x7fffe6e376c5 in QMap<int, KisSwatch>::operator[](int const&) /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:673 #5 0x7fffe6e34545 in KisSwatchGroup::setEntry(KisSwatch const&, int, int) /home/wolthera/krita/src/libs/pigment/resources/KisSwatchGroup.cpp:75 #6 0x7fffe6e26854 in KoColorSet::Private::loadKplGroup(QDomDocument const&, QDomElement const&, KisSwatchGroup*) /home/wolthera/krita/src/libs/pigment/resources/KoColorSet.cpp:1644 #7 0x7fffe6e12dc9 in KoColorSet::Private::loadKpl() /home/wolthera/krita/src/libs/pigment/resources/KoColorSet.cpp:1001 #8 0x7fffe6e0ae06 in KoColorSet::Private::init() /home/wolthera/krita/src/libs/pigment/resources/KoColorSet.cpp:718 #9 0x7fffe6e01efa in KoColorSet::loadFromDevice(QIODevice*) /home/wolthera/krita/src/libs/pigment/resources/KoColorSet.cpp:161 #10 0x7fffe6e0191f in KoColorSet::load() /home/wolthera/krita/src/libs/pigment/resources/KoColorSet.cpp:145 #11 0x7fffe8374f09 in KoResourceServer<KoColorSet, PointerStoragePolicy<KoColorSet> >::loadResources(QStringList) /home/wolthera/krita/src/libs/widgets/KoResourceServer.h:203 #12 0x7fffe8366aa1 in KoResourceServerProvider::KoResourceServerProvider() /home/wolthera/krita/src/libs/widgets/KoResourceServerProvider.cpp:137 #13 0x7fffe8368084 in Holder /home/wolthera/krita/src/libs/widgets/KoResourceServerProvider.cpp:157 #14 0x7fffe8368120 in innerFunction /home/wolthera/krita/src/libs/widgets/KoResourceServerProvider.cpp:157 #15 0x7fffe83686f5 in operator QGlobalStatic<KoResourceServerProvider, (anonymous namespace)::Q_QGS_s_instance::innerFunction, (anonymous namespace)::Q_QGS_s_instance::guard>::Type* /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h:134 #16 0x7fffe8368185 in KoResourceServerProvider::instance() /home/wolthera/krita/src/libs/widgets/KoResourceServerProvider.cpp:161 #17 0x7ffff248f4e3 in KisApplication::loadResources() /home/wolthera/krita/src/libs/ui/KisApplication.cpp:287 #18 0x7ffff249163c in KisApplication::start(KisApplicationArguments const&) /home/wolthera/krita/src/libs/ui/KisApplication.cpp:425 #19 0x555557932893 in main /home/wolthera/krita/src/krita/main.cc:513 #20 0x7fffea901b96 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b96) Thread T24 (Thread (pooled)) created by T21 (Thread (pooled)) here: #0 0x7ffff6e51d2f in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x37d2f) #1 0x7fffeb3192ed in QThread::start(QThread::Priority) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xa72ed) Thread T21 (Thread (pooled)) created by T0 here: #0 0x7ffff6e51d2f in __interceptor_pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x37d2f) #1 0x7fffeb3192ed in QThread::start(QThread::Priority) (/usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0xa72ed) SUMMARY: AddressSanitizer: heap-use-after-free /usr/include/c++/7/bits/atomic_base.h:396 in std::__atomic_base<int>::load(std::memory_order) const Shadow bytes around the buggy address: 0x0c08803fde70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c08803fde80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c08803fde90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c08803fdea0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c08803fdeb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x0c08803fdec0: fa fa[fd]fd fd fd fd fa fa fa fa fa fa fa fa fa 0x0c08803fded0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c08803fdee0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c08803fdef0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c08803fdf00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c08803fdf10: fa fa 00 00 00 00 00 fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==24394==ABORTING [Thread 0x7fff7617a700 (LWP 25230) exited] [Thread 0x7fff7abd4700 (LWP 25229) exited] [Thread 0x7fff7bbd6700 (LWP 25228) exited] [Thread 0x7fff7a3d3700 (LWP 25227) exited] [Thread 0x7fff7b3d5700 (LWP 25226) exited] [Thread 0x7fff9d048700 (LWP 25016) exited] [Thread 0x7fff9e0af700 (LWP 25003) exited] [Thread 0x7fff93272700 (LWP 24816) exited] [Thread 0x7fff95475700 (LWP 24810) exited] [Thread 0x7fffc508c700 (LWP 24549) exited] [Thread 0x7fffd3e21700 (LWP 24548) exited] [Thread 0x7fffcf97d700 (LWP 24543) exited] [Thread 0x7ffff7f8ce80 (LWP 24394) exited] [Inferior 1 (process 24394) exited with code 01] (gdb) -- You are receiving this mail because: You are watching all bug changes.