Bug 286713 - EMF: Crash: Assert "0", EmfOutputPainterStrategy.cpp,739
Summary: EMF: Crash: Assert "0", EmfOutputPainterStrategy.cpp,739
Status: RESOLVED FIXED
Alias: None
Product: calligracommon
Classification: Applications
Component: flake-plugins (show other bugs)
Version: 2.4-snapshots
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Inge Wallin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-15 17:38 UTC by LukasT
Modified: 2011-11-17 01:22 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 LukasT 2011-11-15 17:38:58 UTC
Application: calligrastage (2.4 Beta 3)
KDE Platform Version: 4.6.5 (4.6.5)
Qt Version: 4.7.4
Operating System: Linux 2.6.35.14-97.fc14.i686.PAE i686
Distribution: "Fedora release 14 (Laughlin)"

-- Information about the crash:
- What I was doing when the application crashed:
1. Open the file at www.mongolia.webzdarma.cz/basalt.ppt
1. Go to slide 14.
2. Crash

The crash can be reproduced every time.

-- Backtrace:
Application: Stage (calligrastage), signal: Aborted
[Current thread is 1 (Thread 0xb781f790 (LWP 16198))]

Thread 3 (Thread 0xb3ce5b70 (LWP 16202)):
[KCrash Handler]
#7  0x005af424 in __kernel_vsyscall ()
#8  0x01c6b2f1 in raise () from /lib/libc.so.6
#9  0x01c6cd5e in abort () from /lib/libc.so.6
#10 0x0911063a in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
#11 0x09110809 in ?? () from /usr/lib/libQtCore.so.4
#12 0x0911091a in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#13 0x091109a6 in qt_assert(char const*, char const*, int) () from /usr/lib/libQtCore.so.4
#14 0x08d20ccf in Libemf::OutputPainterStrategy::selectStockObject (this=0xb3ce5000, ihObject=2147483660) at /home/lukas/src/calligra/plugins/vectorshape/libemf/EmfOutputPainterStrategy.cpp:739
#15 0x08d20e06 in Libemf::OutputPainterStrategy::selectObject (this=0xb3ce5000, ihObject=2147483660) at /home/lukas/src/calligra/plugins/vectorshape/libemf/EmfOutputPainterStrategy.cpp:774
#16 0x08d16666 in Libemf::Parser::readRecord (this=0xb3ce5104, stream=...) at /home/lukas/src/calligra/plugins/vectorshape/libemf/EmfParser.cpp:583
#17 0x08d15ac3 in Libemf::Parser::loadFromStream (this=0xb3ce5104, stream=...) at /home/lukas/src/calligra/plugins/vectorshape/libemf/EmfParser.cpp:123
#18 0x08d15970 in Libemf::Parser::load (this=0xb3ce5104, contents=...) at /home/lukas/src/calligra/plugins/vectorshape/libemf/EmfParser.cpp:100
#19 0x08d0f12b in RenderThread::drawEmf (this=0xa43bb90, painter=...) at /home/lukas/src/calligra/plugins/vectorshape/VectorShape.cpp:230
#20 0x08d0eda7 in RenderThread::draw (this=0xa43bb90, painter=...) at /home/lukas/src/calligra/plugins/vectorshape/VectorShape.cpp:173
#21 0x08d0ebe7 in RenderThread::run (this=0xa43bb90) at /home/lukas/src/calligra/plugins/vectorshape/VectorShape.cpp:128
#22 0x0910eabe in ?? () from /usr/lib/libQtCore.so.4
#23 0x0911a363 in ?? () from /usr/lib/libQtCore.so.4
#24 0x045b378d in ?? () from /usr/lib/nvidia/libGL.so.1
#25 0x01d17d2e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb29fdb70 (LWP 16203)):
#0  0x005af424 in __kernel_vsyscall ()
#1  0x002d2743 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0911a9d0 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x0910eb49 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0911a363 in ?? () from /usr/lib/libQtCore.so.4
#5  0x045b378d in ?? () from /usr/lib/nvidia/libGL.so.1
#6  0x01d17d2e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb781f790 (LWP 16198)):
#0  0x005af424 in __kernel_vsyscall ()
#1  0x01d0cc36 in poll () from /lib/libc.so.6
#2  0x059543d0 in ?? () from /usr/lib/libxcb.so.1
#3  0x05955d4f in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#4  0x02cab428 in _XReply () from /usr/lib/libX11.so.6
#5  0x02c874ea in XGetImage () from /usr/lib/libX11.so.6
#6  0x02282272 in QX11PixmapData::toImage(QRect const&) const () from /usr/lib/libQtGui.so.4
#7  0x0227df38 in QX11PixmapData::toImage() const () from /usr/lib/libQtGui.so.4
#8  0x0226949c in QPixmap::toImage() const () from /usr/lib/libQtGui.so.4
#9  0x01bb57d0 in KoPADocumentModel::createThumbnail (this=0xa4c1b40, shape=0xa1e33e8, thumbSize=...) at /home/lukas/src/calligra/libs/kopageapp/KoPADocumentModel.cpp:352
#10 0x01bb4ba6 in KoPADocumentModel::data (this=0xa4c1b40, index=..., role=193) at /home/lukas/src/calligra/libs/kopageapp/KoPADocumentModel.cpp:230
#11 0x001f326d in QModelIndex::data (this=0xbfdea0fc, arole=193) at /usr/include/QtCore/qabstractitemmodel.h:398
#12 0x001f25c5 in KoDocumentSectionDelegate::drawThumbnail (this=0xa5cc498, p=0xbfdea39c, option=..., index=...) at /home/lukas/src/calligra/libs/main/KoDocumentSectionDelegate.cpp:462
#13 0x001f026d in KoDocumentSectionDelegate::paint (this=0xa5cc498, p=0xbfdea39c, o=..., index=...) at /home/lukas/src/calligra/libs/main/KoDocumentSectionDelegate.cpp:93
#14 0x02753925 in QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () from /usr/lib/libQtGui.so.4
#15 0x027561a3 in QTreeView::drawTree(QPainter*, QRegion const&) const () from /usr/lib/libQtGui.so.4
#16 0x02756f8c in QTreeView::paintEvent(QPaintEvent*) () from /usr/lib/libQtGui.so.4
#17 0x001f63f2 in KoDocumentSectionView::paintEvent (this=0xa60dcc0, event=0xbfdeb004) at /home/lukas/src/calligra/libs/main/KoDocumentSectionView.cpp:289
#18 0x021db36f in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#19 0x025dcfc4 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x0266d063 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x0270ebbf in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#22 0x02758714 in QTreeView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#23 0x001f5960 in KoDocumentSectionView::viewportEvent (this=0xa60dcc0, e=0xbfdeb004) at /home/lukas/src/calligra/libs/main/KoDocumentSectionView.cpp:154
#24 0x0266f9d5 in ?? () from /usr/lib/libQtGui.so.4
#25 0x09211d4a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#26 0x02181a01 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#27 0x021867df in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#28 0x010f552b in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#29 0x09211b93 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#30 0x021d7f7d in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#31 0x021d8c8d in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#32 0x021d8b53 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#33 0x021d8b53 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#34 0x021d8b53 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#35 0x021d8b53 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#36 0x021d8b53 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#37 0x021d7cd1 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#38 0x021d8c8d in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#39 0x021d7cd1 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#40 0x021d8c8d in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#41 0x021d7cd1 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#42 0x021d8c8d in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#43 0x021d7cd1 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#44 0x023ba2c1 in ?? () from /usr/lib/libQtGui.so.4
#45 0x021cd5a3 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#46 0x021db9cd in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#47 0x025fa4a7 in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#48 0x011d5df4 in KMainWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#49 0x01217c10 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#50 0x02181a2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#51 0x021867df in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#52 0x010f552b in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#53 0x09211b93 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#54 0x092158e5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#55 0x09215abe in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#56 0x0923f7b5 in ?? () from /usr/lib/libQtCore.so.4
#57 0x030dd192 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#58 0x030dd978 in ?? () from /lib/libglib-2.0.so.0
#59 0x030ddc35 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#60 0x0923f92d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#61 0x02235996 in ?? () from /usr/lib/libQtGui.so.4
#62 0x09210d2a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#63 0x09210fda in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#64 0x09215b87 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#65 0x0217f838 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#66 0x00300e8d in kdemain (argc=2, argv=0xbfded044) at /home/lukas/src/calligra/stage/part/main.cpp:44
#67 0x08048789 in main (argc=2, argv=0xbfded044) at /home/lukas/src/build/calligra/stage/part/calligrastage_dummy.cpp:3

Reported using DrKonqi
Comment 1 LukasT 2011-11-15 17:39:37 UTC
Inge, Emf crash, something for you ;)
Comment 2 Inge Wallin 2011-11-16 13:26:36 UTC
Yes indeed.  Taking it.
Comment 3 Inge Wallin 2011-11-17 01:22:52 UTC
Git commit 73d2567aae686a325dcaf947aa91e9f1d5295049 by Inge Wallin.
Committed on 17/11/2011 at 02:21.
Pushed by ingwa into branch 'master'.

EMF: Fix bug 286713: EMF: Crash: Assert "0", EmfOutputPainterStrategy.cpp

The reason for the crash were unnecessary ASSERT(0) in
SelectStockObject.  I removed all asserts there and made sure that a
font was always selected. So no more crashes for stock objects, at
least.

BUG: 286713

M  +9    -10   plugins/vectorshape/libemf/EmfOutputPainterStrategy.cpp

http://commits.kde.org/calligra/73d2567aae686a325dcaf947aa91e9f1d5295049