Bug 412160 - Kwin (Kwin_x11) segmentation fault causes by libthread_db.
Summary: Kwin (Kwin_x11) segmentation fault causes by libthread_db.
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: appmenu (other bugs)
Version First Reported In: 5.16.5
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-21 15:22 UTC by kennanfattahillah
Modified: 2019-10-26 04:33 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kennanfattahillah 2019-09-21 15:22:47 UTC
SUMMARY
Opening "App Menu" widget and followed by task switcher (alt+tab) provide
a segmentation fault signal.


STEPS TO REPRODUCE
1. Open App Menu widget.
2. When the dropdown is shown, immediately trigger a task switcher (alt+tab).
3. Signal segfault is given from the libthread_db and it disables the compositor.

OBSERVED RESULT
This happens merely sometimes.
I'm using Mesa driver only with OpenGL 2.0 compositor and Cover Switch visualization for the task switcher.
I tried with no compositor at all and repeat the process to provide an error and it just works fine.

I might point out how the error happens, here some of my assumptions:
1. OpenGL (any version) compositor would trigger the error.
2. Normal visualization for the task switcher just works well.
3. The Cover Switch and Flip visualization might the main causes.


EXPECTED RESULT
Opening App Menu and trigger task switcher on any compositor and visualization should work fine.


SOFTWARE/OS VERSIONS
Windows: -
macOS: -
Linux/KDE Plasma: ArchLinux (Linux 5.3.0)
(available in About System)
KDE Plasma Version: 5.16.5-1
KDE Frameworks Version: 5.62.0-1
Qt Version: 5.13.1-2

ADDITIONAL INFORMATION
Backtrace:
```
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8f08664880 (LWP 652))]

Thread 5 (Thread 0x7f8ee3fff700 (LWP 742)):
#0  0x00007f8f0e407415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f8f0ed17edc in  () at /usr/lib/libQt5Script.so.5
#2  0x00007f8f0ed17ef9 in  () at /usr/lib/libQt5Script.so.5
#3  0x00007f8f0e40157f in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f8f109840e3 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f8ef66c7700 (LWP 733)):
#0  0x00007f8f0e407415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f8ef6972f5c in  () at /usr/lib/dri/i965_dri.so
#2  0x00007f8ef6972b58 in  () at /usr/lib/dri/i965_dri.so
#3  0x00007f8f0e40157f in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f8f109840e3 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f8f053ee700 (LWP 731)):
#0  0x00007f8f10979756 in ppoll () at /usr/lib/libc.so.6
#1  0x00007f8f0f4b2973 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /usr/lib/libQt5Core.so.5
#2  0x00007f8f0f4b4003 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#3  0x00007f8f0f45d4ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f8f0f28f385 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#5  0x00007f8f0db8a849 in  () at /usr/lib/libQt5Qml.so.5
#6  0x00007f8f0f2905b0 in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f8f0e40157f in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f8f109840e3 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f8f0702d700 (LWP 714)):
#0  0x00007f8f10979756 in ppoll () at /usr/lib/libc.so.6
#1  0x00007f8f0f4b2973 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /usr/lib/libQt5Core.so.5
#2  0x00007f8f0f4b4003 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#3  0x00007f8f0f45d4ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f8f0f28f385 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#5  0x00007f8f0d5b8b37 in  () at /usr/lib/libQt5DBus.so.5
#6  0x00007f8f0f2905b0 in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f8f0e40157f in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f8f109840e3 in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f8f08664880 (LWP 652)):
[KCrash Handler]
#6  0x00007f8f0eec0b1c in  () at /usr/lib/libkwin4_effect_builtins.so.1
#7  0x00007f8f0eec0ba8 in  () at /usr/lib/libkwin4_effect_builtins.so.1
#8  0x00007f8f1070507e in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () at /usr/lib/libkwin.so.5
#9  0x00007f8f106f96d1 in KWin::Scene::paintScreen(int*, QRegion const&, QRegion const&, QRegion*, QRegion*, QMatrix4x4 const&, QRect const&) () at /usr/lib/libkwin.so.5
#10 0x00007f8f054119af in KWin::SceneOpenGL::paint(QRegion, QList<KWin::Toplevel*>) () at /usr/lib/qt/plugins/org.kde.kwin.scenes/KWinSceneOpenGL.so
#11 0x00007f8f106eaf73 in KWin::Compositor::performCompositing() () at /usr/lib/libkwin.so.5
#12 0x00007f8f0f48b3e5 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#13 0x00007f8f0fe1a4f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#14 0x00007f8f0fe23e11 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#15 0x00007f8f0f45e9c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#16 0x00007f8f0f4b5d9d in QTimerInfoList::activateTimers() () at /usr/lib/libQt5Core.so.5
#17 0x00007f8f0f4b4169 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#18 0x00007f8f0822f4df in  () at /usr/lib/libQt5XcbQpa.so.5
#19 0x00007f8f0f45d4ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#20 0x00007f8f0f465326 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#21 0x00007f8f10a54588 in kdemain () at /usr/lib/libkdeinit5_kwin_x11.so
#22 0x00007f8f108aeee3 in __libc_start_main () at /usr/lib/libc.so.6
#23 0x0000556040a1705e in _start ()
[Inferior 1 (process 652) detached]

```
Comment 1 Vlad Zahorodnii 2019-09-24 08:00:02 UTC
Unfortunately the backtrace lacks debug symbols. Can you repackage kwin and submit a new bactrace with debug symbols please?

ArchWiki has an article explaining how to get a good backtrace.
Comment 2 kennanfattahillah 2019-09-26 04:11:50 UTC
(In reply to Vlad Zahorodnii from comment #1)
> Unfortunately the backtrace lacks debug symbols. Can you repackage kwin and
> submit a new bactrace with debug symbols please?
> 
> ArchWiki has an article explaining how to get a good backtrace.

Thanks for your feedback, I'll do it in my free time as soon as possible.
Comment 3 Bug Janitor Service 2019-10-11 04:33:10 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 4 Bug Janitor Service 2019-10-26 04:33:08 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!