Bug 255625 - EMF: Error in bitmap painting
Summary: EMF: Error in bitmap painting
Status: CONFIRMED
Alias: None
Product: calligracommon
Classification: Applications
Component: flake-plugins (show other bugs)
Version: 2.2
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Inge Wallin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-30 00:15 UTC by Alexey Chernov
Modified: 2021-03-09 08:13 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
Document which reproduces the crash (756.50 KB, application/octet-stream)
2010-11-01 22:18 UTC, Alexey Chernov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Chernov 2010-10-30 00:15:20 UTC
Application: kword (2.2.2)
KDE Platform Version: 4.5.2 (KDE 4.5.2) (Compiled from sources)
Qt Version: 4.7.0
Operating System: Linux 2.6.35.4 x86_64

-- Information about the crash:
- What I was doing when the application crashed:
KWord crashed when I scroll down .doc document with mouse wheel. No text was edited.

-- Backtrace:
Application: KWord (kdeinit4), signal: Aborted
[KCrash Handler]
#6  0x00007f726b681315 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007f726b68299f in *__GI_abort () at abort.c:92
#8  0x00007f726d4df30f in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2259
#9  0x00007f726d4df4b2 in qt_message (msgType=QtFatalMsg, msg=0x7f726d67b310 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fffb31a4540) at global/qglobal.cpp:2305
#10 0x00007f726d4df665 in qFatal (msg=0x56dc <Address 0x56dc out of bounds>) at global/qglobal.cpp:2488
#11 0x00007f723ea26d6e in Libemf::Parser::readRecord (this=0x7fffb31a4f50, stream=...) at /usr/src/packages/koffice-2.2.2/plugins/vectorshape/libemf/EmfParser.cpp:957
#12 0x00007f723ea27142 in Libemf::Parser::loadFromStream (this=0x7fffb31a4f50, stream=...) at /usr/src/packages/koffice-2.2.2/plugins/vectorshape/libemf/EmfParser.cpp:92
#13 0x00007f723ea20a34 in VectorShape::drawEmf (this=<value optimized out>, painter=<value optimized out>) at /usr/src/packages/koffice-2.2.2/plugins/vectorshape/VectorShape.cpp:214
#14 0x00007f724f3479c6 in KoShapeManager::paintShape (this=<value optimized out>, shape=<value optimized out>, painter=<value optimized out>, converter=<value optimized out>, 
    forPrint=<value optimized out>) at /usr/src/packages/koffice-2.2.2/libs/flake/KoShapeManager.cpp:362
#15 0x00007f724f3470c8 in KoShapeManagerPaintingStrategy::paint (this=0x27b5c50, shape=0x1f334d0, painter=..., converter=..., forPrint=false)
    at /usr/src/packages/koffice-2.2.2/libs/flake/KoShapeManagerPaintingStrategy.cpp:53
#16 0x00007f724f34a09e in KoShapeManager::paint (this=0x27b8cc0, painter=..., converter=<value optimized out>, forPrint=<value optimized out>)
    at /usr/src/packages/koffice-2.2.2/libs/flake/KoShapeManager.cpp:328
#17 0x00007f72460d73c2 in KWCanvas::paintEvent (this=0x24cac40, ev=<value optimized out>) at /usr/src/packages/koffice-2.2.2/kword/part/KWCanvas.cpp:286
#18 0x00007f726c3c6380 in QWidget::event (this=0x24cac40, event=0x7fffb31a6270) at kernel/qwidget.cpp:8333
#19 0x00007f726c360c30 in QApplicationPrivate::notify_helper (this=0x1a2aee0, receiver=0x24cac40, e=0x7fffb31a6270) at kernel/qapplication.cpp:4396
#20 0x00007f726c36df29 in QApplication::notify (this=0x7fffb31a7490, receiver=<value optimized out>, e=0x7fffb31a6270) at kernel/qapplication.cpp:4277
#21 0x00007f726e630d51 in KApplication::notify (this=0x7fffb31a7490, receiver=0x24cac40, event=0x7fffb31a6270) at /usr/src/packages/kde4/4.5.2/kdelibs-4.5.2/kdeui/kernel/kapplication.cpp:310
#22 0x00007f726d6005eb in QCoreApplication::notifyInternal (this=0x7fffb31a7490, receiver=0x24cac40, event=0x7fffb31a6270) at kernel/qcoreapplication.cpp:732
#23 0x00007f726c3d0776 in QCoreApplication::sendSpontaneousEvent (this=0x27b86a0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, 
    backingStore=0x1c3f550) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#24 QWidgetPrivate::drawWidget (this=0x27b86a0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x1c3f550)
    at kernel/qwidget.cpp:5420
#25 0x00007f726c5f7a8d in QWidgetBackingStore::sync (this=0x1c3f550) at painting/qbackingstore.cpp:1320
#26 0x00007f726c3bf7e0 in QWidgetPrivate::syncBackingStore (this=0x1c17260) at kernel/qwidget.cpp:1805
#27 0x00007f726c3c6a6a in QWidget::event (this=0x1c17dc0, event=0x2b3f350) at kernel/qwidget.cpp:8480
#28 0x00007f726c84f88b in QMainWindow::event (this=0x1c17dc0, event=0x2b3f350) at widgets/qmainwindow.cpp:1417
#29 0x00007f726e7325a0 in KXmlGuiWindow::event (this=0x56dc, ev=0x56dc) at /usr/src/packages/kde4/4.5.2/kdelibs-4.5.2/kdeui/xmlgui/kxmlguiwindow.cpp:130
#30 0x00007f726c360c30 in QApplicationPrivate::notify_helper (this=0x1a2aee0, receiver=0x1c17dc0, e=0x2b3f350) at kernel/qapplication.cpp:4396
#31 0x00007f726c36df29 in QApplication::notify (this=0x7fffb31a7490, receiver=<value optimized out>, e=0x2b3f350) at kernel/qapplication.cpp:4277
#32 0x00007f726e630d51 in KApplication::notify (this=0x7fffb31a7490, receiver=0x1c17dc0, event=0x2b3f350) at /usr/src/packages/kde4/4.5.2/kdelibs-4.5.2/kdeui/kernel/kapplication.cpp:310
#33 0x00007f726d6005eb in QCoreApplication::notifyInternal (this=0x7fffb31a7490, receiver=0x1c17dc0, event=0x2b3f350) at kernel/qcoreapplication.cpp:732
#34 0x00007f726d6056fb in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x195bb00) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#35 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x195bb00) at kernel/qcoreapplication.cpp:1373
#36 0x00007f726d635713 in QCoreApplication::sendPostedEvents (s=0x1a2ea20) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#37 postEventSourceDispatch (s=0x1a2ea20) at kernel/qeventdispatcher_glib.cpp:277
#38 0x00007f72685c5e7d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#39 0x00007f72685c9838 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#40 0x00007f72685c9960 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#41 0x00007f726d635343 in QEventDispatcherGlib::processEvents (this=0x195dd30, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#42 0x00007f726c42ca9e in QGuiEventDispatcherGlib::processEvents (this=0x56dc, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#43 0x00007f726d5ff1e2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#44 0x00007f726d5ff5c5 in QEventLoop::exec (this=0x7fffb31a7440, flags=) at kernel/qeventloop.cpp:201
#45 0x00007f726d605a0b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#46 0x00007f724feffc95 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/packages/koffice-2.2.2/kword/part/main.cpp:38
#47 0x0000000000407acd in launch (argc=2, _name=<value optimized out>, args=<value optimized out>, cwd=<value optimized out>, envc=<value optimized out>, envs=<value optimized out>, reset_env=false, 
    tty=0x0, avoid_loops=false, startup_id_str=0x19ead3f "aclex;1288390390;317972;2589_TIME15486331") at /usr/src/packages/kde4/4.5.2/kdelibs-4.5.2/kinit/kinit.cpp:723
#48 0x000000000040875c in handle_launcher_request (sock=8, who=<value optimized out>) at /usr/src/packages/kde4/4.5.2/kdelibs-4.5.2/kinit/kinit.cpp:1215
#49 0x0000000000408efa in handle_requests (waitForPid=<value optimized out>) at /usr/src/packages/kde4/4.5.2/kdelibs-4.5.2/kinit/kinit.cpp:1408
#50 0x00000000004093f7 in main (argc=4, argv=<value optimized out>, envp=<value optimized out>) at /usr/src/packages/kde4/4.5.2/kdelibs-4.5.2/kinit/kinit.cpp:1892

Possible duplicates by query: bug 250406.

Reported using DrKonqi
Comment 1 Thomas Zander 2010-10-31 15:54:57 UTC
Libemf based crash, reassigning to Inge
Comment 2 Inge Wallin 2010-11-01 14:44:25 UTC
Hi Alexey,
Can you attach the file that made kword krash? I cannot fix this bug unless I can test the emf in question. If the contents of the text is sensitive, you can either send it to me, or maybe you can copy the emf itself to an empty document.
Comment 3 Alexey Chernov 2010-11-01 22:10:29 UTC
Hi, Inge,
unfortunately, this document is from my employee and he don't allow me to share it. But I'll try to make equivalent one which reproduces the bug and attach it here.
Comment 4 Alexey Chernov 2010-11-01 22:18:53 UTC
Created attachment 53052 [details]
Document which reproduces the crash

so, here it is
Comment 5 Inge Wallin 2010-11-02 13:21:54 UTC
Thank you.  It turns out that the vector shape doesn't crash on this any more in trunk.  However, it is also not shown correctly.  This is because the picture uses one of the many, many bitmap drawing modes in EMF that are not yet implemented in the vector shape.

I will rename this bug to something more close to the current situation, and take care of it hopefully soon.  I can't guarantee that it will be fixed before 2.3, but I will do what I can.
Comment 6 Inge Wallin 2010-11-02 13:28:22 UTC
Created a new koffice component: flake-plugins. Moved this bug to that.
Comment 7 Alexey Chernov 2010-11-02 14:33:44 UTC
Thank you for a detailed description and taking care of it. Glad if I helped a little bit.
Comment 8 Inge Wallin 2011-06-12 12:18:54 UTC
Git commit 8c06ac503a03405bb9da8f794616a21b6d67a6d8 by Inge Wallin.
Committed on 12/06/2011 at 11:15.
Pushed by ingwa into branch 'master'.

EMF: Improve the situation with painting bitmaps with different raster operations

This improves the situation with bug 255625: "EMF: Error in bitmap
painting", it doesn't solve it altogether.

CCBUG: 255625

M  +50   -4    plugins/vectorshape/libemf/EmfOutputPainterStrategy.cpp     
M  +0    -2    plugins/vectorshape/libemf/EmfOutputPainterStrategy.h     

http://commits.kde.org/calligra/8c06ac503a03405bb9da8f794616a21b6d67a6d8
Comment 9 Justin Zobel 2021-03-09 01:22:18 UTC
Thank you for the bug report.

As this report hasn't seen any changes in 5 years or more, we ask if you can please confirm that the issue still persists.

If this bug is no longer persisting or relevant please change the status to resolved.