Bug 392817 - Krita crashes when deleting a session from the session manager
Summary: Krita crashes when deleting a session from the session manager
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Resource Management (show other bugs)
Version: git master (please specify the git hash!)
Platform: unspecified All
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-04-06 23:56 UTC by Isaac Zuniga
Modified: 2018-04-24 11:26 UTC (History)
1 user (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 Isaac Zuniga 2018-04-06 23:56:06 UTC
I have a video showing the issue right here (names assigned for grabbing your attention):

https://drive.google.com/file/d/1JDI7czT58SKPhJ9rjRaczUy84laU8aob/view?usp=sharing

No "Krita has stopped working" message, nothing. Krita just vanishes.
Comment 1 Antti Savolainen 2018-04-07 18:01:29 UTC
Confirming this. Happens on Linux as well. I'll write a proper bug report.

Overview:

    Krita crashes after creating and deleting a session.

Steps to Reproduce: 

    1) Go to File -> Sessions

    2) Create a session

    3) Delete said session

Actual Results: 

    The application crashed.

Expected Results:

    Krita should delete the session normally

Build Date & Platform:

    krita 4.1.0-pre-alpha
    Xubuntu 17.10
    Krita Lime https://launchpad.net/~kritalime/+archive/ubuntu/ppa

Additional Information: Any other useful information. 

    https://webmshare.com/z4w5w Recorded video of said crash
    
    Terminal output at the moment of the crash:
    *** Error in `krita': corrupted double-linked list: 0x0000556fc4479a30 *** 

    I have krita compiled with debug symbols now. I hope it's useful this time.
    Stacktrace: 

Stack trace of thread 3775:
#0  0x00007fdc039e50bb __GI_raise (libc.so.6)
#1  0x00007fdc039e6f5d __GI_abort (libc.so.6)
#2  0x00007fdc03a2f28d __libc_message (libc.so.6)
#3  0x00007fdc03a3664a malloc_printerr (libc.so.6)
#4  0x00007fdc03a3873e _int_free (libc.so.6)
#5  0x00007fdc03a3d44e __GI___libc_free (libc.so.6)
#6  0x00007fdc0673d962 _ZN15QTypedArrayDataItE10deallocateEP10QArrayData (libkritaui.so.17)
#7  0x00007fdc0673d709 _ZN7QStringD2Ev (libkritaui.so.17)
#8  0x00007fdc0682d675 _ZN23KisSessionManagerDialog17slotDeleteSessionEv (libkritaui.so.17)
#9  0x00007fdc06c9b774 _ZN23KisSessionManagerDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv (libkritaui.so.17)
#10 0x00007fdc045e38e5 _ZN11QMetaObject8activateEP7QObjectiiPPv (libQt5Core.so.5)
#11 0x00007fdc054eb572 _ZN15QAbstractButton7clickedEb (libQt5Widgets.so.5)
#12 0x00007fdc054eb78a n/a (libQt5Widgets.so.5)
#13 0x00007fdc054ecb6a n/a (libQt5Widgets.so.5)
#14 0x00007fdc054ecd54 _ZN15QAbstractButton17mouseReleaseEventEP11QMouseEvent (libQt5Widgets.so.5)
#15 0x00007fdc0536fdc8 _ZN7QWidget5eventEP6QEvent (libQt5Widgets.so.5)
#16 0x00007fdc0532f46c _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5)
#17 0x00007fdc0533728f _ZN12QApplication6notifyEP7QObjectP6QEvent (libQt5Widgets.so.5)
#18 0x00007fdc06b9fa43 _ZN14KisApplication6notifyEP7QObjectP6QEvent (libkritaui.so.17)
#19 0x00007fdc045b4de8 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5)
#20 0x00007fdc05336262 _ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Eb (libQt5Widgets.so.5)
#21 0x00007fdc0538a94b n/a (libQt5Widgets.so.5)
#22 0x00007fdc0538cfba n/a (libQt5Widgets.so.5)
#23 0x00007fdc0532f46c _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5)
#24 0x00007fdc05336d34 _ZN12QApplication6notifyEP7QObjectP6QEvent (libQt5Widgets.so.5)
#25 0x00007fdc06b9fa43 _ZN14KisApplication6notifyEP7QObjectP6QEvent (libkritaui.so.17)
#26 0x00007fdc045b4de8 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5)
#27 0x00007fdc04b73f43 _ZN22QGuiApplicationPrivate17processMouseEventEPN29QWindowSystemInterfacePrivate10MouseEventE (libQt5Gui.so.5)
#28 0x00007fdc04b75a25 _ZN22QGuiApplicationPrivate24processWindowSystemEventEPN29QWindowSystemInterfacePrivate17WindowSystemEventE (libQt5Gui.so.5)
#29 0x00007fdc04b4dcab _ZN22QWindowSystemInterface22sendWindowSystemEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Gui.so.5)
#30 0x00007fdbf195a5a0 n/a (libQt5XcbQpa.so.5)
#31 0x00007fdbfbc85fb7 g_main_context_dispatch (libglib-2.0.so.0)
#32 0x00007fdbfbc861f0 n/a (libglib-2.0.so.0)
#33 0x00007fdbfbc8627c g_main_context_iteration (libglib-2.0.so.0)
#34 0x00007fdc0460d47f _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
#35 0x00007fdc045b2e3a _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
#36 0x00007fdc045bbda4 _ZN16QCoreApplication4execEv (libQt5Core.so.5)
#37 0x0000555d9c058323 main (krita)
#38 0x00007fdc039cf1c1 __libc_start_main (libc.so.6)
#39 0x0000555d9c056b5a _start (krita)

Stack trace of thread 3776:
#0  0x00007fdc03ab6951 __GI___poll (libc.so.6)
#1  0x00007fdc01e59747 n/a (libxcb.so.1)
#2  0x00007fdc01e5b53a xcb_wait_for_event (libxcb.so.1)
#3  0x00007fdbf18f7f09 n/a (libQt5XcbQpa.so.5)
#4  0x00007fdc043d729d n/a (libQt5Core.so.5)
#5  0x00007fdbfd3777fc start_thread (libpthread.so.0)
#6  0x00007fdc03ac2b5f __clone (libc.so.6)

Stack trace of thread 3777:
#0  0x00007fdc03ab6951 __GI___poll (libc.so.6)
#1  0x00007fdbfbc86169 n/a (libglib-2.0.so.0)
#2  0x00007fdbfbc8627c g_main_context_iteration (libglib-2.0.so.0)
#3  0x00007fdbfbc862c1 n/a (libglib-2.0.so.0)
#4  0x00007fdbfbcad645 n/a (libglib-2.0.so.0)
#5  0x00007fdbfd3777fc start_thread (libpthread.so.0)
#6  0x00007fdc03ac2b5f __clone (libc.so.6)

Stack trace of thread 3778:
#0  0x00007fdc03ab6951 __GI___poll (libc.so.6)
#1  0x00007fdbfbc86169 n/a (libglib-2.0.so.0)
#2  0x00007fdbfbc86502 g_main_loop_run (libglib-2.0.so.0)
#3  0x00007fdbe73d0b26 n/a (libgio-2.0.so.0)
#4  0x00007fdbfbcad645 n/a (libglib-2.0.so.0)
#5  0x00007fdbfd3777fc start_thread (libpthread.so.0)
#6  0x00007fdc03ac2b5f __clone (libc.so.6)

Stack trace of thread 3779:
#0  0x00007fdc03ab6951 __GI___poll (libc.so.6)
#1  0x00007fdbfbc86169 n/a (libglib-2.0.so.0)
#2  0x00007fdbfbc8627c g_main_context_iteration (libglib-2.0.so.0)
#3  0x00007fdc0460d47f _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
#4  0x00007fdc045b2e3a _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
#5  0x00007fdc043d23ca _ZN7QThread4execEv (libQt5Core.so.5)
#6  0x00007fdbfd5a4e45 n/a (libQt5DBus.so.5)
#7  0x00007fdc043d729d n/a (libQt5Core.so.5)
#8  0x00007fdbfd3777fc start_thread (libpthread.so.0)
#9  0x00007fdc03ac2b5f __clone (libc.so.6)

Stack trace of thread 3781:
#0  0x00007fdbfd37e072 futex_wait_cancelable (libpthread.so.0)
#1  0x00007fdc043d86cb _ZN14QWaitCondition4waitEP6QMutexm (libQt5Core.so.5)
#2  0x00007fdc043d0f83 _ZN10QSemaphore10tryAcquireEii (libQt5Core.so.5)
#3  0x00007fdc015685de _ZN18KisTileDataSwapper11waitForWorkEv (libkritaimage.so.17)
#4  0x00007fdc015685fa _ZN18KisTileDataSwapper3runEv (libkritaimage.so.17)
#5  0x00007fdc043d729d n/a (libQt5Core.so.5)
#6  0x00007fdbfd3777fc start_thread (libpthread.so.0)
#7  0x00007fdc03ac2b5f __clone (libc.so.6)

Stack trace of thread 3782:
#0  0x00007fdc03ab6951 __GI___poll (libc.so.6)
#1  0x00007fdbfbc86169 n/a (libglib-2.0.so.0)
#2  0x00007fdbfbc8627c g_main_context_iteration (libglib-2.0.so.0)
#3  0x00007fdc0460d47f _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
#4  0x00007fdc045b2e3a _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
#5  0x00007fdc043d23ca _ZN7QThread4execEv (libQt5Core.so.5)
#6  0x00007fdbc5adbf45 n/a (libQt5Qml.so.5)
#7  0x00007fdc043d729d n/a (libQt5Core.so.5)
#8  0x00007fdbfd3777fc start_thread (libpthread.so.0)
#9  0x00007fdc03ac2b5f __clone (libc.so.6)

Stack trace of thread 3783:
#0  0x00007fdc03ab6951 __GI___poll (libc.so.6)
#1  0x00007fdbfbc86169 n/a (libglib-2.0.so.0)
#2  0x00007fdbfbc8627c g_main_context_iteration (libglib-2.0.so.0)
#3  0x00007fdc0460d47f _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
#4  0x00007fdc045b2e3a _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
#5  0x00007fdc043d23ca _ZN7QThread4execEv (libQt5Core.so.5)
#6  0x00007fdbc52e5846 n/a (libQt5Quick.so.5)
#7  0x00007fdc043d729d n/a (libQt5Core.so.5)
#8  0x00007fdbfd3777fc start_thread (libpthread.so.0)
#9  0x00007fdc03ac2b5f __clone (libc.so.6)
Comment 2 Antti Savolainen 2018-04-07 18:08:13 UTC
Sorry, I'm still learning.

(gdb) bt
#0  0x00007ffff44ee0bb in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff44eff5d in __GI_abort () at abort.c:90
#2  0x00007ffff453828d in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff465f528 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff453f64a in malloc_printerr (action=<optimized out>, str=0x7ffff465f860 "double free or corruption (!prev)", ptr=<optimized out>, ar_ptr=<optimized out>) at malloc.c:5426
#4  0x00007ffff454173e in _int_free (av=0x7ffff4891c20 <main_arena>, p=<optimized out>, have_lock=0) at malloc.c:4175
#5  0x00007ffff454644e in __GI___libc_free (mem=<optimized out>) at malloc.c:3145
#6  0x00007ffff7246962 in QTypedArrayData<unsigned short>::deallocate(QArrayData*) (data=0x55555fdb86d0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:237
#7  0x00007ffff7246709 in QString::~QString() (this=0x7fffffffcdc8, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1084
#8  0x00007ffff7336675 in KisSessionManagerDialog::slotDeleteSession() (this=0x555560bbfe30) at ./libs/ui/dialogs/KisSessionManagerDialog.cpp:134
#9  0x00007ffff77a4774 in KisSessionManagerDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x555560bbfe30, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fffffffcf70) at ./obj-x86_64-linux-gnu/libs/ui/kritaui_autogen/2NRMJ5X7RK/moc_KisSessionManagerDialog.cpp:94
#10 0x00007ffff50ec8e5 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007ffff5ff4572 in QAbstractButton::clicked(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff5ff478a in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff5ff5b6a in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff5ff5d54 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff5e78dc8 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff5e3846c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff5e4028f in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff76a8a43 in KisApplication::notify(QObject*, QEvent*) (this=0x7fffffffddf0, receiver=0x555559a543b0, event=0x7fffffffd4b0) at ./libs/ui/KisApplication.cpp:652
#19 0x00007ffff50bdde8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff5e3f262 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff5e9394b in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff5e95fba in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff5e3846c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff5e3fd34 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff76a8a43 in KisApplication::notify(QObject*, QEvent*) (this=0x7fffffffddf0, receiver=0x555560c50ae0, event=0x7fffffffd940) at ./libs/ui/KisApplication.cpp:652
#26 0x00007ffff50bdde8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff567cf43 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#28 0x00007ffff567ea25 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#29 0x00007ffff5656cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#30 0x00007fffe24635a0 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#31 0x00007fffec78efb7 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fffec78f1f0 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffec78f27c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff511647f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007ffff50bbe3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007ffff50c4da4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x0000555555849323 in main(int, char**) (argc=1, argv=0x7fffffffdf78) at ./krita/main.cc:361
Comment 3 joupent 2018-04-24 11:26:11 UTC
Git commit 520b863684cc93051847b274b2c7fb106c521edf by Jouni Pentikäinen.
Committed on 24/04/2018 at 11:23.
Pushed by jounip into branch 'master'.

Fix crash when deleting a session

M  +5    -1    libs/ui/dialogs/KisSessionManagerDialog.cpp

https://commits.kde.org/krita/520b863684cc93051847b274b2c7fb106c521edf