Bug 310176 - Krita crash when drawing a rectangle
Summary: Krita crash when drawing a rectangle
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: 2.5.3
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-15 22:16 UTC by Martin Holec
Modified: 2013-03-10 10:24 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 Martin Holec 2012-11-15 22:16:11 UTC
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 ()
Comment 1 Sven Langkamp 2012-11-15 22:27:20 UTC
Can you reproduce the crash? What did you do before the crash e.g. it looks like you inserted a vector layer.
Comment 2 Martin Holec 2012-11-16 09:26:55 UTC
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?
Comment 3 Martin Holec 2012-11-16 09:28:07 UTC
> 7. Try to create a rectangle again.
-> nothing happens.
Comment 4 Sven Langkamp 2012-11-18 15:48:42 UTC
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.
Comment 5 Martin Holec 2012-11-19 08:38:28 UTC
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.
Comment 6 Halla Rempt 2013-03-10 10:24:28 UTC
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!