Bug 324106 - When trying to adjust a (new) Textbrush Krita seems to crash randomly.
Summary: When trying to adjust a (new) Textbrush Krita seems to crash randomly.
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Unclassified
Component: General (show other bugs)
Version: 2.8 Pre-Alpha
Platform: Ubuntu Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-08-27 09:10 UTC by vascoalexander
Modified: 2013-08-27 09:52 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 vascoalexander 2013-08-27 09:10:58 UTC
Application: krita (2.8 Pre-Alpha)
KDE Platform Version: 4.10.5
Qt Version: 4.8.4
Operating System: Linux 3.8.0-30-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:

Open the Brush Creator directly after launching Krita, no preset chosen. Directly choose the Textbrush Tab. Deleted half of the default Text with default Font (Ubuntu, 9) -> Crash

3 Crashes so far after different amount of time playing with the Textbrush, without any idea what could trigger it.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Krita (kdeinit4), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7feee3f137c0 (LWP 11488))]

Thread 9 (Thread 0x7feebaf6d700 (LWP 11489)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007feee2a9914b in wait (time=18446744073709551615, this=0x195c7a0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x195c750, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007feee2a95067 in QSemaphore::acquire (this=this@entry=0x190eb10, n=n@entry=1) at thread/qsemaphore.cpp:144
#4  0x00007feec3c33404 in waitForWork (this=0x190eb00) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/image/tiles3/kis_tile_data_pooler.cc:162
#5  KisTileDataPooler::run (this=0x190eb00) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/image/tiles3/kis_tile_data_pooler.cc:184
#6  0x00007feee2a98bec in QThreadPrivate::start (arg=0x190eb00) at thread/qthread_unix.cpp:338
#7  0x00007feed21033b4 in ?? () from /usr/lib/nvidia-310/libGL.so.1
#8  0x00007feedefaef8e in start_thread (arg=0x7feebaf6d700) at pthread_create.c:311
#9  0x00007feee179ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7feeba76c700 (LWP 11490)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007feee2a9914b in wait (time=18446744073709551615, this=0x195cb30) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x195cae0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007feee2a95438 in QSemaphore::tryAcquire (this=0x195c810, n=n@entry=1, timeout=timeout@entry=-1) at thread/qsemaphore.cpp:221
#4  0x00007feec3c60e83 in KisTileDataSwapper::waitForWork (this=this@entry=0x190eb38) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#5  0x00007feec3c6110a in KisTileDataSwapper::run (this=0x190eb38) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#6  0x00007feee2a98bec in QThreadPrivate::start (arg=0x190eb38) at thread/qthread_unix.cpp:338
#7  0x00007feed21033b4 in ?? () from /usr/lib/nvidia-310/libGL.so.1
#8  0x00007feedefaef8e in start_thread (arg=0x7feeba76c700) at pthread_create.c:311
#9  0x00007feee179ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7feeb27fc700 (LWP 11495)):
#0  0x00007feee1797233 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007feee2bc14f3 in qt_safe_select (nfds=30, fdread=0x7feea4000af8, fdwrite=0x7feea4000d90, fdexcept=0x7feea4001028, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007feee2bc6499 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7feea4000940, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007feee2bc6c82 in QEventDispatcherUNIX::processEvents (this=0x7feea4000920, flags=...) at kernel/qeventdispatcher_unix.cpp:937
#4  0x00007feee2b9438f in QEventLoop::processEvents (this=this@entry=0x7feeb27fbcd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007feee2b94618 in QEventLoop::exec (this=this@entry=0x7feeb27fbcd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007feee2a96410 in QThread::exec (this=this@entry=0x1f10f20) at thread/qthread.cpp:542
#7  0x00007feee2b75edf in QInotifyFileSystemWatcherEngine::run (this=0x1f10f20) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007feee2a98bec in QThreadPrivate::start (arg=0x1f10f20) at thread/qthread_unix.cpp:338
#9  0x00007feed21033b4 in ?? () from /usr/lib/nvidia-310/libGL.so.1
#10 0x00007feedefaef8e in start_thread (arg=0x7feeb27fc700) at pthread_create.c:311
#11 0x00007feee179ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7fee995e8700 (LWP 11501)):
#0  0x00007fffb24a4911 in ?? ()
#1  0x00007fee840011a8 in ?? ()
#2  0x00007fee995e7c20 in ?? ()
#3  0x00007fee84000920 in ?? ()
#4  0x00007fee995e7bd0 in ?? ()
#5  0x00007feee17b3ead in clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
#6  0x00007feee2aeea74 in do_gettime (frac=0x7fee995e7a48, sec=0x7fee995e7a40) at tools/qelapsedtimer_unix.cpp:123
#7  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#8  0x00007feee2bc49ed in QTimerInfoList::updateCurrentTime (this=0x1, this@entry=0x7fee840011a8) at kernel/qeventdispatcher_unix.cpp:354
#9  0x00007feee2bc6173 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7fee84000940, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:186
#10 0x00007feee2bc6c82 in QEventDispatcherUNIX::processEvents (this=0x7fee84000920, flags=...) at kernel/qeventdispatcher_unix.cpp:937
#11 0x00007feee2b9438f in QEventLoop::processEvents (this=this@entry=0x7fee995e7cd0, flags=...) at kernel/qeventloop.cpp:149
#12 0x00007feee2b94618 in QEventLoop::exec (this=this@entry=0x7fee995e7cd0, flags=...) at kernel/qeventloop.cpp:204
#13 0x00007feee2a96410 in QThread::exec (this=this@entry=0x214e290) at thread/qthread.cpp:542
#14 0x00007feee2b75edf in QInotifyFileSystemWatcherEngine::run (this=0x214e290) at io/qfilesystemwatcher_inotify.cpp:256
#15 0x00007feee2a98bec in QThreadPrivate::start (arg=0x214e290) at thread/qthread_unix.cpp:338
#16 0x00007feed21033b4 in ?? () from /usr/lib/nvidia-310/libGL.so.1
#17 0x00007feedefaef8e in start_thread (arg=0x7fee995e8700) at pthread_create.c:311
#18 0x00007feee179ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7feeb2ffd700 (LWP 11507)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007feee2a9914b in wait (time=18446744073709551615, this=0x4db3380) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x4db2f08, mutex=mutex@entry=0x4db2f00, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007feee242c636 in QFileInfoGatherer::run (this=0x4db2ef0) at dialogs/qfileinfogatherer.cpp:214
#4  0x00007feee2a98bec in QThreadPrivate::start (arg=0x4db2ef0) at thread/qthread_unix.cpp:338
#5  0x00007feed21033b4 in ?? () from /usr/lib/nvidia-310/libGL.so.1
#6  0x00007feedefaef8e in start_thread (arg=0x7feeb2ffd700) at pthread_create.c:311
#7  0x00007feee179ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7feeb37fe700 (LWP 11508)):
#0  0x00007feee1797233 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007feee2bc14f3 in qt_safe_select (nfds=23, fdread=0x7fee9c000af8, fdwrite=0x7fee9c000d90, fdexcept=0x7fee9c001028, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007feee2bc6499 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7fee9c000940, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007feee2bc6c82 in QEventDispatcherUNIX::processEvents (this=0x7fee9c000920, flags=...) at kernel/qeventdispatcher_unix.cpp:937
#4  0x00007feee2b9438f in QEventLoop::processEvents (this=this@entry=0x7feeb37fdcd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007feee2b94618 in QEventLoop::exec (this=this@entry=0x7feeb37fdcd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007feee2a96410 in QThread::exec (this=this@entry=0x4db2200) at thread/qthread.cpp:542
#7  0x00007feee2b75edf in QInotifyFileSystemWatcherEngine::run (this=0x4db2200) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007feee2a98bec in QThreadPrivate::start (arg=0x4db2200) at thread/qthread_unix.cpp:338
#9  0x00007feed21033b4 in ?? () from /usr/lib/nvidia-310/libGL.so.1
#10 0x00007feedefaef8e in start_thread (arg=0x7feeb37fe700) at pthread_create.c:311
#11 0x00007feee179ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7feeb3fff700 (LWP 11519)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007feee2a990a7 in wait (time=30000, this=0x6650ce0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x6650c58, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007feee2a8c64f in QThreadPoolThread::run (this=0x21315e0) at concurrent/qthreadpool.cpp:141
#4  0x00007feee2a98bec in QThreadPrivate::start (arg=0x21315e0) at thread/qthread_unix.cpp:338
#5  0x00007feedefaef8e in start_thread (arg=0x7feeb3fff700) at pthread_create.c:311
#6  0x00007feee179ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7fee696d7700 (LWP 11520)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007feee2a990a7 in wait (time=30000, this=0x6650ce0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x6650c58, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007feee2a8c64f in QThreadPoolThread::run (this=0x7fee919f3e10) at concurrent/qthreadpool.cpp:141
#4  0x00007feee2a98bec in QThreadPrivate::start (arg=0x7fee919f3e10) at thread/qthread_unix.cpp:338
#5  0x00007feedefaef8e in start_thread (arg=0x7fee696d7700) at pthread_create.c:311
#6  0x00007feee179ee1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7feee3f137c0 (LWP 11488)):
[KCrash Handler]
#5  0x00007feee16dc037 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#6  0x00007feee16df698 in __GI_abort () at abort.c:90
#7  0x00007feee2a8e5c2 in qt_message_output (msgType=msgType@entry=QtFatalMsg, buf=0x4e7afa8 "ASSERT: \"uint(i) < uint(size())\" in file /usr/include/qt4/QtCore/qstring.h, line 699") at global/qglobal.cpp:2347
#8  0x00007feee2a8e938 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=msg@entry=0x7feee2bf8548 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7fffb2481fb8) at global/qglobal.cpp:2393
#9  0x00007feee2a8eac4 in qFatal (msg=msg@entry=0x7feee2bf8548 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2576
#10 0x00007feee2a8eb06 in qt_assert (assertion=assertion@entry=0x7feebbf8e184 "uint(i) < uint(size())", file=file@entry=0x7feebbf8c640 "/usr/include/qt4/QtCore/qstring.h", line=line@entry=699) at global/qglobal.cpp:2021
#11 0x00007feebbf88c3a in at (i=0, this=0x67e1328) at /usr/include/qt4/QtCore/qstring.h:699
#12 firstBrush (this=0x67e1310) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/plugins/paintops/libbrush/kis_text_brush.cpp:95
#13 KisTextBrush::updateBrush (this=this@entry=0x67e1660) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/plugins/paintops/libbrush/kis_text_brush.cpp:205
#14 0x00007feebc23d616 in KisTextBrushChooser::rebuildTextBrush (this=this@entry=0x67e1340) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/plugins/paintops/libpaintop/kis_text_brush_chooser.cpp:66
#15 0x00007feebc23db7a in getFont (this=<optimized out>) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/plugins/paintops/libpaintop/kis_text_brush_chooser.cpp:54
#16 KisTextBrushChooser::qt_static_metacall (_o=0x67e1340, _id=1, _a=<optimized out>, _c=<optimized out>) at /build/buildd/krita-testing-2+git20130811+r74290-40/obj-x86_64-linux-gnu/krita/plugins/paintops/libpaintop/kis_text_brush_chooser.moc:56
#17 0x00007feee2baa0ef in QMetaObject::activate (sender=0x67e1fc0, m=m@entry=0x7feee29eb0e0 <QLineEdit::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffb2482480) at kernel/qobject.cpp:3539
#18 0x00007feee234a602 in QLineEdit::textChanged (this=<optimized out>, _t1=...) at .moc/release-shared/moc_qlineedit.cpp:264
#19 0x00007feee234a889 in QLineEdit::qt_static_metacall (_o=0x2ce0, _c=11488, _id=6, _a=0xffffffffffffffff) at .moc/release-shared/moc_qlineedit.cpp:140
#20 0x00007feee2baa0ef in QMetaObject::activate (sender=sender@entry=0x67e2320, m=m@entry=0x7feee2a08be0 <QLineControl::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fffb24825e0) at kernel/qobject.cpp:3539
#21 0x00007feee25a9b55 in QLineControl::textChanged (this=this@entry=0x67e2320, _t1=...) at .moc/release-shared/moc_qlinecontrol_p.cpp:148
#22 0x00007feee234fe60 in QLineControl::finishChange (this=this@entry=0x67e2320, validateFromState=<optimized out>, update=update@entry=false, edited=edited@entry=true) at widgets/qlinecontrol.cpp:660
#23 0x00007feee2350bbf in QLineControl::backspace (this=this@entry=0x67e2320) at widgets/qlinecontrol.cpp:211
#24 0x00007feee235240c in QLineControl::processKeyEvent (this=0x67e2320, event=event@entry=0x7fffb2483090) at widgets/qlinecontrol.cpp:1846
#25 0x00007feee2346d69 in QLineEdit::keyPressEvent (this=0x67e1fc0, event=0x7fffb2483090) at widgets/qlineedit.cpp:1707
#26 0x00007feee39c7b14 in KLineEdit::keyPressEvent(QKeyEvent*) () from /usr/lib/libkdeui.so.5
#27 0x00007feee1f88634 in QWidget::event (this=this@entry=0x67e1fc0, event=event@entry=0x7fffb2483090) at kernel/qwidget.cpp:8421
#28 0x00007feee234cbc7 in QLineEdit::event (this=0x67e1fc0, e=0x7fffb2483090) at widgets/qlineedit.cpp:1524
#29 0x00007feee39c69d8 in KLineEdit::event(QEvent*) () from /usr/lib/libkdeui.so.5
#30 0x00007feee1f3b8ec in QApplicationPrivate::notify_helper (this=this@entry=0xc4d030, receiver=receiver@entry=0x67e1fc0, e=e@entry=0x7fffb2483090) at kernel/qapplication.cpp:4567
#31 0x00007feee1f3ed4d in QApplication::notify (this=<optimized out>, receiver=receiver@entry=0x67e1fc0, e=e@entry=0x7fffb2483090) at kernel/qapplication.cpp:4008
#32 0x00007feecc621b28 in KoApplication::notify (this=<optimized out>, receiver=0x67e1fc0, event=0x7fffb2483090) at /build/buildd/krita-testing-2+git20130811+r74290-40/libs/main/KoApplication.cpp:556
#33 0x00007feee2b9563e in QCoreApplication::notifyInternal (this=0x7fffb2483df0, receiver=receiver@entry=0x67e1fc0, event=0x7fffb2483090, event@entry=0x7fffb2482f40) at kernel/qcoreapplication.cpp:946
#34 0x00007feee1f3a226 in sendSpontaneousEvent (event=event@entry=0x7fffb2482f40, receiver=receiver@entry=0x67e1fc0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#35 qt_sendSpontaneousEvent (receiver=receiver@entry=0x67e1fc0, event=event@entry=0x7fffb2483090) at kernel/qapplication.cpp:5565
#36 0x00007feee1fde649 in QKeyMapper::sendKeyEvent (keyWidget=keyWidget@entry=0x67e1fc0, grab=grab@entry=false, type=QEvent::KeyPress, code=16777219, modifiers=..., text=..., autorepeat=autorepeat@entry=true, count=1, nativeScanCode=22, nativeVirtualKey=65288, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1866
#37 0x00007feee1fdea81 in QKeyMapperPrivate::translateKeyEvent (this=0xc91680, keyWidget=keyWidget@entry=0x67e1fc0, event=event@entry=0x7fffb2483ad0, grab=grab@entry=false) at kernel/qkeymapper_x11.cpp:1836
#38 0x00007feee1fb5859 in QApplication::x11ProcessEvent (this=0x7fffb2483df0, event=event@entry=0x7fffb2483ad0) at kernel/qapplication_x11.cpp:3639
#39 0x00007feee1fe1b39 in QEventDispatcherX11::processEvents (this=0x9c7670, flags=...) at kernel/qeventdispatcher_x11.cpp:132
#40 0x00007feee2b9438f in QEventLoop::processEvents (this=this@entry=0x7fffb2483d40, flags=...) at kernel/qeventloop.cpp:149
#41 0x00007feee2b94618 in QEventLoop::exec (this=this@entry=0x7fffb2483d40, flags=...) at kernel/qeventloop.cpp:204
#42 0x00007feee2b99cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#43 0x00007feee1f39ffc in QApplication::exec () at kernel/qapplication.cpp:3828
#44 0x00007feeccb7e3f2 in kdemain (argc=<optimized out>, argv=<optimized out>) at /build/buildd/krita-testing-2+git20130811+r74290-40/krita/main.cc:79
#45 0x00000000004084ea in _start ()

This bug may be a duplicate of or related to bug 322814.

Possible duplicates by query: bug 323829, bug 323406, bug 323381, bug 322940, bug 322814.

Reported using DrKonqi
Comment 1 Halla Rempt 2013-08-27 09:44:13 UTC
Hm, the crash suggests that this happens when the string you're painting with is empty, but I guess that's not the case.
Comment 2 Halla Rempt 2013-08-27 09:44:58 UTC
I do get the same crash though when clicking on "pipe mode" and clearing the text.
Comment 3 Halla Rempt 2013-08-27 09:52:48 UTC
Git commit bce1bb4e9be3412d0ccd0d3537b2f0df3c1d11b9 by Boudewijn Rempt.
Committed on 27/08/2013 at 09:51.
Pushed by rempt into branch 'master'.

Do not crash when clearing the text mode brush in pipe mode

M  +7    -0    krita/plugins/paintops/libpaintop/kis_text_brush_chooser.cpp

http://commits.kde.org/calligra/bce1bb4e9be3412d0ccd0d3537b2f0df3c1d11b9