Bug 319491 - Crash while closing Okular
Summary: Crash while closing Okular
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.16.60
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-05-07 19:40 UTC by Aleix Pol
Modified: 2014-05-08 14:36 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aleix Pol 2013-05-07 19:40:36 UTC
Application: okular (0.16.60)
KDE Platform Version: 4.10.60 (Compiled from sources)
Qt Version: 4.8.4
Operating System: Linux 3.8.4-1-ARCH x86_64
Distribution: "Arch Linux"

-- Information about the crash:
- What I was doing when the application crashed:
Okular crashed when I closed a PDF file, using Ctrl+W.

I cannot reproduce anymore, I'm using master.

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[KCrash Handler]
#6  0x00007fc033ff33b7 in Okular::Page::hasTilesManager (this=0x1e1cde0) at /home/kde-devel/src/okular/core/page.cpp:991
#7  0x00007fc034332250 in PageView::slotRequestVisiblePixmaps (this=0x1c61bb0, newValue=1) at /home/kde-devel/src/okular/ui/pageview.cpp:4145
#8  0x00007fc03432ffb6 in PageView::scrollTo (this=0x1c61bb0, x=0, y=-335) at /home/kde-devel/src/okular/ui/pageview.cpp:3733
#9  0x00007fc03432fed7 in PageView::center (this=0x1c61bb0, cx=498, cy=0) at /home/kde-devel/src/okular/ui/pageview.cpp:3716
#10 0x00007fc034331576 in PageView::slotRelayoutPages (this=0x1c61bb0) at /home/kde-devel/src/okular/ui/pageview.cpp:4022
#11 0x00007fc034334fa3 in PageView::qt_static_metacall (_o=0x1c61bb0, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x1b18e20) at ./pageview.moc:170
#12 0x00007fc0424ec06e in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#13 0x00007fc04350f18a in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#14 0x00007fc0438bad36 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#15 0x00007fc04393aa9b in QAbstractScrollArea::event(QEvent*) () from /usr/lib/libQtGui.so.4
#16 0x00007fc0434c018c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#17 0x00007fc0434c460a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#18 0x00007fc04421c25a in KApplication::notify (this=0x7fffb359cb30, receiver=0x1c61bb0, event=0x1f513b0) at /home/kde-devel/src/kdelibs/kdeui/kernel/kapplication.cpp:311
#19 0x00007fc0424d76ae in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#20 0x00007fc0424db011 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#21 0x00007fc0425059d3 in ?? () from /usr/lib/libQtCore.so.4
#22 0x00007fc03d44ff06 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#23 0x00007fc03d450258 in ?? () from /usr/lib/libglib-2.0.so.0
#24 0x00007fc03d4502fc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#25 0x00007fc042505b66 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#26 0x00007fc04356069e in ?? () from /usr/lib/libQtGui.so.4
#27 0x00007fc0424d63ff in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#28 0x00007fc0424d6688 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#29 0x00007fc0424db328 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#30 0x000000000040954d in main (argc=6, argv=0x7fffb359ce68) at /home/kde-devel/src/okular/shell/main.cpp:100

Reported using DrKonqi
Comment 1 Albert Astals Cid 2013-05-07 21:55:46 UTC
Unfortunately the crash seems "impossible", it doesn't seem we are coming from a crash in the bt and also slotRelayoutPages is being called in a queued connection which means it came from
  QMetaObject::invokeMethod(this, "slotRelayoutPages", Qt::QueuedConnection);
but can't see how that may end up broken information in d->items since everything there is run in the UI thread.

I'll leave this open for a while in case someone has a similar bt, but for now i'm quite at a loss :-/
Comment 2 Luigi Toscano 2014-05-08 14:36:01 UTC
According Albert, some recent changes should have fixed it. Closing it for now, please reopen if occurs again.