Bug 410703 - [Wayland] Standalone plasma-nm KCM freezes after manual resizing
Summary: [Wayland] Standalone plasma-nm KCM freezes after manual resizing
Status: RESOLVED FIXED
Alias: None
Product: plasma-nm
Classification: Plasma
Component: kcm (show other bugs)
Version: master
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Jan Grulich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-07 20:11 UTC by Patrick Silva
Modified: 2019-08-12 13:57 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.17.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2019-08-07 20:11:14 UTC
SUMMARY


STEPS TO REPRODUCE
1. right click on the network icon in systray
2. select "Configure network connections..."
3. resize horizontally the plasma-nm KCM by dragging its border
4. click on any part of the KCM

OBSERVED RESULT
KCM freezes - window decoration says "Not responding..."

EXPECTED RESULT
KCM never freezes

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.16.80
KDE Frameworks Version: 5.61.0
Qt Version: 5.12.3


Thread 5 (Thread 0x7fb4405c4700 (LWP 10128)):
#0  0x00007fb47519bd37 in __libc_sendmsg (fd=3, msg=msg@entry=0x7fb4405c3530, flags=flags@entry=16448)
    at ../sysdeps/unix/sysv/linux/sendmsg.c:28
#1  0x00007fb4649ed41d in wl_connection_flush (connection=0x563ef86b1d60) at ../src/connection.c:315
#2  0x00007fb4649ed5ef in wl_connection_flush (connection=<optimized out>) at ../src/connection.c:297
#3  0x00007fb4649ecc38 in wl_display_flush (display=display@entry=0x563ef86ad900)
    at ../src/wayland-client.c:1986
#4  0x00007fb4649eccd6 in wl_display_dispatch_queue (display=0x563ef86ad900, queue=0x7fb438004b50)
    at ../src/wayland-client.c:1765
#5  0x00007fb4649ecf4b in wl_display_roundtrip_queue (display=0x563ef86ad900, queue=0x7fb438004b50)
    at ../src/wayland-client.c:1238
#6  0x00007fb45746be21 in ?? () from /usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0
#7  0x00007fb45746c11d in ?? () from /usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0
#8  0x00007fb45746c1d4 in ?? () from /usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0
#9  0x00007fb4551e0ae6 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#10 0x00007fb4551e0ed5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#11 0x00007fb4551dc28d in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#12 0x00007fb470e1e848 in QSGBatchRenderer::Renderer::renderBatches (this=this@entry=0x7fb438010250)
    at scenegraph/coreapi/qsgbatchrenderer.cpp:2517
#13 0x00007fb470e24056 in QSGBatchRenderer::Renderer::render (this=<optimized out>)
    at scenegraph/coreapi/qsgbatchrenderer.cpp:2735
#14 0x00007fb470e14810 in QSGRenderer::renderScene (this=0x7fb438010250, bindable=...)
    at scenegraph/coreapi/qsgrenderer.cpp:244
#15 0x00007fb470e14cbb in QSGRenderer::renderScene (this=<optimized out>, fboId=<optimized out>)
    at scenegraph/coreapi/qsgrenderer.cpp:197
#16 0x00007fb470e51830 in QSGDefaultRenderContext::renderNextFrame (this=0x563ef8900aa0, 
    renderer=0x7fb438010250, fboId=<optimized out>) at scenegraph/qsgdefaultrendercontext.cpp:182
#17 0x00007fb470eb3a18 in QQuickWindowPrivate::renderSceneGraph (this=this@entry=0x563ef871d7c0, 
    size=...) at items/qquickwindow.cpp:486
#18 0x00007fb470e5ce92 in QSGRenderThread::syncAndRender (this=this@entry=0x563ef8f7a470)
    at scenegraph/qsgthreadedrenderloop.cpp:646
#19 0x00007fb470e60ae8 in QSGRenderThread::run (this=0x563ef8f7a470)
    at scenegraph/qsgthreadedrenderloop.cpp:730
#20 0x00007fb471eacc72 in QThreadPrivate::start (arg=0x563ef8f7a470) at thread/qthread_unix.cpp:361
#21 0x00007fb46ea4c6db in start_thread (arg=0x7fb4405c4700) at pthread_create.c:463
#22 0x00007fb47519a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fb453670700 (LWP 10126)):
#0  0x00007fb47518dbf9 in __GI___poll (fds=0x7fb444003ce0, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fb46bfb75c9 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7fb444003ce0, 
    timeout=<optimized out>, context=0x7fb444000bf0) at ../../../../glib/gmain.c:4203
#2  g_main_context_iterate (context=context@entry=0x7fb444000bf0, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897
#3  0x00007fb46bfb76dc in g_main_context_iteration (context=0x7fb444000bf0, 
    may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963
#4  0x00007fb4720e2daf in QEventDispatcherGlib::processEvents (this=0x7fb444000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#5  0x00007fb47208403a in QEventLoop::exec (this=this@entry=0x7fb45366fd80, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#6  0x00007fb471eab4ca in QThread::exec (this=this@entry=0x563ef8907800) at thread/qthread.cpp:531
#7  0x00007fb470915115 in QQmlThreadPrivate::run (this=0x563ef8907800) at qml/ftw/qqmlthread.cpp:148
#8  0x00007fb471eacc72 in QThreadPrivate::start (arg=0x563ef8907800) at thread/qthread_unix.cpp:361
#9  0x00007fb46ea4c6db in start_thread (arg=0x7fb453670700) at pthread_create.c:463
#10 0x00007fb47519a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fb453e71700 (LWP 10125)):
#0  0x00007fb46ea529f3 in futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x563ef86cfbdc) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x563ef86cfb88, cond=0x563ef86cfbb0)
    at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x563ef86cfbb0, mutex=0x563ef86cfb88) at pthread_cond_wait.c:655
#3  0x00007fb45529631a in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fb455296047 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fb46ea4c6db in start_thread (arg=0x7fb453e71700) at pthread_create.c:463
#6  0x00007fb47519a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fb460e63700 (LWP 10124)):
#0  0x00007fb47518dbf9 in __GI___poll (fds=0x7fb45c003ce0, nfds=3, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fb46bfb75c9 in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x7fb45c003ce0, 
    timeout=<optimized out>, context=0x7fb45c000bf0) at ../../../../glib/gmain.c:4203
#2  g_main_context_iterate (context=context@entry=0x7fb45c000bf0, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897
#3  0x00007fb46bfb76dc in g_main_context_iteration (context=0x7fb45c000bf0, 
    may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963
#4  0x00007fb4720e2daf in QEventDispatcherGlib::processEvents (this=0x7fb45c000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#5  0x00007fb47208403a in QEventLoop::exec (this=this@entry=0x7fb460e62d70, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#6  0x00007fb471eab4ca in QThread::exec (
    this=this@entry=0x7fb473cacd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at thread/qthread.cpp:531
#7  0x00007fb473a35015 in QDBusConnectionManager::run (
    this=0x7fb473cacd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at qdbusconnection.cpp:178
#8  0x00007fb471eacc72 in QThreadPrivate::start (
    arg=0x7fb473cacd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at thread/qthread_unix.cpp:361
#9  0x00007fb46ea4c6db in start_thread (arg=0x7fb460e63700) at pthread_create.c:463
#10 0x00007fb47519a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fb475855800 (LWP 10123)):
#0  0x00007fb46ea529f3 in futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x563ef8f7ab54) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x563ef8f7ab00, cond=0x563ef8f7ab28)
    at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x563ef8f7ab28, mutex=0x563ef8f7ab00) at pthread_cond_wait.c:655
#3  0x00007fb471eb3dbb in QWaitConditionPrivate::wait (deadline=..., this=0x563ef8f7ab00)
    at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait (this=<optimized out>, mutex=0x563ef8f7a4b0, deadline=...)
    at thread/qwaitcondition_unix.cpp:225
#5  0x00007fb471eb40c9 in QWaitCondition::wait (this=0x563ef8f7a4b8, mutex=0x563ef8f7a4b0, 
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#6  0x00007fb470e5da6d in QSGThreadedRenderLoop::polishAndSync (this=this@entry=0x563ef87ceb50, 
    w=<optimized out>, w@entry=0x563ef8f645b0, inExpose=inExpose@entry=true)
    at scenegraph/qsgthreadedrenderloop.cpp:1211
#7  0x00007fb470e5ffd5 in QSGThreadedRenderLoop::handleExposure (this=this@entry=0x563ef87ceb50, 
    window=window@entry=0x563ef87cf470) at scenegraph/qsgthreadedrenderloop.cpp:1005
#8  0x00007fb470e60659 in QSGThreadedRenderLoop::exposureChanged (this=0x563ef87ceb50, 
    window=0x563ef87cf470) at scenegraph/qsgthreadedrenderloop.cpp:916
#9  0x00007fb47265a655 in QWindow::event (this=this@entry=0x563ef87cf470, ev=ev@entry=0x7fff161541f0)
    at kernel/qwindow.cpp:2341
#10 0x00007fb470ebf025 in QQuickWindow::event (this=0x563ef87cf470, e=0x7fff161541f0)
    at items/qquickwindow.cpp:1675
#11 0x00007fb472e8165c in QApplicationPrivate::notify_helper (this=this@entry=0x563ef86a4610, 
    receiver=receiver@entry=0x563ef87cf470, e=e@entry=0x7fff161541f0) at kernel/qapplication.cpp:3736
#12 0x00007fb472e88b90 in QApplication::notify (this=0x7fff16154600, receiver=0x563ef87cf470, 
    e=0x7fff161541f0) at kernel/qapplication.cpp:3483
#13 0x00007fb472085d18 in QCoreApplication::notifyInternal2 (receiver=0x563ef87cf470, 
    event=0x7fff161541f0) at kernel/qcoreapplication.cpp:1060
#14 0x00007fb472085efe in QCoreApplication::sendSpontaneousEvent (
    receiver=receiver@entry=0x563ef87cf470, event=event@entry=0x7fff161541f0)
    at kernel/qcoreapplication.cpp:1462
#15 0x00007fb47265019a in QGuiApplicationPrivate::processExposeEvent (e=0x563ef8e1d420)
    at kernel/qguiapplication.cpp:3066
#16 0x00007fb4726503ed in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x563ef8e1d420)
    at kernel/qguiapplication.cpp:1902
#17 0x00007fb472628b4b in QWindowSystemInterface::sendWindowSystemEvents (flags=...)
    at kernel/qwindowsysteminterface.cpp:1151
#18 0x00007fb464e81000 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#19 0x00007fb46bfb7417 in g_main_dispatch (context=0x563ef86e8340) at ../../../../glib/gmain.c:3176
#20 g_main_context_dispatch (context=context@entry=0x563ef86e8340) at ../../../../glib/gmain.c:3829
#21 0x00007fb46bfb7650 in g_main_context_iterate (context=context@entry=0x563ef86e8340, 
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../../../../glib/gmain.c:3902
#22 0x00007fb46bfb76dc in g_main_context_iteration (context=0x563ef86e8340, 
    may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963
#23 0x00007fb4720e2daf in QEventDispatcherGlib::processEvents (this=0x563ef86d88f0, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#24 0x00007fb47208403a in QEventLoop::exec (this=this@entry=0x7fff161544d0, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#25 0x00007fb47208d170 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1363
#26 0x00007fb472644a7c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1779
#27 0x00007fb472e815b5 in QApplication::exec () at kernel/qapplication.cpp:2893
#28 0x00007fb4754731b4 in kdemain (_argc=<optimized out>, _argv=<optimized out>)
    at ./kcmshell/main.cpp:328
#29 0x00007fb47509ab97 in __libc_start_main (main=0x563ef725c720 <main>, argc=2, argv=0x7fff16154758, 
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff16154748)
    at ../csu/libc-start.c:310
#30 0x0000563ef725c75a in _start ()
Desanexando do programa: /usr/bin/kcmshell5, process 10123
Comment 1 Jan Grulich 2019-08-08 05:59:44 UTC
Does any other standalone KCM freeze on wayland? You can try to open any other with kcmshell5.
Comment 2 Jan Grulich 2019-08-08 06:01:56 UTC
You can ignore the comment, I tried it myself and I can reproduce it, while other kcms seem to work fine.
Comment 3 Jan Grulich 2019-08-09 07:17:28 UTC
Fix for this issue: https://phabricator.kde.org/D23020
Comment 4 Jan Grulich 2019-08-12 11:52:03 UTC
Git commit ccce9e3cd24740660ae7df8f896039ef1ec8e57d by Jan Grulich.
Committed on 12/08/2019 at 11:51.
Pushed by grulich into branch 'master'.

Use QQuickWidget instead of a QQuickView placed into QWidget

Summary:  BUG: 410703

Reviewers: #plasma, apol

Reviewed By: apol

Subscribers: plasma-devel

Tags: #plasma

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

M  +1    -0    CMakeLists.txt
M  +1    -0    kcm/CMakeLists.txt
M  +19   -24   kcm/kcm.cpp
M  +0    -1    kcm/kcm.h
M  +11   -4    kcm/kcm.ui
M  +0    -1    kcm/qml/main.qml

https://commits.kde.org/plasma-nm/ccce9e3cd24740660ae7df8f896039ef1ec8e57d