Bug 387479

Summary: wayland: kinfocenter still crashing when clicking on Graphical Information
Product: [Applications] kinfocenter Reporter: Henning <wuelpi>
Component: InfoAssignee: Martin Flöser <mgraesslin>
Status: RESOLVED FIXED    
Severity: crash CC: amirseni, andrius, boyko_kanev, bugseforuns, fabian, hmpl, mail, strelok5771, wuelpi
Priority: NOR Keywords: drkonqi
Version: 5.12.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
URL: https://phabricator.kde.org/D10391
Latest Commit: Version Fixed In: 5.12.1
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Henning 2017-11-30 19:54:26 UTC
Application: kinfocenter (5.11.3)

Qt Version: 5.9.2
Frameworks Version: 5.40.0
Operating System: Linux 4.14.2-1-default x86_64
Distribution: "openSUSE Tumbleweed"

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

Switching between OpenGL, X-Server and Wayland tab leads to this crash. If you click once on all three in about 50% of the cases it crashes. All similar bugs are marked as a duplicate of 372597, however this is marked as resolved since June - which is obviously wrong.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Info Centre (kinfocenter), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3dcbf4b000 (LWP 3015))]

Thread 6 (Thread 0x7f3da4a9a700 (LWP 3021)):
#0  0x00007f3dc4b9882d in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b15d5357b0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55b15d535760, cond=0x55b15d535788) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55b15d535788, mutex=0x55b15d535760) at pthread_cond_wait.c:655
#3  0x00007f3daa32e0db in cnd_wait (mtx=0x55b15d535760, cond=0x55b15d535788) at ../../include/c11/threads_posix.h:159
#4  util_queue_thread_func (input=input@entry=0x55b15d2e6cc0) at u_queue.c:171
#5  0x00007f3daa32dff7 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#6  0x00007f3dc4b92558 in start_thread (arg=0x7f3da4a9a700) at pthread_create.c:465
#7  0x00007f3dc87956bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f3da529b700 (LWP 3020)):
#0  0x00007f3dc4b9882d in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b15d5356c8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55b15d535678, cond=0x55b15d5356a0) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55b15d5356a0, mutex=0x55b15d535678) at pthread_cond_wait.c:655
#3  0x00007f3daa32e0db in cnd_wait (mtx=0x55b15d535678, cond=0x55b15d5356a0) at ../../include/c11/threads_posix.h:159
#4  util_queue_thread_func (input=input@entry=0x55b15d396e40) at u_queue.c:171
#5  0x00007f3daa32dff7 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#6  0x00007f3dc4b92558 in start_thread (arg=0x7f3da529b700) at pthread_create.c:465
#7  0x00007f3dc87956bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f3da5ca1700 (LWP 3019)):
#0  0x00007f3dc4b9882d in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b15d396160) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55b15d396110, cond=0x55b15d396138) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55b15d396138, mutex=0x55b15d396110) at pthread_cond_wait.c:655
#3  0x00007f3daa32e0db in cnd_wait (mtx=0x55b15d396110, cond=0x55b15d396138) at ../../include/c11/threads_posix.h:159
#4  util_queue_thread_func (input=input@entry=0x55b15d2ffe90) at u_queue.c:171
#5  0x00007f3daa32dff7 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#6  0x00007f3dc4b92558 in start_thread (arg=0x7f3da5ca1700) at pthread_create.c:465
#7  0x00007f3dc87956bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f3da65e3700 (LWP 3018)):
#0  0x00007f3dc4b9882d in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b15d534ec8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55b15d534e78, cond=0x55b15d534ea0) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55b15d534ea0, mutex=0x55b15d534e78) at pthread_cond_wait.c:655
#3  0x00007f3daa32e0db in cnd_wait (mtx=0x55b15d534e78, cond=0x55b15d534ea0) at ../../include/c11/threads_posix.h:159
#4  util_queue_thread_func (input=input@entry=0x55b15d2d9300) at u_queue.c:171
#5  0x00007f3daa32dff7 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#6  0x00007f3dc4b92558 in start_thread (arg=0x7f3da65e3700) at pthread_create.c:465
#7  0x00007f3dc87956bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f3db6e6f700 (LWP 3017)):
#0  0x00007f3dc2d8310e in g_main_context_iterate (context=context@entry=0x7f3db0000be0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3890
#1  0x00007f3dc2d8325c in g_main_context_iteration (context=0x7f3db0000be0, may_block=1) at gmain.c:3947
#2  0x00007f3dc90b425b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#3  0x00007f3dc905c73a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#4  0x00007f3dc8e8c1fa in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#5  0x00007f3dc67fca45 in QDBusConnectionManager::run() () from /usr/lib64/libQt5DBus.so.5
#6  0x00007f3dc8e90c0e in QThreadPrivate::start(void*) () from /usr/lib64/libQt5Core.so.5
#7  0x00007f3dc4b92558 in start_thread (arg=0x7f3db6e6f700) at pthread_create.c:465
#8  0x00007f3dc87956bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f3dcbf4b000 (LWP 3015)):
[KCrash Handler]
#6  0x00007f3dbba81d39 in wl_map_insert_at (map=<optimized out>, flags=<optimized out>, i=<optimized out>, data=<optimized out>) at src/wayland-util.c:249
#7  0x00007f3dbba7de4e in proxy_destroy (proxy=0x55b15d3b03a0) at src/wayland-client.c:411
#8  wl_proxy_destroy (proxy=0x55b15d3b03a0) at src/wayland-client.c:442
#9  0x00007f3db9d29e85 in wl_registry_destroy (wl_registry=<optimized out>) at /usr/include/wayland/wayland-client-protocol.h:1065
#10 KWayland::Client::WaylandPointer<wl_registry, wl_registry_destroy>::release (this=0x55b15d425fd0, this=0x55b15d425fd0) at /usr/src/debug/kwayland-5.40.0/src/client/wayland_pointer_p.h:53
#11 KWayland::Client::Registry::release (this=this@entry=0x55b15d47b760) at /usr/src/debug/kwayland-5.40.0/src/client/registry.cpp:382
#12 0x00007f3db9d29eac in KWayland::Client::Registry::~Registry (this=0x55b15d47b760, __in_chrg=<optimized out>) at /usr/src/debug/kwayland-5.40.0/src/client/registry.cpp:377
#13 0x00007f3db9d29f39 in KWayland::Client::Registry::~Registry (this=0x55b15d47b760, __in_chrg=<optimized out>) at /usr/src/debug/kwayland-5.40.0/src/client/registry.cpp:378
#14 0x00007f3dc908940b in QObjectPrivate::deleteChildren() () from /usr/lib64/libQt5Core.so.5
#15 0x00007f3dc909276b in QObject::~QObject() () from /usr/lib64/libQt5Core.so.5
#16 0x00007f3d9742a409 in WaylandModule::~WaylandModule (this=0x55b15d6036f0, __in_chrg=<optimized out>) at /usr/src/debug/kinfocenter-5.11.3/Modules/base/info_wayland.cpp:48
#17 0x00007f3dc908940b in QObjectPrivate::deleteChildren() () from /usr/lib64/libQt5Core.so.5
#18 0x00007f3dc9e117dc in QWidget::~QWidget() () from /usr/lib64/libQt5Widgets.so.5
#19 0x00007f3dca0791b9 in QTreeWidget::~QTreeWidget() () from /usr/lib64/libQt5Widgets.so.5
#20 0x00007f3dc908940b in QObjectPrivate::deleteChildren() () from /usr/lib64/libQt5Core.so.5
#21 0x00007f3dc9e117dc in QWidget::~QWidget() () from /usr/lib64/libQt5Widgets.so.5
#22 0x00007f3dc9f73889 in QStackedWidget::~QStackedWidget() () from /usr/lib64/libQt5Widgets.so.5
#23 0x00007f3dc908940b in QObjectPrivate::deleteChildren() () from /usr/lib64/libQt5Core.so.5
#24 0x00007f3dc9e117dc in QWidget::~QWidget() () from /usr/lib64/libQt5Widgets.so.5
#25 0x00007f3dcb1c9a81 in KCModule::~KCModule (this=0x55b15d45a990, __in_chrg=<optimized out>) at /usr/src/debug/kconfigwidgets-5.40.0/src/kcmodule.cpp:177
#26 0x00007f3d9742396e in KInfoListWidget::~KInfoListWidget (this=0x55b15d45a990, __in_chrg=<optimized out>) at /usr/src/debug/kinfocenter-5.11.3/Modules/info/info.h:36
#27 KWaylandInfoWidget::~KWaylandInfoWidget (this=0x55b15d45a990, __in_chrg=<optimized out>) at /usr/src/debug/kinfocenter-5.11.3/Modules/info/main.cpp:57
#28 KWaylandInfoWidget::~KWaylandInfoWidget (this=0x55b15d45a990, __in_chrg=<optimized out>) at /usr/src/debug/kinfocenter-5.11.3/Modules/info/main.cpp:57
#29 0x00007f3dcb95d1d4 in KCModuleProxy::deleteClient (this=this@entry=0x55b15d35c500) at /usr/src/debug/kcmutils-5.40.0/src/kcmoduleproxy.cpp:179
#30 0x00007f3dcb95d27f in KCModuleProxy::~KCModuleProxy (this=0x55b15d35c500, __in_chrg=<optimized out>) at /usr/src/debug/kcmutils-5.40.0/src/kcmoduleproxy.cpp:170
#31 0x00007f3dcb95d449 in KCModuleProxy::~KCModuleProxy (this=0x55b15d35c500, __in_chrg=<optimized out>) at /usr/src/debug/kcmutils-5.40.0/src/kcmoduleproxy.cpp:174
#32 0x00007f3dc908940b in QObjectPrivate::deleteChildren() () from /usr/lib64/libQt5Core.so.5
#33 0x00007f3dc9e117dc in QWidget::~QWidget() () from /usr/lib64/libQt5Widgets.so.5
#34 0x00007f3dc9e119f9 in QWidget::~QWidget() () from /usr/lib64/libQt5Widgets.so.5
#35 0x000055b15c1a59bf in KcmContainer::setContainerLayout (this=this@entry=0x55b15d35bcd0) at /usr/src/debug/kinfocenter-5.11.3/kcmcontainer.cpp:55
#36 0x000055b15c1a5cd9 in KcmContainer::setKcm (this=0x55b15d35bcd0, info=...) at /usr/src/debug/kinfocenter-5.11.3/kcmcontainer.cpp:79
#37 0x000055b15c1a2cf2 in KInfoCenter::setKcm (this=0x55b15d1e4b90, kcmItem=0x55b15d3f2d20) at /usr/src/debug/kinfocenter-5.11.3/infocenter.cpp:206
#38 0x000055b15c1a9380 in KInfoCenter::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kinfocenter-5.11.3/build/kinfocenter_autogen/EWIEGA46WW/moc_infocenter.cpp:88
#39 0x00007f3dc908b63a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#40 0x000055b15c1a913f in SidePanel::clicked (this=<optimized out>, _t1=<optimized out>, _t1@entry=0x7fff904209c8) at /usr/src/debug/kinfocenter-5.11.3/build/kinfocenter_autogen/EWIEGA46WW/moc_sidepanel.cpp:156
#41 0x000055b15c1a5044 in SidePanel::clickedSlot (this=<optimized out>, index=...) at /usr/src/debug/kinfocenter-5.11.3/sidepanel.cpp:69
#42 0x000055b15c1a9251 in SidePanel::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /usr/src/debug/kinfocenter-5.11.3/build/kinfocenter_autogen/EWIEGA46WW/moc_sidepanel.cpp:96
#43 0x00007f3dc908b63a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#44 0x00007f3dca007a15 in QAbstractItemView::clicked(QModelIndex const&) () from /usr/lib64/libQt5Widgets.so.5
#45 0x00007f3dca00a7ab in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#46 0x00007f3dca07661b in QTreeView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#47 0x00007f3dc9e157a8 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#48 0x00007f3dc9eb37fe in QFrame::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#49 0x00007f3dca012d9c in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#50 0x00007f3dca075f0c in QTreeView::viewportEvent(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#51 0x00007f3dc905de34 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#52 0x00007f3dc9dd9ad5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#53 0x00007f3dc9de140f in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#54 0x00007f3dc905e128 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#55 0x00007f3dc9de045f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQt5Widgets.so.5
#56 0x00007f3dc9e2fa1b in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#57 0x00007f3dc9e31e71 in QWidgetWindow::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#58 0x00007f3dc9dd9afc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#59 0x00007f3dc9de0eb4 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#60 0x00007f3dc905e128 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#61 0x00007f3dc9625dbb in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
#62 0x00007f3dc9627705 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5
#63 0x00007f3dc9600f9b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#64 0x00007f3dbbd1a0d0 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/libQt5WaylandClient.so.5
#65 0x00007f3dc2d82f97 in g_main_dispatch (context=0x55b15d1fcbf0) at gmain.c:3148
#66 g_main_context_dispatch (context=context@entry=0x55b15d1fcbf0) at gmain.c:3813
#67 0x00007f3dc2d831d0 in g_main_context_iterate (context=context@entry=0x55b15d1fcbf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3886
#68 0x00007f3dc2d8325c in g_main_context_iteration (context=0x55b15d1fcbf0, may_block=1) at gmain.c:3947
#69 0x00007f3dc90b423f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#70 0x00007f3dc905c73a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#71 0x00007f3dc9064fc4 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#72 0x000055b15c1a1c39 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kinfocenter-5.11.3/main.cpp:75

Possible duplicates by query: bug 382128, bug 381457, bug 381359, bug 380373, bug 379728.

Reported using DrKonqi
Comment 1 Henning 2017-12-12 20:35:28 UTC
Created attachment 109342 [details]
New crash information added by DrKonqi

kinfocenter (5.11.4) using Qt 5.9.3

- What I was doing when the application crashed:
Clicking on the OpenGL tab, neither the update to Qt5.9.3 nor to Info Centre 5.11.4 helped.

- Custom settings of the application:
Happens on dual monitor setups and on single monitor setups, crashlogs are of the former case.

If you need any additional information or help reproducing I am happy to help, the silence is worring me though. Is this a Tumbleweed problem?

-- Backtrace (Reduced):
#6  0x00007f281df7bd39 in wl_map_insert_at (map=<optimized out>, flags=<optimized out>, i=<optimized out>, data=<optimized out>) at src/wayland-util.c:249
#7  0x00007f281df77e4e in proxy_destroy (proxy=0x55f8b0536ed0) at src/wayland-client.c:411
#8  wl_proxy_destroy (proxy=0x55f8b0536ed0) at src/wayland-client.c:442
#9  0x00007f281c223e85 in wl_registry_destroy (wl_registry=<optimized out>) at /usr/include/wayland/wayland-client-protocol.h:1065
#10 KWayland::Client::WaylandPointer<wl_registry, wl_registry_destroy>::release (this=0x55f8b0578600, this=0x55f8b0578600) at /usr/src/debug/kwayland-5.40.0/src/client/wayland_pointer_p.h:53
Comment 2 amirseni 2017-12-17 04:34:49 UTC
Created attachment 109425 [details]
New crash information added by DrKonqi

kinfocenter (5.11.4) using Qt 5.10.0

- What I was doing when the application crashed:

- Custom settings of the application:
Running on archlinux synced and updated on intel hardware.

-- Backtrace (Reduced):
#6  0x00007f34cc98d7e7 in wl_proxy_destroy () from /usr/lib/libwayland-client.so.0
#7  0x00007f34cb0fa606 in KWayland::Client::Registry::release() () from /usr/lib/libKF5WaylandClient.so.5
#8  0x00007f34cb0fa62f in KWayland::Client::Registry::~Registry() () from /usr/lib/libKF5WaylandClient.so.5
#9  0x00007f34cb0fa71a in KWayland::Client::Registry::~Registry() () from /usr/lib/libKF5WaylandClient.so.5
#10 0x00007f34da0a254d in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5
Comment 3 Elias Probst 2018-01-17 13:53:04 UTC
Created attachment 109934 [details]
New crash information added by DrKonqi

kinfocenter (5.12.80) using Qt 5.10.0

- What I was doing when the application crashed:

I can confirm this reliably.
The crash happens here only when switching to any Info Center module _after_ the "Graphical Information" > "Wayland" module.

-- Backtrace (Reduced):
#6  0x00007f742a3d1bc9 in wl_map_insert_at (map=<optimized out>, flags=flags@entry=0, i=<optimized out>, data=<optimized out>) at /var/tmp/portage/dev-libs/wayland-1.13.0/work/wayland-1.13.0/src/wayland-util.c:249
#7  0x00007f742a3cdebe in proxy_destroy (proxy=0x55e64b5c4db0) at /var/tmp/portage/dev-libs/wayland-1.13.0/work/wayland-1.13.0/src/wayland-client.c:411
#8  wl_proxy_destroy (proxy=0x55e64b5c4db0) at /var/tmp/portage/dev-libs/wayland-1.13.0/work/wayland-1.13.0/src/wayland-client.c:442
#9  0x00007f7428f1c645 in wl_registry_destroy (wl_registry=<optimized out>) at /usr/include/wayland-client-protocol.h:1065
#10 KWayland::Client::WaylandPointer<wl_registry, wl_registry_destroy>::release (this=0x55e64b533e70, this=0x55e64b533e70) at /var/tmp/portage/kde-frameworks/kwayland-9999/work/kwayland-9999/src/client/wayland_pointer_p.h:53
Comment 4 Fabian Vogt 2018-01-19 22:25:46 UTC
I can confirm this issue on openSUSE Tumbleweed with Qt 5.10.0 and kwayland from git master (07935f7).
Assigning to the creator of the wayland info module in kinfocenter.
Comment 5 Christoph Feck 2018-01-26 02:37:22 UTC
*** Bug 389199 has been marked as a duplicate of this bug. ***
Comment 6 doctor 2018-01-29 13:48:40 UTC
Created attachment 110205 [details]
New crash information added by DrKonqi

kinfocenter (5.11.95) using Qt 5.10.0

- What I was doing when the application crashed:

Just tried open graphic information in wayland-mode

-- Backtrace (Reduced):
#6  0x00007f4f17ad99c9 in wl_map_insert_at () from /lib64/libwayland-client.so.0
#7  0x00007f4f17ad5ade in wl_proxy_destroy () from /lib64/libwayland-client.so.0
#8  0x00007f4f15e9db45 in KWayland::Client::Registry::release() () from /lib64/libKF5WaylandClient.so.5
#9  0x00007f4f15e9db6c in KWayland::Client::Registry::~Registry() () from /lib64/libKF5WaylandClient.so.5
#10 0x00007f4f15e9dbf9 in KWayland::Client::Registry::~Registry() () from /lib64/libKF5WaylandClient.so.5
Comment 7 Boyko 2018-02-06 22:41:01 UTC
Created attachment 110379 [details]
New crash information added by DrKonqi

kinfocenter (5.12.0) using Qt 5.9.3

- What I was doing when the application crashed:

I clicked on Graphical Information>Wayland (no problem so far) Whatever I click after that (OpenGL, X-Server, Memory, About System etc.) The Info Center Crashes

-- Backtrace (Reduced):
#6  0x00007f2a6ad0c5b9 in wl_map_insert_at (map=<optimized out>, flags=flags@entry=0, i=<optimized out>, data=<optimized out>) at ../src/wayland-util.c:249
#7  0x00007f2a6ad087be in proxy_destroy (proxy=0x238b230) at ../src/wayland-client.c:411
#8  wl_proxy_destroy (proxy=0x238b230) at ../src/wayland-client.c:442
#9  0x00007f2a691ec555 in wl_registry_destroy (wl_registry=<optimized out>) at /usr/include/wayland-client-protocol.h:1065
#10 KWayland::Client::WaylandPointer<wl_registry, wl_registry_destroy>::release (this=0x1d25b70, this=0x1d25b70) at /workspace/build/src/client/wayland_pointer_p.h:53
Comment 8 Martin Flöser 2018-02-08 17:59:54 UTC
patch at: https://phabricator.kde.org/D10391

The regression was caused by a change in libWayland. We had similar crashes unfortunately in other areas as well.
Comment 9 Martin Flöser 2018-02-08 18:18:26 UTC
Git commit a7e887975d0181d9039e3d727b0f8172b0bfc2e3 by Martin Flöser.
Committed on 08/02/2018 at 17:59.
Pushed by graesslin into branch 'Plasma/5.12'.

Ensure Registry gets destroyed before the Wayland connection

Summary:
Registry was parented to WaylandModule, but the ConnectionThread got
destroyed in the dtor, thus before the Registry resulting in a crash
when the Registry got destroyed.

This change addresses this problem by tracking the Registry and
destroying it before destroying the Connection.
FIXED-IN: 5.12.1

Test Plan:
Clicked Wayland section, then quit application, verified
exit code

Reviewers: #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D10391

M  +3    -1    Modules/base/info_wayland.cpp
M  +2    -0    Modules/base/info_wayland.h

https://commits.kde.org/kinfocenter/a7e887975d0181d9039e3d727b0f8172b0bfc2e3