Krita crash when drawing a rectangle. Reproducible: Didn't try Steps to Reproduce: 1. Draw a rectangle Actual Results: crash I didn't saw any brush lines, even after selecting different color. Backtrace: Application: Krita (kdeinit4), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f439b8c8880 (LWP 1879))] Thread 10 (Thread 0x7f436b1ba700 (LWP 1880)): #0 0x00007f4399f075e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f439a193d2b in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4 #2 0x00007f439a18fc47 in QSemaphore::acquire(int) () from /lib64/libQtCore.so.4 #3 0x00007f437c6440ce in KisTileDataPooler::waitForWork() () from /lib64/libkritaimage.so.10 #4 0x00007f437c6447ab in KisTileDataPooler::run() () from /lib64/libkritaimage.so.10 #5 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #6 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #7 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 9 (Thread 0x7f436a9b9700 (LWP 1881)): #0 0x00007f4399f075e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f439a193d2b in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4 #2 0x00007f439a190018 in QSemaphore::tryAcquire(int, int) () from /lib64/libQtCore.so.4 #3 0x00007f437c661d3a in KisTileDataSwapper::run() () from /lib64/libkritaimage.so.10 #4 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #5 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #6 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 8 (Thread 0x7f43537fe700 (LWP 1886)): #0 0x00007f439851c5f3 in select () from /lib64/libc.so.6 #1 0x00007f439a2bb583 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /lib64/libQtCore.so.4 #2 0x00007f439a2bff44 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /lib64/libQtCore.so.4 #3 0x00007f439a2c0ad2 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #4 0x00007f439a28ee2f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #5 0x00007f439a28f0b8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #6 0x00007f439a1907f0 in QThread::exec() () from /lib64/libQtCore.so.4 #7 0x00007f439a26f63f in QInotifyFileSystemWatcherEngine::run() () from /lib64/libQtCore.so.4 #8 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #9 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #10 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 7 (Thread 0x7f435895a700 (LWP 2136)): #0 0x00007f4399f075e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f439a193d2b in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4 #2 0x00007f43999107b6 in QFileInfoGatherer::run() () from /lib64/libQtGui.so.4 #3 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #4 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #5 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 6 (Thread 0x7f43522b8700 (LWP 2137)): #0 0x00007f439851c5f3 in select () from /lib64/libc.so.6 #1 0x00007f439a2bb583 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /lib64/libQtCore.so.4 #2 0x00007f439a2bff44 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /lib64/libQtCore.so.4 #3 0x00007f439a2c0ad2 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #4 0x00007f439a28ee2f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #5 0x00007f439a28f0b8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #6 0x00007f439a1907f0 in QThread::exec() () from /lib64/libQtCore.so.4 #7 0x00007f439a26f63f in QInotifyFileSystemWatcherEngine::run() () from /lib64/libQtCore.so.4 #8 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #9 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #10 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 5 (Thread 0x7f4341f9e700 (LWP 2333)): #0 0x00007f4399f07952 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f439a193c87 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4 #2 0x00007f439a18750f in QThreadPoolThread::run() () from /lib64/libQtCore.so.4 #3 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #4 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #5 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7f4353fff700 (LWP 2334)): #0 0x00007f4399f07952 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f439a193c87 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4 #2 0x00007f439a18750f in QThreadPoolThread::run() () from /lib64/libQtCore.so.4 #3 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #4 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #5 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7f434279f700 (LWP 2335)): #0 0x00007f4399f07952 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f439a193c87 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4 #2 0x00007f439a18750f in QThreadPoolThread::run() () from /lib64/libQtCore.so.4 #3 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #4 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #5 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7f4351ab7700 (LWP 2336)): #0 0x00007f4399f07952 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f439a193c87 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4 #2 0x00007f439a18750f in QThreadPoolThread::run() () from /lib64/libQtCore.so.4 #3 0x00007f439a1937cc in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4 #4 0x00007f4399f03d15 in start_thread () from /lib64/libpthread.so.0 #5 0x00007f43985232cd in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f439b8c8880 (LWP 1879)): [KCrash Handler] #5 0x00007f437b6a9578 in KoShapeContainer::shapes() const () from /lib64/libflake.so.10 #6 0x00007f437b6a96db in KoShapeContainer::addShape(KoShape*) () from /lib64/libflake.so.10 #7 0x00007f437b6a4c17 in KoShape::setParent(KoShapeContainer*) () from /lib64/libflake.so.10 #8 0x00007f437b6cb1f5 in KoShapeController::Private::addShape(KoShape*, bool, KUndo2Command*) () from /lib64/libflake.so.10 #9 0x00007f437cc5902d in KisToolShape::addShape(KoShape*) () from /lib64/libkritaui.so.10 #10 0x00007f435b9a8021 in KisToolRectangle::finishRect(QRectF const&) () from /usr/lib64/kde4/kritadefaulttools.so #11 0x00007f437cc5b2b4 in KisToolRectangleBase::mouseReleaseEvent(KoPointerEvent*) () from /lib64/libkritaui.so.10 #12 0x00007f437b6d8170 in KoToolProxy::mouseReleaseEvent(QMouseEvent*, QPointF const&) () from /lib64/libflake.so.10 #13 0x00007f437cc95261 in KisToolInvocationAction::end() () from /lib64/libkritaui.so.10 #14 0x00007f437cc917b4 in KisInputManager::Private::clearState() () from /lib64/libkritaui.so.10 #15 0x00007f437cc91f85 in KisInputManager::eventFilter(QObject*, QEvent*) () from /lib64/libkritaui.so.10 #16 0x00007f439a290246 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib64/libQtCore.so.4 #17 0x00007f439942549c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4 #18 0x00007f439942a1ab in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4 #19 0x00007f439b2b58f6 in KApplication::notify(QObject*, QEvent*) () from /lib64/libkdeui.so.5 #20 0x00007f439a2900de in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4 #21 0x00007f439942630b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /lib64/libQtGui.so.4 #22 0x00007f43994a0a44 in QETWidget::translateMouseEvent(_XEvent const*) () from /lib64/libQtGui.so.4 #23 0x00007f439949f7d1 in QApplication::x11ProcessEvent(_XEvent*) () from /lib64/libQtGui.so.4 #24 0x00007f43994c6399 in QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtGui.so.4 #25 0x00007f439a28ee2f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #26 0x00007f439a28f0b8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #27 0x00007f439a293ea8 in QCoreApplication::exec() () from /lib64/libQtCore.so.4 #28 0x00007f437cf68962 in kdemain () from /usr/lib64/libkdeinit4_krita.so #29 0x0000000000408226 in launch(int, char const*, char const*, char const*, int, char const*, bool, char const*, bool, char const*) () #30 0x00000000004090ab in handle_launcher_request(int, char const*) [clone .isra.13] () #31 0x00000000004096f0 in handle_requests(int) () #32 0x0000000000405307 in main ()
Can you reproduce the crash? What did you do before the crash e.g. it looks like you inserted a vector layer.
I can't reproduce the crash, but this problem may be related: 1. Select "Basic_mix_over" brush. 2. Select "Freehand Path drawing" (draw a path and undo). 3. Select "Paint with brushes" and try drawing -> nothing happens. 4. Select "Draw a rectangle" and try create it. -> nothing happens. 4. Select "Freehand Path drawing" and draw a path. Now you can undo "Create shape" and "Add Layer". Undo just "Create shape". 5. Select "Draw a rectangle" and try create it. -> rectangle is created. 6. Undo "Create shape" and "Add Layer" (all history). 7. Try to create a rectangle again. What is a vector layer? Is it same as "Add Layer" in history?
> 7. Try to create a rectangle again. -> nothing happens.
A vector layer only contains shape like rectangles. You can't paint on it with pixel-based tools. "Freehand Path drawing" is a vector based tool which means that Krita will insert a vector layer when you use it. You will see that a new layer is added in the layer docker. Once that is inserted you can't paint on it with the normal brushes unless you switch to e.g. a pixel layer. In the next version there will be a little info box that will notify if the layer can't be edited with the current tool.
Still, I can't draw a rectangle after I undo vector layer, which is created by "Freehand Path drawing" tool. -> Rectangle tool can't create a vector layer. -> No rectangle is created.
Hi Martin, I tested with version 2.6 and could not reproduce the problem. I think it was fixed in that version -- we did do some work on fixing issues with vector layers there. Please upgrade to 2.6!