Bug 439216 - [Okular] : Closing the Print Preview still/again causes a crash
Summary: [Okular] : Closing the Print Preview still/again causes a crash
Status: RESOLVED DUPLICATE of bug 415340
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-06-27 10:19 UTC by RJVB
Modified: 2021-06-28 21:13 UTC (History)
0 users

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 RJVB 2021-06-27 10:19:49 UTC
Application: okular (1.9.70)
 (Compiled from sources)
Qt Version: 5.9.8
Frameworks Version: 5.60.0
Operating System: Linux 4.14.23-ck1-mainline-core2-rjvb x86_64
Windowing system: X11
Distribution: Ubuntu 14.04.6 LTS

-- Information about the crash:
- What I was doing when the application crashed:

I had checked the Print Preview and closed it by hitting Escape. The crash was immediate.

This is the exact same crash as the Okular4 one in the linked report which I reported years ago and that was supposed to be fixed. Seeing that I didn't even hold off on reporting this until I had time to check if maybe it had been fixed in the current code.

Whatever fix had been done back in the day, either it was removed or a different code path was added to triggering this nullptr dereference. Why not add a proper nullptr check at the problem location?!

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7efc28f43840 (LWP 28083))]

Thread 7 (Thread 0x7efbf5b79700 (LWP 31518)):
#0  0x00007efc21771404 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007efc23b7a93b in QWaitConditionPrivate::wait (this=0x2316a50, time=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:143
#2  0x00007efc23b7a6e5 in QWaitCondition::wait (this=0x2316a38, mutex=0x2316a30, time=18446744073709551615) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:215
#3  0x00007efc23b74d23 in QSemaphore::acquire (this=0x23168d0, n=1) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qsemaphore.cpp:143
#4  0x00007efbf4ee25d6 in GSRendererThread::run (this=0x23168c0) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/generators/spectre/rendererthread.cpp:50
#5  0x00007efc23b79423 in QThreadPrivate::start (arg=0x23168c0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread_unix.cpp:368
#6  0x00007efc2176d184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007efc22e9103d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 6 (Thread 0x7efc06ffd700 (LWP 28089)):
#0  0x00007efc21771404 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007efc0e68136b in util_queue_thread_func () from /opt/local/lib/dri/i965_dri.so
#2  0x00007efc0e681736 in impl_thrd_routine () from /opt/local/lib/dri/i965_dri.so
#3  0x00007efc2176d184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007efc22e9103d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7efc077fe700 (LWP 28088)):
#0  0x00007efc21771404 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007efc0e68136b in util_queue_thread_func () from /opt/local/lib/dri/i965_dri.so
#2  0x00007efc0e681736 in impl_thrd_routine () from /opt/local/lib/dri/i965_dri.so
#3  0x00007efc2176d184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007efc22e9103d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7efc07fff700 (LWP 28087)):
#0  0x00007efc21771404 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007efc0e68136b in util_queue_thread_func () from /opt/local/lib/dri/i965_dri.so
#2  0x00007efc0e681736 in impl_thrd_routine () from /opt/local/lib/dri/i965_dri.so
#3  0x00007efc2176d184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007efc22e9103d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7efc0cf12700 (LWP 28086)):
#0  0x00007efc21771404 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007efc0e68136b in util_queue_thread_func () from /opt/local/lib/dri/i965_dri.so
#2  0x00007efc0e681736 in impl_thrd_routine () from /opt/local/lib/dri/i965_dri.so
#3  0x00007efc2176d184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007efc22e9103d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7efc178ba700 (LWP 28084)):
#0  0x00007efc22e83c9d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007efc1bfb4024 in g_main_context_poll (context=<optimized out>, timeout=-1, priority=<optimized out>, fds=0x7efc10003540, n_fds=1) at gmain.c:4209
#2  g_main_context_iterate (context=0x7efc10001600, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3903
#3  0x00007efc1bfb4307 in g_main_context_iteration (context=0x7efc10001600, may_block=1) at gmain.c:3969
#4  0x00007efc23d745db in QEventDispatcherGlib::processEvents (this=0x7efc100008c0, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#5  0x00007efc23d20472 in QEventLoop::processEvents (this=0x7efc178b9d88, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:134
#6  QEventLoop::exec (this=0x7efc178b9d88, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:212
#7  0x00007efc23b75867 in QThread::exec (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread.cpp:515
#8  0x00007efc241a8630 in QDBusConnectionManager::run (this=0x7efc244082e0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/dbus/qdbusconnection.cpp:178
#9  0x00007efc23b79423 in QThreadPrivate::start (arg=0x7efc244082e0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/thread/qthread_unix.cpp:368
#10 0x00007efc2176d184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007efc22e9103d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7efc28f43840 (LWP 28083)):
[KCrash Handler]
#6  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=0x8) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:140
#7  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (p=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:1008
#8  QAction::d_func (this=0x0) at .moc/../../../../../qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qaction.h:63
#9  QAction::isChecked (this=0x0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qaction.cpp:986
#10 0x00007efbfd825cd3 in PageView::capability (this=0x22a38f0, capability=Okular::View::Continuous) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/ui/pageview.cpp:1607
#11 0x00007efbfd825cfd in non-virtual thunk to PageView::capability(Okular::View::ViewCapability) const () from /opt/local/share/qt5/plugins/okularpart.so
#12 0x00007efbfd46c690 in Okular::DocumentPrivate::saveViewsInfo (this=<optimized out>, view=0x22a3930, e=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/core/document.cpp:771
#13 0x00007efbfd472510 in Okular::DocumentPrivate::saveDocumentInfo (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/core/document.cpp:1335
#14 0x00007efbfd47a86d in Okular::Document::closeDocument (this=0x21ed400) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/core/document.cpp:2769
#15 0x00007efbfd7b9f35 in Okular::Part::closeUrl (this=0x2226330, promptToSave=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/part.cpp:1903
#16 0x00007efbfd7b93f3 in Okular::Part::~Part (this=0x2226330, vtt=0x7efbfdab3030 <VTT for Okular::Part>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/part.cpp:971
#17 0x00007efbfd7ba140 in Okular::Part::~Part (this=0x2226330) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/part.cpp:964
#18 Okular::Part::~Part (this=0x2226330) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/part.cpp:964
#19 0x00007efc23d4bd79 in QObjectPrivate::deleteChildren (this=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qobject.cpp:1998
#20 0x00007efc24c518cf in QWidget::~QWidget (this=0x7ffc16cf5040) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qwidget.cpp:1701
#21 0x00007efbfd7e9f8d in Okular::FilePrinterPreview::~FilePrinterPreview (this=0x7ffc16cf5040) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/ui/fileprinterpreview.cpp:165
#22 0x00007efbfd7c37de in Okular::Part::slotPrintPreview (this=0x1c30790) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/part.cpp:3043
#23 0x00007efc23d5386c in QMetaObject::activate (sender=<optimized out>, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qobject.cpp:3772
#24 0x00007efc24c22b9f in QAction::triggered (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qaction.cpp:370
#25 QAction::activate (this=0x1dba540, event=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qaction.cpp:1159
#26 0x00007efc24d9d823 in QMenuPrivate::activateCausedStack (this=0x1ee43a0, causedStack=..., action=0x1dba540, action_e=QAction::Trigger, self=true) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/widgets/qmenu.cpp:1323
#27 0x00007efc24d9af3e in QMenuPrivate::activateAction (this=0x1ee43a0, action=0x1dba540, action_e=QAction::Trigger, self=true) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/widgets/qmenu.cpp:1400
#28 0x00007efc24da1b9f in QMenu::mouseReleaseEvent (this=<optimized out>, e=0x7ffc16cf5790) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/widgets/qmenu.cpp:2888
#29 0x00007efc24c61f44 in QWidget::event (this=0x1eb3950, event=0x7ffc16cf5790) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qwidget.cpp:8890
#30 0x00007efc24da22d8 in QMenu::event (this=0x1eb3950, e=0x7ffc16cf5790) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/widgets/qmenu.cpp:3010
#31 0x00007efc24c2b801 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1eb3950, e=0x7ffc16cf5790) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qapplication.cpp:3722
#32 0x00007efc24c2e4bc in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qapplication.cpp:3198
#33 0x00007efc23d245e6 in QCoreApplication::notifyInternal2 (receiver=0x1eb3950, event=0x7ffc16cf5790) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qcoreapplication.cpp:1031
#34 0x00007efc24c2c17c in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233
#35 QApplicationPrivate::sendMouseEvent (receiver=0x1eb3950, event=0x7ffc16cf5790, alienWidget=0x0, nativeWidget=0x1eb3950, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=64) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qapplication.cpp:2704
#36 0x00007efc24c803b2 in QWidgetWindow::handleMouseEvent (this=<optimized out>, event=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qwidgetwindow.cpp:523
#37 0x00007efc24c7eedf in QWidgetWindow::event (this=0x20cbe40, event=0x7ffc16cf5ac0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qwidgetwindow.cpp:250
#38 0x00007efc24c2b801 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x20cbe40, e=0x7ffc16cf5ac0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qapplication.cpp:3722
#39 0x00007efc24c2cb69 in QApplication::notify (this=0x7ffc16cf5f28, receiver=0x20cbe40, e=0x7ffc16cf5ac0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qapplication.cpp:3093
#40 0x00007efc23d245e6 in QCoreApplication::notifyInternal2 (receiver=0x20cbe40, event=0x7ffc16cf5ac0) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qcoreapplication.cpp:1031
#41 0x00007efc24516bcc in QCoreApplication::sendSpontaneousEvent (receiver=0x20cbe40, event=0x7efc24a97c30 <vtable for QMouseEvent+16>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#42 QGuiApplicationPrivate::processMouseEvent (e=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/gui/kernel/qguiapplication.cpp:1956
#43 0x00007efc244fee9b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:946
#44 0x00007efc1693d76d in userEventSourceDispatch (source=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:77
#45 0x00007efc1bfb398c in g_main_dispatch (context=<optimized out>) at gmain.c:3170
#46 g_main_context_dispatch (context=<optimized out>) at gmain.c:3835
#47 0x00007efc1bfb409e in g_main_context_iterate (context=0x7efc10003030, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3908
#48 0x00007efc1bfb4307 in g_main_context_iteration (context=0x7efc10003030, may_block=1) at gmain.c:3969
#49 0x00007efc23d745db in QEventDispatcherGlib::processEvents (this=0x1998a40, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:425
#50 0x00007efc23d20472 in QEventLoop::processEvents (this=0x7ffc16cf5e80, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:134
#51 QEventLoop::exec (this=0x7ffc16cf5e80, flags=...) at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qeventloop.cpp:212
#52 0x00007efc23d24cad in QCoreApplication::exec () at /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/corelib/kernel/qcoreapplication.cpp:1304
#53 0x000000000040dfba in main (argc=2, argv=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/shell/main.cpp:95

The reporter indicates this bug may be a duplicate of or related to bug 348000.

Possible duplicates by query: bug 439043, bug 433252, bug 426698, bug 426297, bug 426090.

Reported using DrKonqi
Comment 1 RJVB 2021-06-27 12:04:05 UTC
And FWIW, PageView::capability() needs to check every one of the QActions in the d-ptr before accessing them, because aViewContinuous, aViewMode and aTrimMargins can all turn out to be a nullptr.

Add a qDebug if you want to be able to avoid this from happening upstream, but please don't just "protect" the actual dereferencing with an assert. The user should NOT experience crashes if the developer(s) missed something and they shouldn't have to be the ones detecting such ommissions!
Comment 2 Laura David Hurka 2021-06-27 12:10:01 UTC
> This is the exact same crash as the Okular4 one in the linked report which I reported years ago and that was supposed to be fixed.

I don’t think so. Here you write:

> [...]
> #9  QAction::isChecked (this=0x0) at
> /opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.9.8/qtbase/src/widgets/kernel/qaction.cpp:986
> #10 0x00007efbfd825cd3 in PageView::capability (this=0x22a38f0, capability=Okular::View::Continuous) at
> /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-okular/kf5-okular-devel/work/okular-5/ui/pageview.cpp:1607
> [...]

But in https://bugs.kde.org/show_bug.cgi?id=348000 you wrote:

> [...]
> frame #8: 0x00000001080a6b24
> QtGui`QAction::setEnabled(this=0x0000000000000000, b=false) + 4 at qaction.cpp:1113
> frame #9: 0x000000010dcf8dc8
> okularpart.dylib`PageView::slotRelayoutPages(this=<unavailable>) + 600 at pageview.cpp:4139
> [...]

The crash you have reported here is fixed with 6e170312d8560963108365ee9e5c124d5c76f0e9.
Comment 3 Laura David Hurka 2021-06-27 12:10:14 UTC

*** This bug has been marked as a duplicate of bug 415340 ***
Comment 4 RJVB 2021-06-27 21:21:31 UTC
Well, this is strange, I'm convinced that DrKonqi showed me a backtrace of the same bug, but I must have gotten confused.

I am positive though that it didn't suggest bug 415340 - evidently I would not have filed another ticket if I had found that one.
Comment 5 Laura David Hurka 2021-06-28 21:13:49 UTC
Yes, the automatic duplicate suggestions are not very clever. :D