Bug 323200 - Crash in Filter Brush + Predefined Brush
Summary: Crash in Filter Brush + Predefined Brush
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (show other bugs)
Version: git master (please specify the git hash!)
Platform: unspecified Linux
: NOR major
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-05 18:51 UTC by Dmitry Kazakov
Modified: 2013-08-26 19:27 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 Dmitry Kazakov 2013-08-05 18:51:08 UTC
1) Create a brush from a Clipboard
2) Select a Filter Brush
3) Switch to "Invert" filter
4) Click on canvas several times with a mouse -> assert


krita(8657)/kparts KParts::ReadWritePart::setModified: setModified( true )
krita(8657): "[
0: /usr/lib64/libkdecore.so.5(kRealBacktrace(int)+0x35) [0x7f5413880305]
1: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(KisPainter::bitBltWithFixedSelection(int, int, KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisFixedPaintDevice>, int, int, int, int, unsigned int, unsigned int)+0x19e) [0x7f541a4712ee]
2: /home/devel/kde-install/calligra/lib64/kde4/kritafilterop.so(+0xe97d) [0x7f53faaa497d]
3: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(KisPaintInformation::paintAt(KisPaintOp*, KisDistanceInformation*)+0x27) [0x7f541a479dc7]
4: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(KisPaintOp::paintAt(KisPaintInformation const&, KisDistanceInformation*)+0x43) [0x7f541a47cad3]
5: /home/devel/kde-install/calligra/lib64/libkritaui.so.13(FreehandStrokeStrategy::doStrokeCallback(KisStrokeJobData*)+0x1d9) [0x7f541ad327f9]
6: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(+0xc3071) [0x7f541a42e071]
7: /usr/lib64/libQtCore.so.4(+0x6fe15) [0x7f541b366e15]
8: /usr/lib64/libQtCore.so.4(+0x7b025) [0x7f541b372025]
9: /lib64/libpthread.so.0(+0x7f05) [0x7f541b0e1f05]
10: /lib64/libc.so.6(clone+0x6d) [0x7f541287253d]
]
" 
ASSERT: "selection->bounds().contains(selRect)" in file /home/devel/kde-src/calligra/krita/image/kis_painter.cc, line 323
KCrash: Application 'krita' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit

Thread 9 (Thread 0x7f53fc40d700 (LWP 8681)):
[KCrash Handler]
#6  0x00007f54127cdd95 in raise () from /lib64/libc.so.6
#7  0x00007f54127cf2ab in abort () from /lib64/libc.so.6
#8  0x00007f541b3689f4 in qt_message_output (msgType=<optimized out>, buf=<optimized out>) at global/qglobal.cpp:2291
#9  0x00007f541b368baf in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f541b4b7678 "ASSERT: \"%s\" in file %s, line %d", ap=0x7f53fc40c688) at global/qglobal.cpp:2337
#10 0x00007f541b368d54 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2520
#11 0x00007f541b368d9a in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:2036
#12 0x00007f541a471354 in KisPainter::bitBltWithFixedSelection (this=0x6e48d40, dstX=663, dstY=428, srcDev=..., selection=..., selX=0, selY=0, srcX=0, srcY=0, srcWidth=116, srcHeight=102) at /home/devel/kde-src/calligra/krita/image/kis_painter.cc:323
#13 0x00007f53faaa497d in paintAt (info=<optimized out>, this=0x6e452a0) at /home/devel/kde-src/calligra/krita/plugins/paintops/filterop/kis_filterop.cpp:149
#14 KisFilterOp::paintAt (this=0x6e452a0, info=<optimized out>) at /home/devel/kde-src/calligra/krita/plugins/paintops/filterop/kis_filterop.cpp:70
#15 0x00007f541a479dc7 in KisPaintInformation::paintAt (this=0x7f53fc40cc10, op=<optimized out>, distanceInfo=0x6f73450) at /home/devel/kde-src/calligra/krita/image/brushengine/kis_paint_information.cc:118
#16 0x00007f541a47cad3 in KisPaintOp::paintAt (this=0x6e452a0, info=..., currentDistance=0x6f73450) at /home/devel/kde-src/calligra/krita/image/brushengine/kis_paintop.cc:172
#17 0x00007f541ad327f9 in FreehandStrokeStrategy::doStrokeCallback (this=<optimized out>, data=<optimized out>) at /home/devel/kde-src/calligra/krita/ui/tool/strokes/freehand_stroke.cpp:61
#18 0x00007f541a42e071 in KisUpdateJobItem::run (this=0x2be55f0) at /home/devel/kde-build/calligra/krita/image/../../../../kde-src/calligra/krita/image/kis_update_job_item.h:61
#19 0x00007f541b366e15 in QThreadPoolThread::run (this=0x231ec60) at concurrent/qthreadpool.cpp:106
#20 0x00007f541b372025 in QThreadPrivate::start (arg=0x231ec60) at thread/qthread_unix.cpp:331
#21 0x00007f541b0e1f05 in start_thread () from /lib64/libpthread.so.0
#22 0x00007f541287253d in clone () from /lib64/libc.so.6
Comment 1 Dmitry Kazakov 2013-08-08 18:36:48 UTC
This is quite recent regression, btw.
Comment 2 Halla Rempt 2013-08-08 18:44:30 UTC
Weird backtrace -- the first bit looks like it's the autosave bug, then it looks like a bug in kispainter.
Comment 3 Dmitry Kazakov 2013-08-26 19:27:32 UTC
Git commit fa2dbe98ea701b4963edc4c697bec40565b2bbf2 by Dmitry Kazakov.
Committed on 26/08/2013 at 19:27.
Pushed by dkazakov into branch 'master'.

Fixed a subpixel precision calculation of mask sizes

Now the size of the mask is calculated depending on the fractional offset.
This is the second version of a commit 2c30521 which was reverted due to
the problems with the autobrush. Now the auto brush calculates the center
of the  dab correctly using the hotspot information which gives the most
stable and correct results.

M  +2    -2    krita/plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.cpp
M  +2    -2    krita/plugins/paintops/filterop/kis_filterop.cpp
M  +8    -6    krita/plugins/paintops/libbrush/kis_auto_brush.cpp
M  +9    -7    krita/plugins/paintops/libbrush/kis_brush.cpp
M  +2    -2    krita/plugins/paintops/libbrush/kis_brush.h
M  +4    -4    krita/plugins/paintops/libbrush/kis_brushes_pipe.h
M  +4    -4    krita/plugins/paintops/libbrush/kis_imagepipe_brush.cpp
M  +2    -2    krita/plugins/paintops/libbrush/kis_imagepipe_brush.h
M  +6    -6    krita/plugins/paintops/libbrush/kis_text_brush.cpp
M  +2    -2    krita/plugins/paintops/libbrush/kis_text_brush.h
M  +18   -18   krita/plugins/paintops/libbrush/tests/kis_auto_brush_test.cpp
M  +6    -4    krita/plugins/paintops/libbrush/tests/kis_imagepipe_brush_test.cpp
M  +3    -3    krita/plugins/paintops/libpaintop/kis_dab_cache.cpp

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