Bug 381782 - [Crash]Krita crashes when dragging some specific symbols from vector library docker
Summary: [Crash]Krita crashes when dragging some specific symbols from vector library ...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
: 381224 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-06-29 06:06 UTC by Raghavendra kamath
Modified: 2017-11-21 08:56 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (9.24 KB, text/plain)
2017-07-11 16:11 UTC, wolthera
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raghavendra kamath 2017-06-29 06:06:06 UTC
Application: krita (4.0.0-pre-alpha (git 68457c3))

Qt Version: 5.6.1
Frameworks Version: 5.26.0
Operating System: Linux 4.4.73-18.17-default x86_64
Distribution: "openSUSE Leap 42.2"

-- Information about the crash:
- What I was doing when the application crashed:
I was using the vector library docker and dragging the symbol 11359 (can be reproduced with symbol 10710 or some other) from the pepper and carrot collection.

The crash can be reproduced every time.

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

Thread 13 (Thread 0x7fea367f6700 (LWP 8759)):
#0  0x00007fea87ff20bf in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba865b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea8ae9a211 in  () at /usr/lib64/libQt5Widgets.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 12 (Thread 0x7fea35ff5700 (LWP 8757)):
#0  0x00007fea87ff20bf in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba865b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba1f96 in QSemaphore::tryAcquire(int, int) () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea9246d053 in KisTileDataSwapper::waitForWork() (this=<optimized out>) at /run/media/raghu/Data/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007fea9246d21a in KisTileDataSwapper::run() (this=0x7fea92911a20 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>) at /run/media/raghu/Data/krita-build/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#7  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7fea6092f700 (LWP 8755)):
#0  0x00007fea87ff2468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba85a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba49a0 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7fea61130700 (LWP 8754)):
#0  0x00007fea87ff2468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba85a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba49a0 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7fea61931700 (LWP 8753)):
#0  0x00007fea87ff2468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba85a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba49a0 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7fea62132700 (LWP 8752)):
#0  0x00007fea87ff2468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba85a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba49a0 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7fea5a132700 (LWP 8751)):
#0  0x00007fea87ff2468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba85a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba49a0 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7fea62933700 (LWP 8750)):
#0  0x00007fea87ff2468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba85a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba49a0 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7fea63134700 (LWP 8749)):
#0  0x00007fea87ff2468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba85a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba49a0 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7fea63935700 (LWP 8748)):
#0  0x00007fea87ff2468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fea89ba85a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007fea89ba49a0 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fea72b69700 (LWP 8740)):
#0  0x00007fea88f9920d in poll () at /lib64/libc.so.6
#1  0x00007fea860ea314 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fea860ea42c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fea89dba33b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007fea89d67feb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007fea89ba2f1a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007fea8cf4c295 in  () at /usr/lib64/libQt5DBus.so.5
#7  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#9  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fea7bf20700 (LWP 8739)):
#0  0x00007fea88f9920d in poll () at /lib64/libc.so.6
#1  0x00007fea8cb103e2 in  () at /usr/lib64/libxcb.so.1
#2  0x00007fea8cb11fcf in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007fea7e46c839 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007fea89ba79e9 in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007fea87fed744 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fea88fa1aad in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fea93fcb900 (LWP 8738)):
[KCrash Handler]
#6  0x00007fea9160c757 in KoShape::setParent(KoShapeContainer*) (this=0x0, parent=parent@entry=0x1b22f6c0) at /run/media/raghu/Data/krita-build/src/krita/libs/flake/KoShape.cpp:620
#7  0x00007fea91614dab in KoShapeContainer::KoShapeContainer(KoShapeContainerPrivate*) (this=0x1b22f6c0, dd=<optimized out>) at /run/media/raghu/Data/krita-build/src/krita/libs/flake/KoShapeContainer.cpp:71
#8  0x00007fea916165d0 in KoShapeGroup::KoShapeGroup(KoShapeGroup const&) (this=0x1b22f6c0, rhs=...) at /run/media/raghu/Data/krita-build/src/krita/libs/flake/KoShapeGroup.cpp:122
#9  0x00007fea91616701 in KoShapeGroup::cloneShape() const (this=0x4456a40) at /run/media/raghu/Data/krita-build/src/krita/libs/flake/KoShapeGroup.cpp:132
#10 0x00007fea916708bd in KoDrag::setSvg(QList<KoShape*>) (this=this@entry=0x7ffd93499360, originalShapes=...) at /run/media/raghu/Data/krita-build/src/krita/libs/flake/KoDrag.cpp:70
#11 0x00007fea3dd29e48 in SvgCollectionModel::mimeData(QList<QModelIndex> const&) const (this=<optimized out>, indexes=...) at /run/media/raghu/Data/krita-build/src/krita/plugins/dockers/shapedockers/SvgSymbolCollectionDocker.cpp:107
#12 0x00007fea8aecb3ee in QAbstractItemView::startDrag(QFlags<Qt::DropAction>) () at /usr/lib64/libQt5Widgets.so.5
#13 0x00007fea8aec9f9f in QAbstractItemView::mouseMoveEvent(QMouseEvent*) () at /usr/lib64/libQt5Widgets.so.5
#14 0x00007fea8aee67f4 in QListView::mouseMoveEvent(QMouseEvent*) () at /usr/lib64/libQt5Widgets.so.5
#15 0x00007fea8acb684e in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#16 0x00007fea8adb0afe in QFrame::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#17 0x00007fea8aeca8fb in QAbstractItemView::viewportEvent(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#18 0x00007fea89d69ea1 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#19 0x00007fea8ac74e15 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#20 0x00007fea8ac79d14 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#21 0x00007fea938e1957 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x12953560, event=0x7ffd93499bf0) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisApplication.cpp:558
#22 0x00007fea89d69fd5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#23 0x00007fea8ac78a10 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQt5Widgets.so.5
#24 0x00007fea8accf911 in  () at /usr/lib64/libQt5Widgets.so.5
#25 0x00007fea8acd1eb3 in  () at /usr/lib64/libQt5Widgets.so.5
#26 0x00007fea8ac74e3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#27 0x00007fea8ac7949a in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#28 0x00007fea938e1957 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x12a99fb0, event=0x7ffd9349a0c0) at /run/media/raghu/Data/krita-build/src/krita/libs/ui/KisApplication.cpp:558
#29 0x00007fea89d69fd5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#30 0x00007fea8a2bd68b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5
#31 0x00007fea8a2bee05 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib64/libQt5Gui.so.5
#32 0x00007fea8a2a0eeb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#33 0x00007fea7e499bc0 in  () at /usr/lib64/libQt5XcbQpa.so.5
#34 0x00007fea860ea134 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#35 0x00007fea860ea388 in  () at /usr/lib64/libglib-2.0.so.0
#36 0x00007fea860ea42c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#37 0x00007fea89dba31c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#38 0x00007fea89d67feb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#39 0x00007fea89d6fed6 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#40 0x000000000040591b in main(int, char**) (argc=1, argv=<optimized out>) at /run/media/raghu/Data/krita-build/src/krita/krita/main.cc:269

Reported using DrKonqi
Comment 1 razvanc87 2017-06-29 08:18:03 UTC
*** Bug 381224 has been marked as a duplicate of this bug. ***
Comment 2 wolthera 2017-07-11 16:11:07 UTC
Created attachment 106562 [details]
New crash information added by DrKonqi

krita (4.0.0-pre-alpha (git 066543d)) using Qt 5.9.1

- What I was doing when the application crashed:
So, this one is caused by the erasers in this one: https://phabricator.kde.org/T6478 (at the end) I suspect it might be text-related, not sure.

-- Backtrace (Reduced):
#6  0x00007fb75b4cd7a4 in KoShape::setParent (this=0x0, parent=parent@entry=0x1e4ea6a0) at /home/wolthera/krita/src/libs/flake/KoShape.cpp:621
#7  0x00007fb75b4d6cbb in KoShapeContainer::KoShapeContainer (this=0x1e4ea6a0, dd=<optimized out>) at /home/wolthera/krita/src/libs/flake/KoShapeContainer.cpp:71
#8  0x00007fb75b4d9168 in KoShapeGroup::KoShapeGroup (this=0x1e4ea6a0, rhs=...) at /home/wolthera/krita/src/libs/flake/KoShapeGroup.cpp:122
#9  0x00007fb75b4d9261 in KoShapeGroup::cloneShape (this=0x72afbb0) at /home/wolthera/krita/src/libs/flake/KoShapeGroup.cpp:132
#10 0x00007fb75b4d9026 in SimpleShapeContainerModel::SimpleShapeContainerModel (rhs=..., this=0x22dfc8b0) at /home/wolthera/krita/src/libs/flake/SimpleShapeContainerModel.h:39
Comment 3 Halla Rempt 2017-11-21 08:24:49 UTC
Setting to confirmed. It would, probably, be too easy to just check for 0, we need to figure out why it is possible to get 0's in a group.
Comment 4 Halla Rempt 2017-11-21 08:56:47 UTC
Git commit 882d1dc98cfd969f4bf8e347233f599ca462c7df by Boudewijn Rempt.
Committed on 21/11/2017 at 08:56.
Pushed by rempt into branch 'master'.

Implement cloning the artistic text shape

As long as not all shapes implement cloneShape, we should
test whether cloning succeeded.

M  +1    -0    libs/flake/KoShape.cpp
M  +6    -3    libs/flake/KoShapeContainer.cpp
M  +5    -1    libs/flake/SimpleShapeContainerModel.h
M  +20   -0    plugins/flake/artistictextshape/ArtisticTextShape.cpp
M  +1    -0    plugins/flake/artistictextshape/ArtisticTextShape.h

https://commits.kde.org/krita/882d1dc98cfd969f4bf8e347233f599ca462c7df