Bug 373486 - okular crashes every time gnome desktop switches between multiple screens
Summary: okular crashes every time gnome desktop switches between multiple screens
Status: RESOLVED UNMAINTAINED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: 0.26.1
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-12-10 01:48 UTC by Naitree Zhu
Modified: 2016-12-27 17:04 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
attachment-27154-0.html (1.52 KB, text/html)
2016-12-23 11:53 UTC, Naitree Zhu
Details
attachment-29057-0.html (3.01 KB, text/html)
2016-12-24 02:16 UTC, Naitree Zhu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Naitree Zhu 2016-12-10 01:48:07 UTC
Application: okular (0.26.1)
KDE Platform Version: 4.14.25
Qt Version: 4.8.7
Operating System: Linux 4.8.11-300.fc25.x86_64 x86_64
Distribution: "Fedora release 25 (Twenty Five)"

-- Information about the crash:
- What I was doing when the application crashed:
I was reading pdf on an external monitor with laptop lid closed. Then I switched on laptop lid, and gnome desktop flashed one time to load screen on laptop internal screen. After that, okular crashed.

The crash can be reproduced every time.

-- Backtrace:
Application: Okular (okular), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9b35633300 (LWP 14869))]

Thread 3 (Thread 0x7f9b0df06700 (LWP 14994)):
#0  0x00007f9b3240f63d in read () at /lib64/libpthread.so.0
#1  0x00007f9b2e0a9450 in g_wakeup_acknowledge () at /lib64/libglib-2.0.so.0
#2  0x00007f9b2e064c60 in g_main_context_check () at /lib64/libglib-2.0.so.0
#3  0x00007f9b2e0650f4 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f9b2e06526c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f9b327e547e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#6  0x00007f9b327b37bf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#7  0x00007f9b327b3b25 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#8  0x00007f9b326a2af9 in QThread::exec() () at /lib64/libQtCore.so.4
#9  0x00007f9b32793613 in QInotifyFileSystemWatcherEngine::run() () at /lib64/libQtCore.so.4
#10 0x00007f9b326a53ca in QThreadPrivate::start(void*) () at /lib64/libQtCore.so.4
#11 0x00007f9b324066ca in start_thread () at /lib64/libpthread.so.0
#12 0x00007f9b31613f6f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f9afeb64700 (LWP 14889)):
#0  0x00007f9b3160800d in poll () at /lib64/libc.so.6
#1  0x00007f9b2e065156 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f9b2e06526c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f9b327e547e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#4  0x00007f9b327b37bf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#5  0x00007f9b327b3b25 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#6  0x00007f9b326a2af9 in QThread::exec() () at /lib64/libQtCore.so.4
#7  0x00007f9b32793613 in QInotifyFileSystemWatcherEngine::run() () at /lib64/libQtCore.so.4
#8  0x00007f9b326a53ca in QThreadPrivate::start(void*) () at /lib64/libQtCore.so.4
#9  0x00007f9b324066ca in start_thread () at /lib64/libpthread.so.0
#10 0x00007f9b31613f6f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f9b35633300 (LWP 14869)):
[KCrash Handler]
#6  0x00007f9b0e26fb8e in XRandROutput::update(XRandROutput::PrimaryChange) () at /usr/lib64/kde4/plugins/kscreen/KSC_XRandR.so
#7  0x00007f9b0e25efe6 in XRandR::updateCrtc(unsigned long) () at /usr/lib64/kde4/plugins/kscreen/KSC_XRandR.so
#8  0x00007f9b327c9090 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#9  0x00007f9b0e260c54 in XRandRX11Helper::x11Event(_XEvent*) () at /usr/lib64/kde4/plugins/kscreen/KSC_XRandR.so
#10 0x00007f9b3420202f in KSystemEventFilterPrivate::filterEvent(void*) () at /lib64/libkdeui.so.5
#11 0x00007f9b327a705e in QAbstractEventDispatcher::filterEvent(void*) () at /lib64/libQtCore.so.4
#12 0x00007f9b332aa3f3 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQtGui.so.4
#13 0x00007f9b2e064e42 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#14 0x00007f9b2e0651c0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#15 0x00007f9b2e06526c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#16 0x00007f9b327e545e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#17 0x00007f9b332aa5a6 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtGui.so.4
#18 0x00007f9b327b37bf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#19 0x00007f9b327b3b25 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#20 0x00007f9b327b9779 in QCoreApplication::exec() () at /lib64/libQtCore.so.4
#21 0x0000561b32e8ad83 in main ()

Reported using DrKonqi
Comment 1 Naitree Zhu 2016-12-10 01:58:08 UTC
Also, besides crashing on switching between monitors, okular crashed on laptop wakeup when external monitor was connected.
Comment 2 Albert Astals Cid 2016-12-22 22:10:08 UTC
which is yout libkscreen version?
Comment 3 Naitree Zhu 2016-12-23 11:53:02 UTC
Created attachment 102955 [details]
attachment-27154-0.html

it's /usr/lib64/libkscreen.so.1.0.5

On Fri, Dec 23, 2016 at 6:10 AM, Albert Astals Cid <bugzilla_noreply@kde.org
> wrote:

> https://bugs.kde.org/show_bug.cgi?id=373486
>
> Albert Astals Cid <aacid@kde.org> changed:
>
>            What    |Removed                     |Added
> ------------------------------------------------------------
> ----------------
>                  CC|                            |aacid@kde.org
>          Resolution|---                         |WAITINGFORINFO
>              Status|UNCONFIRMED                 |NEEDSINFO
>
> --- Comment #2 from Albert Astals Cid <aacid@kde.org> ---
> which is yout libkscreen version?
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 4 Albert Astals Cid 2016-12-23 11:57:43 UTC
Can you please give me the rpm package version of libkscreen
Comment 5 Naitree Zhu 2016-12-24 02:16:58 UTC
Created attachment 102965 [details]
attachment-29057-0.html

Sorry, here is the rpm info about libkscreen:

Name        : libkscreen
Epoch       : 1
Version     : 1.0.5
Release     : 9.fc25
Architecture: x86_64
Install Date: Sunday, December 04, 2016 AM08:21:18 CST
Group       : Unspecified
Size        : 267636
License     : GPLv2+
Signature   : RSA/SHA256, Tuesday, April 26, 2016 AM10:37:21 CST, Key ID
4089d8f2fdb19c98
Source RPM  : libkscreen-1.0.5-9.fc25.src.rpm
Build Date  : Thursday, April 21, 2016 AM07:02:32 CST
Build Host  : buildvm-10-nfs.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : https://quickgit.kde.org/?p=libkscreen.git
Summary     : Display configuration library
Description :
LibKScreen is a library that provides access to current configuration
of connected displays and ways to change the configuration.


On Fri, Dec 23, 2016 at 7:57 PM, Albert Astals Cid <bugzilla_noreply@kde.org
> wrote:

> https://bugs.kde.org/show_bug.cgi?id=373486
>
> --- Comment #4 from Albert Astals Cid <aacid@kde.org> ---
> Can you please give me the rpm package version of libkscreen
>
> --
> You are receiving this mail because:
> You reported the bug.
>
Comment 6 Albert Astals Cid 2016-12-27 17:04:11 UTC
Unfortunately libkscreen based in kdelibs4 is unmaintained so this bug won't be fixed by use (you're using code that is 2 years old).

I suggest you update to a version of okular based in KDE Frameworks 5, hopefully the bug won't be present there and if it is, that is something we can release new versions and fix.

As a very crude workaround you can remove the file /usr/lib64/kde4/plugins/kscreen/KSC_XRandR.so that will most probably fix Okular, but I can't guarantee it won't break other stuff.