Bug 471198 - Ocular crashes when unplugging UCB-C multi-monitor docking station.
Summary: Ocular crashes when unplugging UCB-C multi-monitor docking station.
Status: RESOLVED WORKSFORME
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 22.12.3
Platform: Kubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-06-18 16:45 UTC by Pierre Racz
Modified: 2023-07-31 03:45 UTC (History)
1 user (show)

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


Attachments
smime.p7s (6.24 KB, application/pkcs7-signature)
2023-06-22 22:46 UTC, Pierre Racz
Details
New crash information added by DrKonqi (9.14 KB, text/plain)
2023-07-01 16:35 UTC, Pierre Racz
Details
attachment-1961117-0.html (2.74 KB, text/html)
2023-07-01 16:41 UTC, Pierre Racz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre Racz 2023-06-18 16:45:15 UTC
Application: okular (22.12.3)

Qt Version: 5.15.8
Frameworks Version: 5.104.0
Operating System: Linux 6.2.0-20-generic x86_64
Windowing System: X11
Distribution: Ubuntu 23.04
DrKonqi: 5.27.4 [KCrashBackend]

-- Information about the crash:
While reading a document that is displayed on a external monitor, the USB-C cable is unplugged.  
The open applications attempt to redisplay themselves on the laptop's screen. 
Ocular is unsuccessful and crashes.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault

[KCrash Handler]
#4  0x00007efc207b53e5 in ?? () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#5  0x00007efc2060279a in ?? () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#6  0x00007efc20604390 in QRasterPaintEngine::drawImage(QPointF const&, QImage const&) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#7  0x00007efc084c06e5 in PagePainter::paintCroppedPageOnPainter(QPainter*, Okular::Page const*, Okular::DocumentObserver*, int, int, int, QRect, Okular::NormalizedRect const&, Okular::NormalizedPoint*) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okularpart.so
#8  0x00007efc085510c1 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okularpart.so
#9  0x00007efc08547315 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okularpart.so
#10 0x00007efc20baec28 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007efc20c5b792 in QFrame::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007efc1febaba3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007efc20b6bf82 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007efc1febae38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007efc20ba6e59 in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007efc20ba7751 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007efc20ba8a66 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007efc20ba88c9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007efc20ba73cc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007efc20ba8a66 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007efc20ba88c9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007efc20ba73cc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007efc20ba8a66 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007efc20ba88c9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007efc20ba88c9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007efc20ba73cc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007efc20ba8a66 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007efc20ba73cc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007efc20ba8a66 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007efc20ba73cc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007efc20ba8a66 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007efc20ba73cc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007efc20ba8a66 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007efc20ba73cc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007efc20ba8a66 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007efc20ba88c9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007efc20ba73cc in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007efc20b7d4c5 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007efc20bc7a01 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#40 0x00007efc20bcb7eb in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007efc20b6bf92 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007efc1febae38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007efc2033e8f4 in QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePrivate::GeometryChangeEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#44 0x00007efc203164bc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#45 0x00007efc1b0fa54e in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#46 0x00007efc1e66149d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007efc1e6bc178 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007efc1e6601b0 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007efc1ff14e7a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#50 0x00007efc1feb97cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#51 0x00007efc1fec1c1a in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x000055c9b81cac0f in ?? ()
#53 0x00007efc1f423a90 in __libc_start_call_main (main=main@entry=0x55c9b81c9480, argc=argc@entry=2, argv=argv@entry=0x7ffc92b37da8) at ../sysdeps/nptl/libc_start_call_main.h:58
#54 0x00007efc1f423b49 in __libc_start_main_impl (main=0x55c9b81c9480, argc=2, argv=0x7ffc92b37da8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc92b37d98) at ../csu/libc-start.c:360
#55 0x000055c9b81cb765 in ?? ()
[Inferior 1 (process 166587) detached]

Reported using DrKonqi
Comment 1 Laura David Hurka 2023-06-21 05:10:55 UTC
Thanks for reporting.
1. Are you able to install debugging symbols, so we get a more detailed backtrace?
2. Do you have a hiDPI screen, i. e. an other screen scale than 100%?
3. I notice the backtrace contains a call to drawImage(), which happens for text annotations. Does the crash happen only when a document or page with annotations is displayed?
Comment 2 Pierre Racz 2023-06-21 15:46:01 UTC
Hello Dave,

> 3. I notice the backtrace contains a call to drawImage(), which happens for
> text annotations. Does the crash happen only when a document or page with
> annotations is displayed?

The PDF in question was GoLang_UGN-FE-39.pdf (which is used to be free) :
* [Ultimate Go Notebook | Ardan Labs](https://www.ardanlabs.com/ultimate-go-notebook/)

That PDF does not have annotations.

> 2. Do you have a hiDPI screen, i. e. an other screen scale than 100%?
This is the Description of the Physical Setup:
* "Dell Thunderbolt Docking Station (WD22TB4)" is plugged into the USB-C port of my laptop (HP_Spectre_x360_Convertible_13-aw2xxx),
* Dell Keyboard
* Dell Mouse

The two external HDMI display are  :
* [32" Dell S3220DGF - Specifications](https://www.displayspecifications.com/en/model/21491b82)
- Resolution on the External Monitor: 2560x1440 60hz
- Resolution on the Internal Monitor: 2560x1440 60hz
- Scaling on both external monitors is 1.5

> 1. Are you able to install debugging symbols, so we get a more detailed
> backtrace?

Yes, tell me where to get the symbols, as I have not complied KDE myself.

Pierre




-----Original Message-----
From: David Hurka <bugzilla_noreply@kde.org>
Sent: Wednesday, June 21, 2023 01:11
To: Pierre Racz <pracz@genetec.com>
Subject: [okular] [Bug 471198] Ocular crashes when unplugging UCB-C multi-monitor docking station.

https://bugs.kde.org/show_bug.cgi?id=471198

David Hurka <david.hurka@mailbox.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |NEEDSINFO
         Resolution|---                         |WAITINGFORINFO

--- Comment #1 from David Hurka <david.hurka@mailbox.org> ---
Thanks for reporting.
1. Are you able to install debugging symbols, so we get a more detailed
backtrace?
2. Do you have a hiDPI screen, i. e. an other screen scale than 100%?
3. I notice the backtrace contains a call to drawImage(), which happens for
text annotations. Does the crash happen only when a document or page with
annotations is displayed?

--
You are receiving this mail because:
You reported the bug.
Comment 3 Laura David Hurka 2023-06-22 22:30:51 UTC
(In reply to Pierre Racz from comment #2)
> > 1. Are you able to install debugging symbols, so we get a more detailed
> > backtrace?
> 
> Yes, tell me where to get the symbols, as I have not complied KDE myself.

You reported this with DrKonqi.
That dialog should have a button to install debug symbols, it usually works fine, and otherwise describes what exactly is necessary.
Comment 4 Pierre Racz 2023-06-22 22:46:20 UTC
Created attachment 159843 [details]
smime.p7s

OK

-----Original Message-----
From: David Hurka <bugzilla_noreply@kde.org> 
Sent: Thursday, June 22, 2023 18:31
To: Pierre Racz <pracz@genetec.com>
Subject: [okular] [Bug 471198] Ocular crashes when unplugging UCB-C
multi-monitor docking station.

https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.kde.o
rg%2Fshow_bug.cgi%3Fid%3D471198&data=05%7C01%7Cpracz%40genetec.com%7C51b4195
934544bf9d33308db737056b8%7C7ba8d2fb46604a19802e4d015a17e167%7C0%7C0%7C63823
0698583324266%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLC
JBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=UyWxF1DfSSSg00Q2lrZKyDLr%
2Bhx4rGlOlOyGA2Dx%2Bjc%3D&reserved=0

--- Comment #3 from David Hurka <david.hurka@mailbox.org> ---
(In reply to Pierre Racz from comment #2)
> > 1. Are you able to install debugging symbols, so we get a more detailed
> > backtrace?
> 
> Yes, tell me where to get the symbols, as I have not complied KDE myself.

You reported this with DrKonqi.
That dialog should have a button to install debug symbols, it usually works
fine, and otherwise describes what exactly is necessary.
Comment 5 Pierre Racz 2023-07-01 16:35:53 UTC
Created attachment 160029 [details]
New crash information added by DrKonqi

okular (22.12.3) using Qt 5.15.8

Here is another instance of the crash.

-- Backtrace (Reduced):
#6  0x00007fa86a404390 in QRasterPaintEngine::drawImage(QPointF const&, QImage const&) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#7  0x00007fa8456c06e5 in PagePainter::paintCroppedPageOnPainter(QPainter*, Okular::Page const*, Okular::DocumentObserver*, int, int, int, QRect, Okular::NormalizedRect const&, Okular::NormalizedPoint*) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/okularpart.so
[...]
#10 0x00007fa86a9aec28 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007fa86aa5b792 in QFrame::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007fa869cbaba3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
Comment 6 Pierre Racz 2023-07-01 16:41:52 UTC
Created attachment 160030 [details]
attachment-1961117-0.html

Hello, I sent another crash report, but I could not find the button to get more symbols.
Could you point me to some info on how to get the symbols ?
Thanks
Pierre

________________________________
From: David Hurka <bugzilla_noreply@kde.org>
Sent: Thursday, June 22, 2023 06:30 PM
To: Pierre Racz <pracz@genetec.com>
Subject: [okular] [Bug 471198] Ocular crashes when unplugging UCB-C multi-monitor docking station.

https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.kde.org%2Fshow_bug.cgi%3Fid%3D471198&data=05%7C01%7Cpracz%40genetec.com%7C51b4195934544bf9d33308db737056b8%7C7ba8d2fb46604a19802e4d015a17e167%7C0%7C0%7C638230698583324266%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=UyWxF1DfSSSg00Q2lrZKyDLr%2Bhx4rGlOlOyGA2Dx%2Bjc%3D&reserved=0<https://bugs.kde.org/show_bug.cgi?id=471198>

--- Comment #3 from David Hurka <david.hurka@mailbox.org> ---
(In reply to Pierre Racz from comment #2)
> > 1. Are you able to install debugging symbols, so we get a more detailed
> > backtrace?
>
> Yes, tell me where to get the symbols, as I have not complied KDE myself.

You reported this with DrKonqi.
That dialog should have a button to install debug symbols, it usually works
fine, and otherwise describes what exactly is necessary.

--
You are receiving this mail because:
You reported the bug.
Comment 7 Bug Janitor Service 2023-07-16 03:45:01 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 8 Bug Janitor Service 2023-07-31 03:45:00 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!