Bug 397929 - Duplicating local selection mask by ctrl + left click drag crashes Krita
Summary: Duplicating local selection mask by ctrl + left click drag crashes Krita
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-08-27 14:03 UTC by Raghavendra kamath
Modified: 2018-08-28 12:16 UTC (History)
2 users (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 Raghavendra kamath 2018-08-27 14:03:49 UTC
Application: krita (4.2.0-pre-alpha (git 95e1b63))

Qt Version: 5.11.1
Frameworks Version: 5.49.0
Operating System: Linux 4.18.4-arch1-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
I was duplicating a local selection mask from one layer to another layer by holding ctrl and dragging while holding left mouse button.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0f18678840 (LWP 11974))]

Thread 13 (Thread 0x7f0ea9ff8700 (LWP 12435)):
#0  0x00007f0f1e4beef6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0f1f5d069d in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c80c4 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 12 (Thread 0x7f0eaa7f9700 (LWP 12434)):
#0  0x00007f0f1e4beef6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0f1f5d069d in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c80c4 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 11 (Thread 0x7f0eaaffa700 (LWP 12433)):
#0  0x00007f0f1e4beef6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0f1f5d069d in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c80c4 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 10 (Thread 0x7f0eabffc700 (LWP 12432)):
#0  0x00007f0f1e4beef6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0f1f5d069d in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c80c4 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 9 (Thread 0x7f0eab7fb700 (LWP 12431)):
#0  0x00007f0f1e4beef6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0f1f5d069d in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c80c4 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 8 (Thread 0x7f0ea97f7700 (LWP 12430)):
#0  0x00007f0f1e4beef6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0f1f5d069d in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c80c4 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7f0ea8ff6700 (LWP 12429)):
#0  0x00007f0f1e4beef6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0f1f5d069d in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c80c4 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f0ea87f5700 (LWP 12428)):
#0  0x00007f0f1e4beef6 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f0f1f5d069d in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c80c4 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f0ef8ee8700 (LWP 11981)):
#0  0x00007f0f1f108bb1 in poll () from /usr/lib/libc.so.6
#1  0x00007f0f1c290ec0 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f0f1c290fee in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f0f1f7d14c4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1f77cdac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f0f1f5c5f59 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f0f149665bb in ?? () from /usr/lib/libQt5Quick.so.5
#7  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f0f08880700 (LWP 11980)):
#0  0x00007f0f1f108bb1 in poll () from /usr/lib/libc.so.6
#1  0x00007f0f1c290ec0 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f0f1c290fee in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f0f1f7d14c4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1f77cdac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007f0f1f5c5f59 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007f0f146e70d9 in ?? () from /usr/lib/libQt5Qml.so.5
#7  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f0f03fff700 (LWP 11979)):
#0  0x00007f0f1f10e40d in syscall () from /usr/lib/libc.so.6
#1  0x00007f0f1f5c4e11 in ?? () from /usr/lib/libQt5Core.so.5
#2  0x00007f0f1f5c4c82 in QSemaphore::tryAcquire(int, int) () from /usr/lib/libQt5Core.so.5
#3  0x00007f0f23b53293 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /mnt/Data/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007f0f23b534aa in KisTileDataSwapper::run (this=0x7f0f23e87000 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /mnt/Data/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f0f0c7d1700 (LWP 11976)):
#0  0x00007ffe1058ba59 in ?? ()
#1  0x00007ffe1058bc5d in clock_gettime ()
#2  0x00007f0f1f121912 in clock_gettime () from /usr/lib/libc.so.6
#3  0x00007f0f1f7d0dd2 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007f0f1f7cf5ba in QTimerInfoList::updateCurrentTime() () from /usr/lib/libQt5Core.so.5
#5  0x00007f0f1f7cfbb6 in QTimerInfoList::timerWait(timespec&) () from /usr/lib/libQt5Core.so.5
#6  0x00007f0f1f7d122f in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007f0f1c2903ba in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#8  0x00007f0f1c290dee in ?? () from /usr/lib/libglib-2.0.so.0
#9  0x00007f0f1c290fee in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#10 0x00007f0f1f7d14c4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#11 0x00007f0f1f77cdac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#12 0x00007f0f1f5c5f59 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#13 0x00007f0f219c9ba6 in ?? () from /usr/lib/libQt5DBus.so.5
#14 0x00007f0f1f5d0005 in ?? () from /usr/lib/libQt5Core.so.5
#15 0x00007f0f1e4b8a9d in start_thread () from /usr/lib/libpthread.so.0
#16 0x00007f0f1f113a43 in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f0f18678840 (LWP 11974)):
[KCrash Handler]
#6  KisSharedPtr<KisNode>::KisSharedPtr (o=..., this=0x7ffe10449b30, this@entry=0x7ffe10449af0) at /mnt/Data/krita-build/src/krita/libs/global/kis_shared_ptr.h:99
#7  KisNodeDummy::node (this=this@entry=0x0) at /mnt/Data/krita-build/src/krita/libs/ui/flake/kis_node_dummies_graph.cpp:83
#8  0x00007f0f09697096 in TimelineFramesIndexConverter::isDummyVisible(KisNodeDummy*) const () at /mnt/Data/krita-build/src/krita/plugins/dockers/animation/timeline_frames_index_converter.cpp:138
#9  0x00007f0f096985b8 in TimelineNodeListKeeper::slotDummyChanged (this=0x55c52c6719b0, dummy=<optimized out>) at /mnt/Data/krita-build/src/krita/plugins/dockers/animation/timeline_node_list_keeper.cpp:212
#10 0x00007f0f1f7a7f5c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#11 0x00007f0f2487c8c2 in KisDummiesFacadeBase::sigDummyChanged (this=this@entry=0x55c51740c410, _t1=<optimized out>) at /mnt/Data/krita-build/build/libs/ui/kritaui_autogen/QUY67KCZCL/moc_kis_dummies_facade_base.cpp:293
#12 0x00007f0f245244f3 in KisDummiesFacadeBase::slotNodeChanged(KisSharedPtr<KisNode>) () at /usr/include/c++/8.2.0/bits/atomic_base.h:295
#13 0x00007f0f24883e40 in KisDummiesFacadeBase::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/include/c++/8.2.0/bits/atomic_base.h:295
#14 0x00007f0f1f7a8832 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#15 0x00007f0f202fde14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007f0f203056e1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007f0f247a4007 in KisApplication::notify(QObject*, QEvent*) () at /mnt/Data/krita-build/src/krita/libs/ui/KisApplication.cpp:608
#18 0x00007f0f1f77e119 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#19 0x00007f0f1f7811ac in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#20 0x00007f0f1f7d1ec4 in ?? () from /usr/lib/libQt5Core.so.5
#21 0x00007f0f1c290ca7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#22 0x00007f0f1c290f59 in ?? () from /usr/lib/libglib-2.0.so.0
#23 0x00007f0f1c290fee in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#24 0x00007f0f1f7d14a9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#25 0x00007f0f18271312 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#26 0x00007f0f1f77cdac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#27 0x00007f0f1f7850a6 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#28 0x000055c50d2fa8b6 in main () at /mnt/Data/krita-build/src/krita/krita/main.cc:435
#29 0x00007f0f1f03c223 in __libc_start_main () from /usr/lib/libc.so.6
#30 0x000055c50d2fb93e in _start () at /mnt/Data/krita-build/src/krita/krita/main.cc:323

Possible duplicates by query: bug 382315.

Reported using DrKonqi
Comment 1 mvowada 2018-08-27 15:45:14 UTC
Yes, I can reproduce this too when using CTRL + drag to duplicate a local selection (4.2.0-pre-alpha (git 95e1b63) on Ubuntu 14.04)
Comment 2 Dmitry Kazakov 2018-08-28 11:05:02 UTC
I can reproduce, thank you for the report! :)
Comment 3 Dmitry Kazakov 2018-08-28 12:16:21 UTC
Git commit 5a22cfaf215899211b613474c9b56dc12acabd82 by Dmitry Kazakov.
Committed on 28/08/2018 at 12:16.
Pushed by dkazakov into branch 'master'.

Don't let selection mask emit signals until it is a part of the graph

It fixes a crash when truing to duplicate a selection mask
using D&D operation.

M  +11   -2    libs/image/kis_selection_mask.cpp
M  +11   -1    libs/ui/flake/kis_dummies_facade_base.cpp

https://commits.kde.org/krita/5a22cfaf215899211b613474c9b56dc12acabd82