Bug 418261

Summary: Krita crashes on exit
Product: [Applications] krita Reporter: justinacolmena <justina.colmena>
Component: UsabilityAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: ghevan, halla
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description justinacolmena 2020-02-27 18:47:29 UTC
SUMMARY
Krita crashes on exit

STEPS TO REPRODUCE
1. Work on drawings in krita.
2. Save work.
3. Quit krita.

OBSERVED RESULT


EXPECTED RESULT
Close the paint program gracefully.

SOFTWARE/OS VERSIONS
Linux Kernel Version: 5.5.5-200.fc31.x86_64
KDE Plasma Version:  5.17.5
KDE Frameworks Version: 5.67.0
Qt Version: 5.13.2

ADDITIONAL INFORMATION
Application: krita (krita), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f684b019840 (LWP 8184))]

Thread 2 (Thread 0x7f68017fa700 (LWP 8242)):
#0  0x00007fffe86f98c3 in clock_gettime ()
#1  0x00007f684fb9f6ab in clock_gettime@GLIBC_2.2.5 () from /lib64/libc.so.6
#2  0x00007f6850179035 in qt_gettime() () from /lib64/libQt5Core.so.5
#3  0x00007f6850177b7d in QTimerInfoList::updateCurrentTime() () from /lib64/libQt5Core.so.5
#4  0x00007f6850177f89 in QTimerInfoList::timerWait(timespec&) () from /lib64/libQt5Core.so.5
#5  0x00007f68501794f4 in timerSourcePrepareHelper(GTimerSource*, int*) () from /lib64/libQt5Core.so.5
#6  0x00007f68501795a2 in timerSourcePrepare(_GSource*, int*) () from /lib64/libQt5Core.so.5
#7  0x00007f684d6dbd9a in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#8  0x00007f684d6dc74b in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#9  0x00007f684d6dc953 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#10 0x00007f6850179843 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#11 0x00007f68501231db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#12 0x00007f684ff73c45 in QThread::exec() () from /lib64/libQt5Core.so.5
#13 0x00007f684df8af6a in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#14 0x00007f684ff74d96 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#15 0x00007f684df584e2 in start_thread () from /lib64/libpthread.so.0
#16 0x00007f684fbd86d3 in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f684b019840 (LWP 8184)):
[KCrash Handler]
#6  0x00007f684ff79aef in QThreadStorageData::get() const () from /lib64/libQt5Core.so.5
#7  0x00007f6850021fdb in qtPcreCallback(void*) () from /lib64/libQt5Core.so.5
#8  0x00007f684d7f7ec0 in pcre2_jit_match_16 () from /lib64/libpcre2-16.so.0
#9  0x00007f684d7f8d99 in pcre2_match_16 () from /lib64/libpcre2-16.so.0
#10 0x00007f6850022168 in safe_pcre2_match_16(pcre2_real_code_16 const*, unsigned short const*, int, int, int, pcre2_real_match_data_16*, pcre2_real_match_context_16*) () from /lib64/libQt5Core.so.5
#11 0x00007f68500253f4 in QRegularExpressionPrivate::doMatch(QString const&, int, int, int, QRegularExpression::MatchType, QFlags<QRegularExpression::MatchOption>, QRegularExpressionPrivate::CheckSubjectStringOption, QRegularExpressionMatchPrivate const*) const () from /lib64/libQt5Core.so.5
#12 0x00007f6850025840 in QRegularExpression::match(QString const&, int, QRegularExpression::MatchType, QFlags<QRegularExpression::MatchOption>) const () from /lib64/libQt5Core.so.5
#13 0x00007f684e9aa295 in QDomDocumentPrivate::saveDocument(QTextStream&, int, QDomNode::EncodingPolicy) const () from /lib64/libQt5Xml.so.5
#14 0x00007f684e9aeeb8 in QDomDocument::toString(int) const () from /lib64/libQt5Xml.so.5
#15 0x00007f684f3dff51 in KoResourceTagStore::writeXMLFile(QString const&) () from /lib64/libkritawidgets.so.18
#16 0x00007f684f3e04b9 in KoResourceTagStore::serializeTags() () from /lib64/libkritawidgets.so.18
#17 0x00007f684f3e0632 in KoResourceTagStore::~KoResourceTagStore() () from /lib64/libkritawidgets.so.18
#18 0x00007f68524062cc in KoResourceServer<KisResourceBundle, PointerStoragePolicy<KisResourceBundle> >::~KoResourceServer() () from /lib64/libkritaui.so.18
#19 0x00007f6852406617 in KoResourceServerSimpleConstruction<KisResourceBundle, PointerStoragePolicy<KisResourceBundle> >::~KoResourceServerSimpleConstruction() () from /lib64/libkritaui.so.18
#20 0x00007f6852404d55 in KisResourceBundleServerProvider::~KisResourceBundleServerProvider() () from /lib64/libkritaui.so.18
#21 0x00007f6852404d6d in (anonymous namespace)::Q_QGS_s_instance::innerFunction()::Holder::~Holder() () from /lib64/libkritaui.so.18
#22 0x00007f684fb15e87 in __run_exit_handlers () from /lib64/libc.so.6
#23 0x00007f684fb16040 in exit () from /lib64/libc.so.6
#24 0x00007f684fafe1aa in __libc_start_main () from /lib64/libc.so.6
#25 0x0000558437855f4e in _start ()
[Inferior 1 (process 8184) detached]

The packages containing debug information for the following application and libraries are missing:

/usr/bin/krita
/lib64/libkritaui.so.18
/lib64/libQt5Xml.so.5
/lib64/libkritawidgets.so.18
/lib64/libpcre2-16.so.0
/lib64/libQt5Core.so.5
Comment 1 vanyossi 2020-02-28 03:51:11 UTC
Is your krita version 4.2.8?

You are using Qt 5.13 and on every major Qt version release somethings break. Because of this we don't go with every version. Krita currently is tested to run with Qt 5.12 optimally, but should work with previous versions down to 5.9. For no crashes I suggest downloading the appimage, as we bundle it with Qt 5.12
Comment 2 Halla Rempt 2020-02-28 16:32:24 UTC
I also guess that the Fedora rpm's are a bit old; Krita 4.2.8 has a workaround for this bug in Qt 5.13 and up.