This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Krita Crash

Tags: None
(comma "," separated)
Abdelrahman Magdy
Registered Member
Posts
37
Karma
0

Krita Crash

Fri Aug 30, 2013 9:51 pm
It is not that important since it doesn't affect my work. When I try to close an unsaved document and I get to the warning message, if I chose to save the document, Krita saves it and closes, but then opens the KDE crash handler asking me to report the bug. This what terminal reads when this happens:
Code: Select all
krita(4155) KArchiveDirectory::addEntry: directory  "/" has entry "mimetype" already
QCoreApplication::postEvent: Unexpected null receiver
QCoreApplication::postEvent: Unexpected null receiver
KCrash: Application 'krita' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/abdelrahman/.kde/socket-abdelrahman-Inspiron-N5110/kdeinit4__0

[1]+  Stopped                 krita


And the Developer Information tab of the crash handler gives me the following:
Code: Select all
Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fea67952780 (LWP 4155))]

Thread 4 (Thread 0x7fea5342f700 (LWP 4156)):
#0  0x00007fea66df1313 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fea60425036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fea6042549a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fea5343498b in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fea604469e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fea608f1e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007fea66dfcccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fea52c2e700 (LWP 4157)):
#0  0x00007fea66def8cd in read () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fea6045f8cf in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fea60424ba4 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fea60424fd6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fea6042549a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fea56adc406 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#6  0x00007fea604469e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007fea608f1e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fea66dfcccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fea35560700 (LWP 4167)):
#0  0x00007fea66df6033 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fea64e76866 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fea64e7bcb2 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007fea64e7c1a3 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007fea64e48e62 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007fea64e490b7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007fea64d48077 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007fea64e28b6f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007fea64d4b09b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007fea608f1e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007fea66dfcccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fea67952780 (LWP 4155)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007fea64e62baa in QObject::~QObject() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007fea64e63369 in QObject::~QObject() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007fea626a3160 in ?? () from /usr/lib/x86_64-linux-gnu/libQtDBus.so.4
#10 0x00007fea64e630d0 in QObject::~QObject() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007fea62685699 in QDBusConnectionInterface::~QDBusConnectionInterface() () from /usr/lib/x86_64-linux-gnu/libQtDBus.so.4
#12 0x00007fea64e5ce35 in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#13 0x00007fea64e6309c in QObject::~QObject() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14 0x00007fea6268f8b8 in ?? () from /usr/lib/x86_64-linux-gnu/libQtDBus.so.4
#15 0x00007fea6268fb99 in ?? () from /usr/lib/x86_64-linux-gnu/libQtDBus.so.4
#16 0x00007fea62684d73 in ?? () from /usr/lib/x86_64-linux-gnu/libQtDBus.so.4
#17 0x00007fea66d44901 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#18 0x00007fea66d44985 in exit () from /lib/x86_64-linux-gnu/libc.so.6
#19 0x00007fea66d2a774 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#20 0x0000000000400661 in _start ()


As I said, I don't think it is that important since it doesn't affect my work, but I want to understand what is this??
User avatar
scummos
Global Moderator
Posts
1175
Karma
7
OS

Re: Krita Crash

Fri Aug 30, 2013 10:19 pm
An application has a lot of objects in memory, which are usually deleted in an ordered manner on shutdown. For most of the objects, this is irrelevant, but some might want to do cleanup when they are deleted, which might be relevant for future runs of the application. As a stupid example, an object describing an open file could have logic to add that file to the list of recently opened files when it is deleted. To make sure all such cleanup-functions are run properly, it makes sense to delete all the objects in an application's memory on shutdown. Usually, though, nothing too bad will happen when this cleanup does not run.

What happens here now is that something goes wrong during this process of deleting everyting from memory. This is a programming error of some kind, for example leading to objects being deleted twice -- and then the second attempt to delete the object will fail and will result in the crash you see. You can see lots of function names beginning with "~", those are called destructors and take care of said clean-up logic.

Just because the window closes doesn't mean the application isn't running any more; many KDE apps will close their main window, and only then perform this cleanup in the background (this takes from a few milliseconds to a few seconds, depending on the application). Thus the application is running a bit longer than you actually see it, and this crash here happens during that time.

What you should do is report a bug on bugs.kde.org with information on what you do exactly to reproduce this behaviour, and with the backtrace (the information you pasted below already) attached.

Cheers!
Sven


I'm working on the KDevelop IDE.
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Krita Crash

Sat Aug 31, 2013 6:59 am
What version of Krita are you using, exactly?
Abdelrahman Magdy
Registered Member
Posts
37
Karma
0

Re: Krita Crash

Sun Sep 01, 2013 9:59 am
Thank you Sven for you detailed explanation.

@boudewjin
I am using Krita 2.7 (the version available on Kubuntu backports ppa)
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Krita Crash

Mon Sep 02, 2013 9:35 am
Can you please ensure the QtDBus debugging symbols are installed?
If you needed to install them, please regenerate the backtrace.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Abdelrahman Magdy
Registered Member
Posts
37
Karma
0

Re: Krita Crash

Mon Sep 02, 2013 11:40 am
@bcooksley
Um sorry, but um a little bit new to Linux, so I don't know how to ensure that they are installed and install them if they are not
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Krita Crash

Wed Sep 04, 2013 10:21 am
You should be able to use your package manager to install and remove software and other packages. If I recall correctly, Kubuntu uses Apper or Muon to perform this task.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Abdelrahman Magdy
Registered Member
Posts
37
Karma
0

Re: Krita Crash

Fri Sep 06, 2013 11:17 am
These are the packages I found when I typed QtDBus in my package manager search box:

1) Qt 4 D-Bus module (libqt4-dbus)
2) Qt 4 D-Bus tool (qdbus)

Both of them are installed. I don't know if one of them are the debugging symbols or not since their information says only that both of them provide standard GUI functionality.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Krita Crash

Sat Sep 07, 2013 11:01 am
Please search "libqt4" and see if there is a "libqt4-dbg" or similarly named package - this should contain the needed debugging symbols.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Abdelrahman Magdy
Registered Member
Posts
37
Karma
0

Re: Krita Crash

Sat Sep 07, 2013 12:34 pm
I installed the debugging symbols and this is the backtrace:
Code: Select all
Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9e699ff780 (LWP 3964))]

Thread 4 (Thread 0x7f9e554dc700 (LWP 3967)):
#0  0x00007f9e68e9e313 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f9e624d2036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9e624d249a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9e554e198b in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007f9e624f39e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f9e6299ee9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f9e68ea9ccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f9e54cdb700 (LWP 3968)):
#0  0x00007f9e629a205d in pthread_mutex_unlock () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f9e6250d5d1 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9e624d202a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9e624d249a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f9e58b89406 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#5  0x00007f9e624f39e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f9e6299ee9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007f9e68ea9ccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f9e37593700 (LWP 3978)):
#0  0x00007f9e68ea3033 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f9e66f23866 in qt_safe_select (nfds=38, fdread=0x7f9e20000ac8, fdwrite=0x7f9e20000d60, fdexcept=0x7f9e20000ff8, orig_timeout=<optimized out>) at kernel/qcore_unix.cpp:83
#2  0x00007f9e66f28cb2 in QEventDispatcherUNIXPrivate::doSelect (this=0x7f9e20000910, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007f9e66f291a3 in QEventDispatcherUNIX::processEvents (this=0x7f9e200008f0, flags=...) at kernel/qeventdispatcher_unix.cpp:926
#4  0x00007f9e66ef5e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f9e66ef60b7 in QEventLoop::exec (this=0x7f9e37592dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f9e66df5077 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f9e66ed5b6f in QInotifyFileSystemWatcherEngine::run (this=0x32d2f20) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f9e66df809b in QThreadPrivate::start (arg=0x32d2f20) at thread/qthread_unix.cpp:307
#9  0x00007f9e6299ee9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f9e68ea9ccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9e699ff780 (LWP 3964)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007f9e66f0fbaa in QObject::~QObject (this=0x2751750, __in_chrg=<optimized out>) at kernel/qobject.cpp:854
#8  0x00007f9e66f10369 in QObject::~QObject (this=0x2751750, __in_chrg=<optimized out>) at kernel/qobject.cpp:940
#9  0x00007f9e64750160 in ~QDBusAbstractInterfacePrivate (this=0x2760cc0, __in_chrg=<optimized out>) at qdbusabstractinterface_p.h:88
#10 QDBusAbstractInterfacePrivate::~QDBusAbstractInterfacePrivate (this=0x2760cc0, __in_chrg=<optimized out>) at qdbusabstractinterface_p.h:88
#11 0x00007f9e66f100d0 in cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:62
#12 ~QScopedPointer (this=0x2710418, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:100
#13 QObject::~QObject (this=0x2710410, __in_chrg=<optimized out>) at kernel/qobject.cpp:817
#14 0x00007f9e64732699 in QDBusConnectionInterface::~QDBusConnectionInterface (this=0x2710410, __in_chrg=<optimized out>) at qdbusconnectioninterface.cpp:179
#15 0x00007f9e66f09e35 in QObjectPrivate::deleteChildren (this=0x2751650) at kernel/qobject.cpp:1908
#16 0x00007f9e66f1009c in QObject::~QObject (this=0x2751750, __in_chrg=<optimized out>) at kernel/qobject.cpp:927
#17 0x00007f9e6473c8b8 in QDBusConnectionPrivate::~QDBusConnectionPrivate (this=0x2751750, __in_chrg=<optimized out>) at qdbusintegrator.cpp:1003
#18 0x00007f9e6473cb99 in QDBusConnectionPrivate::~QDBusConnectionPrivate (this=0x2751750, __in_chrg=<optimized out>) at qdbusintegrator.cpp:1021
#19 0x00007f9e64731d73 in ~QDBusDefaultConnection (this=0x2753fe0, __in_chrg=<optimized out>) at qdbusconnection.cpp:1120
#20 QGlobalStaticDeleter<QDBusDefaultConnection>::~QGlobalStaticDeleter (this=0x7f9e64996c78, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1929
#21 0x00007f9e68df1901 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#22 0x00007f9e68df1985 in exit () from /lib/x86_64-linux-gnu/libc.so.6
#23 0x00007f9e68dd7774 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#24 0x0000000000400661 in _start ()
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Krita Crash

Mon Sep 09, 2013 7:43 am
Can you please search to see if a package named "qt-sapi" is installed (or something similar) and remove it?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
Abdelrahman Magdy
Registered Member
Posts
37
Karma
0

Re: Krita Crash

Mon Sep 09, 2013 11:06 am
The only package I found with a close name is called "qt-at-spi". Its description says that it is "a plugin to export Qt widgets over AT-SPI2." I don't know if this is the package you mean.
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Krita Crash

Mon Sep 09, 2013 11:24 am
Yes, that's the one.
Abdelrahman Magdy
Registered Member
Posts
37
Karma
0

Re: Krita Crash

Tue Sep 10, 2013 12:13 pm
Somehow the problem is fixed without removing this package. Should I remove it or leave it for now???
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: Krita Crash

Tue Sep 10, 2013 1:06 pm
If it works, don't touch anything -- you might break it again :-). Just have fun painting!


Bookmarks



Who is online

Registered users: Bing [Bot], blue_bullet, Google [Bot], rockscient, Yahoo [Bot]