Bug 370896 - cancel an insert layer image crash krita
Summary: cancel an insert layer image crash krita
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: 3.0.1.1
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-10-15 01:21 UTC by Francesco Riosa
Modified: 2016-10-15 10:29 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 Francesco Riosa 2016-10-15 01:21:57 UTC
Application: krita (3.0.1.1)
 (Compiled from sources)
Qt Version: 5.6.1
Frameworks Version: 5.27.0
Operating System: Linux 4.4.24 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
from menu:
Layer => Import/Export => Import Layer
Select a file (.RAF it's a raw from Fuji cameras) from disk
in the import Dialog press "Cancel"

The crash can be reproduced every time.

-- Backtrace:
Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
84	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f72793897c0 (LWP 13295))]

Thread 12 (Thread 0x7f726d7b8700 (LWP 13297)):
#0  0x00007f7285b9192d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f727f235fac in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f7268003020, timeout=<optimized out>, context=0x7f7268000990) at /usr/src/debug/dev-libs/glib-2.48.2/glib-2.48.2/glib/gmain.c:4135
#2  g_main_context_iterate (context=context@entry=0x7f7268000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /usr/src/debug/dev-libs/glib-2.48.2/glib-2.48.2/glib/gmain.c:3835
#3  0x00007f727f2360bc in g_main_context_iteration (context=0x7f7268000990, may_block=1) at /usr/src/debug/dev-libs/glib-2.48.2/glib-2.48.2/glib/gmain.c:3901
#4  0x00007f72866f0a5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#5  0x00007f72866a125a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#6  0x00007f7286502b04 in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#7  0x00007f728863d5c5 in QDBusConnectionManager::run() () from /usr/lib64/libQt5DBus.so.5
#8  0x00007f7286506f1c in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#9  0x00007f728088e434 in start_thread (arg=0x7f726d7b8700) at pthread_create.c:334
#10 0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7f7239b54700 (LWP 13314)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f728650756a in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQt5Core.so.5
#2  0x00007f728650181b in QSemaphore::acquire(int) () from /usr/lib64/libQt5Core.so.5
#3  0x00007f7283f6306e in KisTileDataPooler::waitForWork() () from /usr/lib64/libkritaimage.so.15
#4  0x00007f7283f6382a in KisTileDataPooler::run() () from /usr/lib64/libkritaimage.so.15
#5  0x00007f7286506f1c in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#6  0x00007f728088e434 in start_thread (arg=0x7f7239b54700) at pthread_create.c:334
#7  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7f7239353700 (LWP 13315)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f728650756a in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQt5Core.so.5
#2  0x00007f7286501ac3 in QSemaphore::tryAcquire(int, int) () from /usr/lib64/libQt5Core.so.5
#3  0x00007f7283f7ce1a in KisTileDataSwapper::run() () from /usr/lib64/libkritaimage.so.15
#4  0x00007f7286506f1c in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#5  0x00007f728088e434 in start_thread (arg=0x7f7239353700) at pthread_create.c:334
#6  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7f722ffff700 (LWP 13317)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f728650756a in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQt5Core.so.5
#2  0x00007f72871485f2 in QFileInfoGatherer::run() () from /usr/lib64/libQt5Widgets.so.5
#3  0x00007f7286506f1c in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#4  0x00007f728088e434 in start_thread (arg=0x7f722ffff700) at pthread_create.c:334
#5  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f720b4e0700 (LWP 13943)):
#0  futex_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/wait.h:67
#2  gomp_barrier_wait_end (bar=0x26b7bd40, state=8) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/bar.c:48
#3  0x00007f722e982750 in gomp_thread_start (xdata=<optimized out>) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/team.c:123
#4  0x00007f728088e434 in start_thread (arg=0x7f720b4e0700) at pthread_create.c:334
#5  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f72020f7700 (LWP 13944)):
#0  futex_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/wait.h:67
#2  gomp_barrier_wait_end (bar=0x26b7bd40, state=8) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/bar.c:48
#3  0x00007f722e982750 in gomp_thread_start (xdata=<optimized out>) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/team.c:123
#4  0x00007f728088e434 in start_thread (arg=0x7f72020f7700) at pthread_create.c:334
#5  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f72018f6700 (LWP 13945)):
#0  futex_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/wait.h:67
#2  gomp_barrier_wait_end (bar=0x26b7bd40, state=8) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/bar.c:48
#3  0x00007f722e982750 in gomp_thread_start (xdata=<optimized out>) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/team.c:123
#4  0x00007f728088e434 in start_thread (arg=0x7f72018f6700) at pthread_create.c:334
#5  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f72010f5700 (LWP 13946)):
#0  futex_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/wait.h:67
#2  gomp_barrier_wait_end (bar=0x26b7bd40, state=8) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/bar.c:48
#3  0x00007f722e982750 in gomp_thread_start (xdata=<optimized out>) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/team.c:123
#4  0x00007f728088e434 in start_thread (arg=0x7f72010f5700) at pthread_create.c:334
#5  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f72008f4700 (LWP 13947)):
#0  futex_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/wait.h:67
#2  gomp_barrier_wait_end (bar=0x26b7bd40, state=8) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/bar.c:48
#3  0x00007f722e982750 in gomp_thread_start (xdata=<optimized out>) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/team.c:123
#4  0x00007f728088e434 in start_thread (arg=0x7f72008f4700) at pthread_create.c:334
#5  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f72000f3700 (LWP 13948)):
#0  futex_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/wait.h:67
#2  gomp_barrier_wait_end (bar=0x26b7bd40, state=8) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/bar.c:48
#3  0x00007f722e982750 in gomp_thread_start (xdata=<optimized out>) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/team.c:123
#4  0x00007f728088e434 in start_thread (arg=0x7f72000f3700) at pthread_create.c:334
#5  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f71ff8f2700 (LWP 13949)):
#0  futex_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=8, addr=0x26b7bd44) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/wait.h:67
#2  gomp_barrier_wait_end (bar=0x26b7bd40, state=8) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/config/linux/bar.c:48
#3  0x00007f722e982750 in gomp_thread_start (xdata=<optimized out>) at /var/tmp/portage/sys-devel/gcc-6.1.0/work/gcc-6.1.0/libgomp/team.c:123
#4  0x00007f728088e434 in start_thread (arg=0x7f71ff8f2700) at pthread_create.c:334
#5  0x00007f7285b9a29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f72793897c0 (LWP 13295)):
[KCrash Handler]
#6  0x00007f72866c91de in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#7  0x00007f7284031069 in KisImage::requestStrokeEnd() () from /usr/lib64/libkritaimage.so.15
#8  0x00007f7284031129 in KisImage::waitForDone() () from /usr/lib64/libkritaimage.so.15
#9  0x00007f72880bf80f in KisDocument::~KisDocument() () from /usr/lib64/libkritaui.so.15
#10 0x00007f72880bfb29 in KisDocument::~KisDocument() () from /usr/lib64/libkritaui.so.15
#11 0x00007f72866ca818 in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5
#12 0x00007f7286f2bfbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#13 0x00007f7286f314f6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#14 0x00007f72880b1277 in KisApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkritaui.so.15
#15 0x00007f72866a23ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#16 0x00007f72866a440a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5
#17 0x00007f72866f09c3 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/libQt5Core.so.5
#18 0x00007f727f235db7 in g_main_dispatch (context=0x7f72700016f0) at /usr/src/debug/dev-libs/glib-2.48.2/glib-2.48.2/glib/gmain.c:3154
#19 g_main_context_dispatch (context=context@entry=0x7f72700016f0) at /usr/src/debug/dev-libs/glib-2.48.2/glib-2.48.2/glib/gmain.c:3769
#20 0x00007f727f236010 in g_main_context_iterate (context=context@entry=0x7f72700016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /usr/src/debug/dev-libs/glib-2.48.2/glib-2.48.2/glib/gmain.c:3840
#21 0x00007f727f2360bc in g_main_context_iteration (context=0x7f72700016f0, may_block=1) at /usr/src/debug/dev-libs/glib-2.48.2/glib-2.48.2/glib/gmain.c:3901
#22 0x00007f72866f0a3f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#23 0x00007f72866a125a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#24 0x00007f72866a8bdc in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#25 0x0000000000405021 in main ()

Reported using DrKonqi
Comment 1 Halla Rempt 2016-10-15 10:24:59 UTC
Hi Francesco,

Thanks for your report. I can confirm the issue.
Comment 2 Halla Rempt 2016-10-15 10:29:21 UTC
Git commit edda7d76bbfb8948bc12aa5ffb9b5e5153073101 by Boudewijn Rempt.
Committed on 15/10/2016 at 10:28.
Pushed by rempt into branch 'master'.

Cancelling the import means that there's no image, but there is
a temporary KisDocument, so KisDocument cannot assume that there's
going to be an image as its being deleted.

M  +10   -9    libs/ui/KisDocument.cpp

http://commits.kde.org/krita/edda7d76bbfb8948bc12aa5ffb9b5e5153073101