Bug 421405 - kwin_rules_dialog shows an empty dialog on wayland
Summary: kwin_rules_dialog shows an empty dialog on wayland
Status: RESOLVED UPSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_kwinrules (show other bugs)
Version: 5.19.90
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 431555 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-05-12 12:09 UTC by Patrick Silva
Modified: 2021-03-02 22:53 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
empty "Configure special window settings..." window on plasma 5.19 beta (136.17 KB, image/png)
2020-05-14 21:40 UTC, Patrick Silva
Details
KDE Crash Handler Output (4.69 KB, text/plain)
2020-06-26 14:53 UTC, Scott Loga
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2020-05-12 12:09:24 UTC
SUMMARY
This issue began on neon unstable after update to the new Window Rules kcm.

STEPS TO REPRODUCE
1. open Dolphin
2. right-click on its window decoration and hover over "More actions"
3. choose "Configure special window settings..." or "Configure special application settings..."

OBSERVED RESULT
nothing happens

EXPECTED RESULT
window to configure special window/application settings should open

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.18.80
KDE Frameworks Version: 5.71.0
Qt Version: 5.14.2
Comment 1 Patrick Silva 2020-05-12 17:23:50 UTC
kwin_rules_dialog crashes in background without any notification


Thread 5 (Thread 0x7fa0a3bba700 (LWP 30052)):
#0  0x00007fa0c220b9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x564e81a4f0d8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x564e81a4f088, cond=0x564e81a4f0b0)
    at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x564e81a4f0b0, mutex=0x564e81a4f088) at pthread_cond_wait.c:655
#3  0x00007fa0a5116ecb in cnd_wait (mtx=0x564e81a4f088, cond=0x564e81a4f0b0)
    at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x564e81bf86d0) at ../src/util/u_queue.c:258
#5  0x00007fa0a5116ac7 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fa0c22056db in start_thread (arg=0x7fa0a3bba700) at pthread_create.c:463
#7  0x00007fa0c2f2788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fa0a33b9700 (LWP 30053)):
#0  0x00007fa0c2f1acf6 in __GI_ppoll (fds=fds@entry=0x7fa094000cf8, nfds=nfds@entry=1, 
    timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0)
    at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007fa0c3eb34e1 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, 
    __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fa094000cf8) at kernel/qcore_unix.cpp:132
#3  qt_safe_poll (fds=0x7fa094000cf8, nfds=1, timeout_ts=timeout_ts@entry=0x0)
    at kernel/qcore_unix.cpp:155
#4  0x00007fa0c3eb4ca2 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...)
    at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007fa0c3e56d2a in QEventLoop::exec (this=this@entry=0x7fa0a33b8d80, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#6  0x00007fa0c3c67757 in QThread::exec (this=this@entry=0x564e81dbe800) at thread/qthread.cpp:536
#7  0x00007fa0c67b1fc5 in QQmlThreadPrivate::run (this=0x564e81dbe800) at qml/ftw/qqmlthread.cpp:155
#8  0x00007fa0c3c68c2c in QThreadPrivate::start (arg=0x564e81dbe800) at thread/qthread_unix.cpp:342
#9  0x00007fa0c22056db in start_thread (arg=0x7fa0a33b9700) at pthread_create.c:463
#10 0x00007fa0c2f2788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fa0aca76700 (LWP 30051)):
#0  0x00007fa0c2f1acf6 in __GI_ppoll (fds=fds@entry=0x564e81a1fea8, nfds=nfds@entry=3, 
    timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0)
    at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007fa0c3eb34e1 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, 
    __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=3, fds=0x564e81a1fea8) at kernel/qcore_unix.cpp:132
#3  qt_safe_poll (fds=0x564e81a1fea8, nfds=3, timeout_ts=timeout_ts@entry=0x0)
    at kernel/qcore_unix.cpp:155
#4  0x00007fa0c3eb4ca2 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...)
    at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007fa0c3e56d2a in QEventLoop::exec (this=this@entry=0x7fa0aca75d70, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#6  0x00007fa0c3c67757 in QThread::exec (
    this=this@entry=0x7fa0c45bcda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at thread/qthread.cpp:536
#7  0x00007fa0c4344555 in QDBusConnectionManager::run (
    this=0x7fa0c45bcda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at qdbusconnection.cpp:179
#8  0x00007fa0c3c68c2c in QThreadPrivate::start (
    arg=0x7fa0c45bcda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at thread/qthread_unix.cpp:342
#9  0x00007fa0c22056db in start_thread (arg=0x7fa0aca76700) at pthread_create.c:463
#10 0x00007fa0c2f2788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fa0b7edd700 (LWP 30050)):
#0  0x00007fa0c2f1abf9 in __GI___poll (fds=0x7fa0b7edcca8, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fa0c358b747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fa0c358d36a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fa0b9e8bfd0 in QXcbEventQueue::run (this=0x564e819a4790) at qxcbeventqueue.cpp:228
#4  0x00007fa0c3c68c2c in QThreadPrivate::start (arg=0x564e819a4790) at thread/qthread_unix.cpp:342
#5  0x00007fa0c22056db in start_thread (arg=0x7fa0b7edd700) at pthread_create.c:463
#6  0x00007fa0c2f2788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fa0c7405f40 (LWP 30049)):
#0  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (
    this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:118
#1  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=...)
    at global/qglobal.h:1133
#2  QObject::d_func (this=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qobject.h:132
#3  QObject::setProperty (this=this@entry=0x0, name=name@entry=0x564e80d73596 "rulesModel", value=...)
    at kernel/qobject.cpp:4014
#4  0x0000564e80d52877 in KWin::RulesDialog::RulesDialog (this=0x7ffe2abf8710, 
    parent=<optimized out>, name=<optimized out>) at ./kcmkwin/kwinrules/rulesdialog.cpp:50
#5  0x0000564e80d4d4a1 in KWin::edit (whole_app=false, data=...) at ./kcmkwin/kwinrules/main.cpp:173
#6  <lambda(QDBusPendingCallWatcher*)>::operator() (self=<optimized out>, __closure=<optimized out>)
    at ./kcmkwin/kwinrules/main.cpp:243
#7  QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QDBusPendingCallWatcher*>, void, main(int, char**)::<lambda(QDBusPendingCallWatcher*)> >::call (arg=<optimized out>, f=...)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#8  QtPrivate::Functor<main(int, char**)::<lambda(QDBusPendingCallWatcher*)>, 1>::call<QtPrivate::List<QDBusPendingCallWatcher*>, void> (arg=<optimized out>, f=...)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#9  QtPrivate::QFunctorSlotObject<main(int, char**)::<lambda(QDBusPendingCallWatcher*)>, 1, QtPrivate::List<QDBusPendingCallWatcher*>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, 
    ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#10 0x00007fa0c3e936d7 in QtPrivate::QSlotObjectBase::call (a=0x7ffe2abf88a0, r=0x7ffe2abf8e60, 
    this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#11 doActivate<false> (sender=0x564e81a1a700, signal_index=3, argv=0x7ffe2abf88a0)
    at kernel/qobject.cpp:3870
#12 0x00007fa0c3e8df92 in QMetaObject::activate (sender=<optimized out>, 
    m=m@entry=0x7fa0c45bb5e0 <QDBusPendingCallWatcher::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe2abf88a0)
    at kernel/qobject.cpp:3930
#13 0x00007fa0c439decf in QDBusPendingCallWatcher::finished (this=<optimized out>, 
    _t1=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:158
#14 0x00007fa0c3e8b57b in QObject::event (this=0x564e81a1a700, e=0x564e81a22b90)
    at kernel/qobject.cpp:1339
#15 0x00007fa0c52149ac in QApplicationPrivate::notify_helper (this=this@entry=0x564e819acef0, 
    receiver=receiver@entry=0x564e81a1a700, e=e@entry=0x564e81a22b90) at kernel/qapplication.cpp:3685
#16 0x00007fa0c521bbb0 in QApplication::notify (this=0x7ffe2abf8e60, receiver=0x564e81a1a700, 
    e=0x564e81a22b90) at kernel/qapplication.cpp:3431
#17 0x00007fa0c3e584a8 in QCoreApplication::notifyInternal2 (receiver=0x564e81a1a700, 
    event=0x564e81a22b90) at kernel/qcoreapplication.cpp:1075
#18 0x00007fa0c3e5867e in QCoreApplication::sendEvent (receiver=receiver@entry=0x564e81a1a700, 
    event=event@entry=0x564e81a22b90) at kernel/qcoreapplication.cpp:1470
#19 0x00007fa0c3e5b121 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, 
    data=0x564e819ad060) at kernel/qcoreapplication.cpp:1815
#20 0x00007fa0c3eb4ad4 in QEventDispatcherUNIX::processEvents (this=0x564e81a0b220, flags=...)
    at kernel/qeventdispatcher_unix.cpp:466
#21 0x00007fa0b9e8d31e in QXcbUnixEventDispatcher::processEvents (this=0x564e81a0b220, flags=...)
    at qxcbeventdispatcher.cpp:60
#22 0x00007fa0c3e56d2a in QEventLoop::exec (this=this@entry=0x7ffe2abf8dc0, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#23 0x00007fa0c3e604a0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1383
#24 0x0000564e80d4bec4 in main (argc=<optimized out>, argv=<optimized out>)
    at ./kcmkwin/kwinrules/main.cpp:249
Comment 2 Patrick Silva 2020-05-14 21:40:53 UTC
Created attachment 128464 [details]
empty "Configure special window settings..." window on plasma 5.19 beta

On plasma 5.19 beta  kwin_rules_dialog doesn't crash, but both "Configure special window settings..." and "Configure special application settings..." windows are empty.

Operating System: Arch Linux 
KDE Plasma Version: 5.18.90
KDE Frameworks Version: 5.70.0
Qt Version: 5.15.0 rc2
Comment 3 Ismael Asensio 2020-05-15 16:59:59 UTC
This seems to be caused by:
https://bugreports.qt.io/browse/QTBUG-69186

Let's leave this report open anyway, since the implementation of the dialog when launched from the window menu should be changed to something better that does not suffer from this bug.
Comment 4 Scott Loga 2020-06-26 14:53:20 UTC
Created attachment 129698 [details]
KDE Crash Handler Output
Comment 5 Scott Loga 2020-06-26 14:56:08 UTC
Confirmed Behavior in FreeBSD/KDE5:

OS - 12.1-RELEASE-p6 GENERIC amd64
KDE Plasma 5.19.1, KDE Frameworks 5.71.0, Qt 5.14.2

On any Window Title Bar, if one right clicks and chooses More Actions then Configure Special Window Settings, the KDE Crash Handler displays "kwin_rules_closes unexpectedly"

Details:

Executable: kwin_rules_dialog PID: 32543 Signal: Segmentation fault (11) Time: 6/23/20 12:04:20 PM CDT

Attached is the crash information provided by the KDE Crash Handler.

I also created a new user on the system and the same results occurred.

If more information is needed, please don't hesitate to ask.

Regards,

Scott
Comment 6 Ismael Asensio 2020-06-26 17:10:51 UTC
(In reply to Scott Loga from comment #5)
> Confirmed Behavior in FreeBSD/KDE5:
> 
> OS - 12.1-RELEASE-p6 GENERIC amd64
> KDE Plasma 5.19.1, KDE Frameworks 5.71.0, Qt 5.14.2
> 
> On any Window Title Bar, if one right clicks and chooses More Actions then
> Configure Special Window Settings, the KDE Crash Handler displays
> "kwin_rules_closes unexpectedly"
> 
> Details:
> 
> Executable: kwin_rules_dialog PID: 32543 Signal: Segmentation fault (11)
> Time: 6/23/20 12:04:20 PM CDT
> 
> Attached is the crash information provided by the KDE Crash Handler.
> 
> I also created a new user on the system and the same results occurred.
> 
> If more information is needed, please don't hesitate to ask.
> 
> Regards,
> 
> Scott

Hi Scott, by the crash info, this seems a different issue as the ones avobe.
Those affect Wayland, while these seems specific to *BSD systems.

Would you mind to open a new bug report with the information you posted here? That will help us to try and replicate it, and better track the issue.

Thanks in advance!
Comment 7 Scott Loga 2020-06-26 17:31:46 UTC
Ismael,

As suggested, I created a new bug report #423554.

Regards,

Scott
Comment 8 Bug Janitor Service 2020-07-22 18:20:10 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/134
Comment 9 Patrick Silva 2020-10-22 13:03:04 UTC
this bug persists on Arch Linux running Plasma 5.20.1 but it's no longer reproducible on neon unstable.
Comment 10 Patrick Silva 2020-12-10 14:46:22 UTC
"Configure special window settings..." and "Configure special application settings..." windows are rendered after I switch to another window and switch back to it.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.77.0
Qt Version: 5.15.2
Comment 11 Ismael Asensio 2021-01-14 20:44:29 UTC
*** Bug 431555 has been marked as a duplicate of this bug. ***
Comment 12 Ismael Asensio 2021-03-02 22:29:09 UTC
Qt's upstream bug seems to be fixed and I don't reproduce it anymore.

Patrick, are you still experiencing this?
Comment 13 Scott Loga 2021-03-02 22:31:16 UTC
This issue has been fixed via previous Qt upstream updates.

Thanks,

> On Mar 2, 2021, at 16:29, Ismael Asensio <bugzilla_noreply@kde.org> wrote:
> 
> https://bugs.kde.org/show_bug.cgi?id=421405
> 
> --- Comment #12 from Ismael Asensio <isma.af@gmail.com> ---
> Qt's upstream bug seems to be fixed and I don't reproduce it anymore.
> 
> Patrick, are you still experiencing this?
> 
> -- 
> You are receiving this mail because:
> You are on the CC list for the bug.