Bug 442567 - crash EXC_BAD_ACCESS QList, QWeakPointer
Summary: crash EXC_BAD_ACCESS QList, QWeakPointer
Status: RESOLVED WORKSFORME
Alias: None
Product: krita
Classification: Applications
Component: * Unknown (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other macOS
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-16 23:10 UTC by vanyossi
Modified: 2021-10-15 17:50 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vanyossi 2021-09-16 23:10:59 UTC
Some crashes I encounter when launching krita. Some might be already fixed, and some could be glitches as I could never reproduce them again. I paste the backtrace in hopes of be certain the bug cannot happen again.

BACKTRACE

Process 64808 stopped
* thread #18, name = 'Thread (pooled)', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x000000010204ee2c libkritaflake.17.dylib`QList<QPointer<KoDocumentResourceManager> >::node_copy(QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*) [inlined] QWeakPointer<QObject>::QWeakPointer(this=0x000000010ca34490, other=<unavailable>) at qsharedpointer_impl.h:589:70 [opt]
   586      { return *this = QWeakPointer(ptr); }
   587  #endif
   588
-> 589      QWeakPointer(const QWeakPointer &other) Q_DECL_NOTHROW : d(other.d), value(other.value)
   590      { if (d) d->weakref.ref(); }
   591  #ifdef Q_COMPILER_RVALUE_REFS
   592      QWeakPointer(QWeakPointer &&other) Q_DECL_NOTHROW
Target 0: (krita) stopped.



* thread #18, name = 'Thread (pooled)', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x000000010204ee2c libkritaflake.17.dylib`QList<QPointer<KoDocumentResourceManager> >::node_copy(QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*) [inlined] QWeakPointer<QObject>::QWeakPointer(this=0x000000010ca34490, other=<unavailable>) at qsharedpointer_impl.h:589:70 [opt]
    frame #1: 0x000000010204ee2c libkritaflake.17.dylib`QList<QPointer<KoDocumentResourceManager> >::node_copy(QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*) [inlined] QWeakPointer<QObject>::QWeakPointer(this=0x000000010ca34490, other=<unavailable>) at qsharedpointer_impl.h:590 [opt]
    frame #2: 0x000000010204ee2c libkritaflake.17.dylib`QList<QPointer<KoDocumentResourceManager> >::node_copy(QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*) [inlined] QPointer<KoDocumentResourceManager>::QPointer(this=0x000000010ca34490, (null)=<unavailable>) at qpointer.h:53 [opt]
    frame #3: 0x000000010204ee2c libkritaflake.17.dylib`QList<QPointer<KoDocumentResourceManager> >::node_copy(QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*, QList<QPointer<KoDocumentResourceManager> >::Node*) [inlined] QPointer<KoDocumentResourceManager>::QPointer(this=0x000000010ca34490, (null)=<unavailable>) at qpointer.h:53 [opt]
    frame #4: 0x000000010204ee2c libkritaflake.17.dylib`QList<QPointer<KoDocumentResourceManager> >::node_copy(this=<unavailable>, from=0x000000010ca39850, to=<unavailable>, src=<unavailable>) at qlist.h:465 [opt]
    frame #5: 0x000000010204ec40 libkritaflake.17.dylib`QList<QPointer<KoDocumentResourceManager> >::detach_helper_grow(this=0x000000012c844360, i=<unavailable>, c=1) at qlist.h:761:9 [opt]
    frame #6: 0x000000010204d2d0 libkritaflake.17.dylib`QList<QPointer<KoDocumentResourceManager> >::append(this=0x000000012c844360, t=0x0000000170746a00) at qlist.h:585:19 [opt]
    frame #7: 0x000000010204d204 libkritaflake.17.dylib`KoShapeFactoryBase::newDocumentResourceManager(this=0x0000000128075760, manager=0x000000010ca34470) const at KoShapeFactoryBase.cpp:166:25 [opt]
    frame #8: 0x000000010202cbf0 libkritaflake.17.dylib`KoshapeControllerBasePrivate::KoshapeControllerBasePrivate(this=0x000000010ca23350) at KoShapeControllerBase.cpp:31:27 [opt]
    frame #9: 0x000000010202c9cc libkritaflake.17.dylib`KoShapeControllerBase::KoShapeControllerBase() [inlined] KoshapeControllerBasePrivate::KoshapeControllerBasePrivate(this=<unavailable>) at KoShapeControllerBase.cpp:27:5 [opt]
    frame #10: 0x000000010202c9c8 libkritaflake.17.dylib`KoShapeControllerBase::KoShapeControllerBase(this=0x000000010ca345a8) at KoShapeControllerBase.cpp:51 [opt]
    frame #11: 0x00000001008ddd58 libkritaui.17.dylib`KisShapeController::KisShapeController(this=0x000000010ca34590, nameServer=0x000000010ca0d260, undoStack=0x000000013dbbe0b0, parent=<unavailable>) at kis_shape_controller.cpp:61:21 [opt]
    frame #12: 0x0000000100c35c50 libkritaui.17.dylib`KisDocument::KisDocument(this=0x000000010cb82e90, addStorage=<unavailable>) at KisDocument.cpp:589:30 [opt]
    frame #13: 0x0000000100c87fd0 libkritaui.17.dylib`KisPart::createTemporaryDocument(this=<unavailable>) const at KisPart.cpp:219:28 [opt]
    frame #14: 0x0000000100b84788 libkritaui.17.dylib`KisFileIconCreator::createFileIcon(this=<unavailable>, path=QString @ 0x0000000170746c30, icon=0x0000000170746ca8, devicePixelRatioF=<unavailable>, iconSize=(wd = 96, ht = 96), dontUpsize=false) at KisFileIconCreator.cpp:118:44 [opt]
    frame #15: 0x0000000100b853d0 libkritaui.17.dylib`getFileIcon(gfip=GetFileIconParameters @ 0x0000000170746cb0) at KisRecentDocumentsModelWrapper.cpp:77:50 [opt]
    frame #16: 0x0000000100b88784 libkritaui.17.dylib`QtConcurrent::MappedEachKernel<SelfContainedIterator, QtConcurrent::FunctionWrapper1<KisRecentDocumentsModelWrapper::IconFetchResult, GetFileIconParameters> >::runIteration(SelfContainedIterator, int, KisRecentDocumentsModelWrapper::IconFetchResult*) [inlined] QtConcurrent::FunctionWrapper1<KisRecentDocumentsModelWrapper::IconFetchResult, GetFileIconParameters>::operator(this=<unavailable>, u=GetFileIconParameters @ 0x0000000170746c70)(GetFileIconParameters) at qtconcurrentfunctionwrappers.h:80:16 [opt]
    frame #17: 0x0000000100b88764 libkritaui.17.dylib`QtConcurrent::MappedEachKernel<SelfContainedIterator, QtConcurrent::FunctionWrapper1<KisRecentDocumentsModelWrapper::IconFetchResult, GetFileIconParameters> >::runIteration(this=<unavailable>, it=<unavailable>, (null)=<unavailable>, result=0x000000010ff04368) at qtconcurrentmapkernel.h:175 [opt]
    frame #18: 0x0000000100b888bc libkritaui.17.dylib`QtConcurrent::MappedEachKernel<SelfContainedIterator, QtConcurrent::FunctionWrapper1<KisRecentDocumentsModelWrapper::IconFetchResult, GetFileIconParameters> >::runIterations(this=0x000000013e57df60, sequenceBeginIterator=<unavailable>, begin=<unavailable>, end=7, results=<unavailable>) at qtconcurrentmapkernel.h:185:13 [opt]
    frame #19: 0x0000000100b88eb4 libkritaui.17.dylib`QtConcurrent::IterateKernel<SelfContainedIterator, KisRecentDocumentsModelWrapper::IconFetchResult>::forThreadFunction(this=0x000000013e57df60) at qtconcurrentiteratekernel.h:255:49 [opt]
Comment 1 vanyossi 2021-10-15 17:50:48 UTC
Closing as I could not reproduce or encounter it after a month.