Bug 302158 - Okular crash when clicked on 'eraser' drawing tool
Summary: Okular crash when clicked on 'eraser' drawing tool
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.14.3
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-18 23:47 UTC by amanda.richer
Modified: 2012-06-23 11:17 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.9.0
Sentry Crash Report:


Attachments
Annotated PDF for testing 'eraser' crash. (122.68 KB, application/x-download)
2012-06-21 18:52 UTC, amanda.richer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description amanda.richer 2012-06-18 23:47:34 UTC
Application: okular (0.14.3)
KDE Platform Version: 4.8.3 (4.8.3)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-24-generic i686
Distribution: Ubuntu 12.04 LTS

-- Information about the crash:
- What I was doing when the application crashed:
Viewing PDF document in presentation mode, clicked on 'eraser' drawing tool and Okular crashed/exited. 

-Information:
Probably this was something to do with running Okular in Unity rather than KDE. (Installed Okular from Synaptic).

-- Backtrace:
Application: Okular (okular), signal: Aborted
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xb77139c0 (LWP 1811))]

Thread 3 (Thread 0xb61bfb40 (LWP 1813)):
#0  0x001d9416 in __kernel_vsyscall ()
#1  0x00d6b380 in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x01a0ba3b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x019fe06e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x019fe52b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x0259d134 in ?? () from /usr/lib/i386-linux-gnu/gio/modules/libdconfsettings.so
#6  0x01a21673 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0x00ae2d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x00d79ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xb57ffb40 (LWP 1814)):
#0  0x019fd95f in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0x019fe002 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0x019fe52b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x0204d0ea in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#4  0x01a21673 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x00ae2d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#6  0x00d79ace in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb77139c0 (LWP 1811)):
[KCrash Handler]
#7  0x001d9416 in __kernel_vsyscall ()
#8  0x00cbd1ef in raise () from /lib/i386-linux-gnu/libc.so.6
#9  0x00cc0835 in abort () from /lib/i386-linux-gnu/libc.so.6
#10 0x00cf82fa in ?? () from /lib/i386-linux-gnu/libc.so.6
#11 0x00d02e42 in ?? () from /lib/i386-linux-gnu/libc.so.6
#12 0x04b7615b in qFree (ptr=0x9ab6d70) at global/qmalloc.cpp:60
#13 0x04bcf208 in QString::free (d=0x9ab6d70) at tools/qstring.cpp:1235
#14 0x087e563d in ~QString (this=0xbfa4da90, __in_chrg=<optimized out>) at /usr/include/qt4/QtCore/qstring.h:880
#15 AnnotationModel::data (this=0x9545d98, index=..., role=1032) at ../ui/annotationmodel.cpp:317
#16 0x015e4a97 in QSortFilterProxyModel::data (this=0x9545ef8, index=..., role=1032) at itemviews/qsortfilterproxymodel.cpp:1718
#17 0x015e32de in QAbstractProxyModel::data (this=0x95461e0, proxyIndex=..., role=1032) at itemviews/qabstractproxymodel.cpp:226
#18 0x087ecb73 in AuthorGroupProxyModel::rebuildIndexes (this=0x9546308) at ../ui/annotationproxymodels.cpp:555
#19 0x04ca96b1 in QMetaObject::activate (sender=0x95461e0, m=0x4df02b8, local_signal_index=13, argv=0x0) at kernel/qobject.cpp:3547
#20 0x04cfb6b5 in QAbstractItemModel::modelReset (this=0x95461e0) at .moc/release-shared/moc_qabstractitemmodel.cpp:251
#21 0x04c87526 in QAbstractItemModel::reset (this=0x95461e0) at kernel/qabstractitemmodel.cpp:2913
#22 0x087eb300 in PageGroupProxyModel::rebuildIndexes (this=0x95461e0) at ../ui/annotationproxymodels.cpp:246
#23 0x04ca96b1 in QMetaObject::activate (sender=0x9545ef8, m=0x4df02b8, local_signal_index=7, argv=0xbfa4dfb0) at kernel/qobject.cpp:3547
#24 0x04cfb4b5 in QAbstractItemModel::rowsRemoved (this=0x9545ef8, _t1=..., _t2=15, _t3=15) at .moc/release-shared/moc_qabstractitemmodel.cpp:211
#25 0x04c8c36e in QAbstractItemModel::endRemoveRows (this=0x9545ef8) at kernel/qabstractitemmodel.cpp:2487
#26 0x015e6e9d in QSortFilterProxyModelPrivate::remove_proxy_interval (this=0x9545f10, source_to_proxy=..., proxy_to_source=..., proxy_start=15, proxy_end=15, proxy_parent=..., orient=Qt::Vertical, emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:569
#27 0x015ebed8 in QSortFilterProxyModelPrivate::remove_source_items (this=0x9545f10, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=Qt::Vertical, emit_signal=true) at itemviews/qsortfilterproxymodel.cpp:539
#28 0x015eda9a in QSortFilterProxyModelPrivate::source_items_about_to_be_removed (this=0x9545f10, source_parent=..., start=15, end=15, orient=Qt::Vertical) at itemviews/qsortfilterproxymodel.cpp:840
#29 0x015edbaa in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeRemoved (this=0x9545f10, source_parent=..., start=15, end=15) at itemviews/qsortfilterproxymodel.cpp:1290
#30 0x04ca96b1 in QMetaObject::activate (sender=0x9545d98, m=0x4df02b8, local_signal_index=6, argv=0xbfa4e230) at kernel/qobject.cpp:3547
#31 0x04cfb455 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x9545d98, _t1=..., _t2=15, _t3=15) at .moc/release-shared/moc_qabstractitemmodel.cpp:204
#32 0x04c8c14c in QAbstractItemModel::beginRemoveRows (this=0x9545d98, parent=..., first=15, last=15) at kernel/qabstractitemmodel.cpp:2470
#33 0x087e6091 in notifyPageChanged (page=1, this=0x9545e48, flags=<optimized out>) at ../ui/annotationmodel.cpp:173
#34 AnnotationModelPrivate::notifyPageChanged (this=0x9545e48, page=1, flags=16) at ../ui/annotationmodel.cpp:112
#35 0x02a88dd7 in Okular::Document::removePageAnnotations (this=0x93c1dc8, page=1, annotations=...) at ../core/document.cpp:2393
#36 0x0884036b in PresentationWidget::clearDrawings (this=0x98a1080) at ../ui/presentationwidget.cpp:1319
#37 0x04ca96b1 in QMetaObject::activate (sender=0x9655e40, m=0x19183f8, local_signal_index=1, argv=0xbfa4e4b8) at kernel/qobject.cpp:3547
#38 0x00f999bd in QAction::triggered (this=0x9655e40, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#39 0x00f99c5b in QAction::activate (this=0x9655e40, event=QAction::Trigger) at kernel/qaction.cpp:1257
#40 0x014a6400 in trigger (this=<optimized out>) at ../../include/QtGui/../../src/gui/kernel/qaction.h:218
#41 QToolButton::nextCheckState (this=0x9919408) at widgets/qtoolbutton.cpp:1144
#42 0x013cdc47 in QAbstractButtonPrivate::click (this=0x9b9a920) at widgets/qabstractbutton.cpp:530
#43 0x013cdf46 in QAbstractButton::mouseReleaseEvent (this=0x9919408, e=0xbfa4ebb4) at widgets/qabstractbutton.cpp:1123
#44 0x014a649d in QToolButton::mouseReleaseEvent (this=0x9919408, e=0xbfa4ebb4) at widgets/qtoolbutton.cpp:718
#45 0x00ffb1ac in QWidget::event (this=0x9919408, event=0xbfa4ebb4) at kernel/qwidget.cpp:8362
#46 0x013cd1e9 in QAbstractButton::event (this=0x9919408, e=0xbfa4ebb4) at widgets/qabstractbutton.cpp:1082
#47 0x014a7bcc in QToolButton::event (this=0x9919408, event=0xbfa4ebb4) at widgets/qtoolbutton.cpp:1160
#48 0x00fa0ed4 in notify_helper (e=0xbfa4ebb4, receiver=0x9919408, this=0x920eb98) at kernel/qapplication.cpp:4559
#49 QApplicationPrivate::notify_helper (this=0x920eb98, receiver=0x9919408, e=0xbfa4ebb4) at kernel/qapplication.cpp:4531
#50 0x00fa7024 in QApplication::notify (this=0x920eb98, receiver=0x9919408, e=0xbfa4ebb4) at kernel/qapplication.cpp:4102
#51 0x0086bb61 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#52 0x04c9297e in QCoreApplication::notifyInternal (this=0xbfa4f3f0, receiver=0x9919408, event=0xbfa4ebb4) at kernel/qcoreapplication.cpp:876
#53 0x00fa1e95 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#54 QApplicationPrivate::sendMouseEvent (receiver=0x9919408, event=0xbfa4ebb4, alienWidget=0x9919408, nativeWidget=0x9af2658, buttonDown=0x1935cf4, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3170
#55 0x0102e074 in QETWidget::translateMouseEvent (this=0x9af2658, event=0xbfa4f06c) at kernel/qapplication_x11.cpp:4617
#56 0x0102cc0d in QApplication::x11ProcessEvent (this=0xbfa4f3f0, event=0xbfa4f06c) at kernel/qapplication_x11.cpp:3732
#57 0x01059eac in x11EventSourceDispatch (s=0x920da90, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#58 0x019fdcda in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#59 0x019fe0e5 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#60 0x019fe1c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#61 0x04cc5887 in QEventDispatcherGlib::processEvents (this=0x91eeef0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#62 0x01059aaa in QGuiEventDispatcherGlib::processEvents (this=0x91eeef0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#63 0x04c9150d in QEventLoop::processEvents (this=0xbfa4f364, flags=...) at kernel/qeventloop.cpp:149
#64 0x04c917a9 in QEventLoop::exec (this=0xbfa4f364, flags=...) at kernel/qeventloop.cpp:204
#65 0x04c96eba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#66 0x00f9ea74 in QApplication::exec () at kernel/qapplication.cpp:3820
#67 0x0804dfb0 in main (argc=<error reading variable: Cannot access memory at address 0x713>, argv=<error reading variable: Cannot access memory at address 0x717>) at ../../shell/main.cpp:85

Possible duplicates by query: bug 300614, bug 290864, bug 278172, bug 277893, bug 277004.

Reported using DrKonqi
Comment 1 Albert Astals Cid 2012-06-19 18:03:18 UTC
May it be that you clicked the "eraser" button while being in the "summary" page, i.e in the page that is not part of your pdf that shows as page zero?
Comment 2 Albert Astals Cid 2012-06-19 18:04:27 UTC
By the way, it has nothing to do with being run in Unity, why do you think that would matter at all?
Comment 3 amanda.richer 2012-06-19 19:06:14 UTC
Comment 1) No, I was in the middle of the PDF, on a regular page.

Comment 2) I think it might matter because I did not install KDE (just the dependencies for Okular) so it is conceivable that there could be a conflict somewhere (especially as Unity does seem to handle some things a bit differently). I obviously don't know for sure, but thought it was a useful piece of information.
Comment 4 Albert Astals Cid 2012-06-19 22:55:29 UTC
Can you reproduce the crash? I.e. do the same again and it crashes again?
Comment 5 amanda.richer 2012-06-20 00:31:14 UTC
Yes, I am able to reproduce it. It doesn't happen with all files though -
the one that reliably crashes on 'erase' has some comments and text markup
(from Acrobat) also. A simple PDF with no such annotations seems to be OK.
I am also able to reproduce the effect also by opening a PDF, creating some
notes and markup on it with Okular, then switching to presentation mode,
making a few drawing lines, and clicking erase.

On Tue, Jun 19, 2012 at 3:55 PM, Albert Astals Cid <tsdgeos@terra.es> wrote:

> https://bugs.kde.org/show_bug.cgi?id=302158
>
> --- Comment #4 from Albert Astals Cid <tsdgeos@terra.es> ---
> Can you reproduce the crash? I.e. do the same again and it crashes again?
>
> --
> You are receiving this mail because:
> You reported the bug.
>
Comment 6 Albert Astals Cid 2012-06-20 14:55:13 UTC
Is it possible for you to attach to the bug the file that always makes okular crash when clicking on 'erase'? That will make our lives easier trying to reproduce and fix the problem.
Comment 7 amanda.richer 2012-06-21 18:52:46 UTC
Created attachment 72022 [details]
Annotated PDF for testing 'eraser' crash.

This is just a regular PDF with some annotations on it.
Comment 8 amanda.richer 2012-06-21 18:54:03 UTC
I cannot attach the original file as it is a draft of a paper I am working on (unpublished). I have been able to replicate it with another file though, and have attached that. The conditions seem to be:
1) have more than one annotation in the PDF
2) draw several (~4?) marks while in presentation mode, then click on 'erase'.
The program then crashes.
Comment 9 Albert Astals Cid 2012-06-23 11:17:28 UTC
This has been fixed for KDE SC 4.9.0, unfortunately can't be backported to 4.8.x because of the core changes it needs in okular