https://bugs.kde.org/show_bug.cgi?id=468443

            Bug ID: 468443
           Summary: kwin freezes when activating window view effect for
                    the first time after start
    Classification: Plasma
           Product: kwin
           Version: master
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: kwin-bugs-n...@kde.org
          Reporter: nicolas.fe...@gmx.de
  Target Milestone: ---

STEPS TO REPRODUCE
1. Reboot 
2. Activate window view effect

OBSERVED RESULT
KWin freezes for 25 seconds

EXPECTED RESULT
No freeze

SOFTWARE/OS VERSIONS
KDE Plasma Version: master
KDE Frameworks Version: master
Qt Version: 6.5

Backtrace for the freeze:

#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0,
op=393, expected=0, futex_word=0x1c335b0) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x1c335b0,
expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0,
private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x00007fef578aad7f in __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word@entry=0x1c335b0, expected=expected@entry=0,
clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at
futex-internal.c:139
#3  0x00007fef578ad510 in __pthread_cond_wait_common (abstime=0x0, clockid=0,
mutex=0x1c33560, cond=0x1c33588) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x1c33588, mutex=0x1c33560) at
pthread_cond_wait.c:618
#5  0x00007fef581111cb in QWaitConditionPrivate::wait(QDeadlineTimer)
(deadline=..., this=0x1c33560) at
/usr/src/debug/qt6-qtbase-6.4.3-2.fc37.x86_64/src/corelib/thread/qwaitcondition_unix.cpp:111
#6  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=this@entry=0x25d2b80,
mutex=mutex@entry=0x25d2b78, deadline=...) at
/usr/src/debug/qt6-qtbase-6.4.3-2.fc37.x86_64/src/corelib/thread/qwaitcondition_unix.cpp:184
#7  0x00007fef59a5d46a in QDBusPendingCallPrivate::waitForFinished()
(this=0x25d2b30) at
/usr/src/debug/qt6-qtbase-6.4.3-2.fc37.x86_64/src/dbus/qdbuspendingcall.cpp:203
#8  0x00007fef59a5ea65 in QDBusPendingReplyBase::argumentAt(int) const
(this=this@entry=0x7ffd26575ca0, index=index@entry=0) at
/usr/src/debug/qt6-qtbase-6.4.3-2.fc37.x86_64/src/dbus/qdbuspendingreply.cpp:236
#9  0x00007fef4653cd87 in QDBusPendingReply<QMap<QString, QMap<QString,
QVariant> > >::argumentAt<0>() const (this=this@entry=0x7ffd26575ca0) at
/usr/include/qt6/QtDBus/qdbuspendingreply.h:81
#10 0x00007fef4653d65b in QDBusPendingReply<QMap<QString, QMap<QString,
QVariant> > >::value() const (this=0x7ffd26575ca0) at
/usr/include/qt6/QtDBus/qdbuspendingreply.h:95
#11
Kirigami::TabletModeWatcherPrivate::TabletModeWatcherPrivate(Kirigami::TabletModeWatcher*)
(this=<optimized out>, watcher=<optimized out>) at
/home/nico/kde6/src/kirigami/src/libkirigami/tabletmodewatcher.cpp:64
#12 0x00007fef465379c4 in
Kirigami::TabletModeWatcher::TabletModeWatcher(QObject*) (this=0x7fef46552a10
<QGlobalStatic<QtGlobalStatic::Holder<Kirigami::(anonymous
namespace)::Q_QGS_privateTabletModeWatcherSelf> >::instance()::holder>,
parent=<optimized out>)
    at /home/nico/kde6/src/kirigami/src/libkirigami/tabletmodewatcher.cpp:115
#13 0x00007fef46537a38 in
Kirigami::TabletModeWatcherSingleton::TabletModeWatcherSingleton()
(this=0x7fef46552a10 <QGlobalStatic<QtGlobalStatic::Holder<Kirigami::(anonymous
namespace)::Q_QGS_privateTabletModeWatcherSelf> >::instance()::holder>)
    at /home/nico/kde6/src/kirigami/src/libkirigami/tabletmodewatcher.cpp:24
#14 Kirigami::(anonymous
namespace)::Q_QGS_privateTabletModeWatcherSelf::innerFunction
(pointer=0x7fef46552a10
<QGlobalStatic<QtGlobalStatic::Holder<Kirigami::(anonymous
namespace)::Q_QGS_privateTabletModeWatcherSelf> >::instance()::holder>)
    at /home/nico/kde6/src/kirigami/src/libkirigami/tabletmodewatcher.cpp:30
#15 QtGlobalStatic::Holder<Kirigami::(anonymous
namespace)::Q_QGS_privateTabletModeWatcherSelf>::Holder (this=0x7fef46552a10
<QGlobalStatic<QtGlobalStatic::Holder<Kirigami::(anonymous
namespace)::Q_QGS_privateTabletModeWatcherSelf> >::instance()::holder>)
    at /usr/include/qt6/QtCore/qglobalstatic.h:37
#16 QGlobalStatic<QtGlobalStatic::Holder<Kirigami::(anonymous
namespace)::Q_QGS_privateTabletModeWatcherSelf> >::instance () at
/usr/include/qt6/QtCore/qglobalstatic.h:91
#17 QGlobalStatic<QtGlobalStatic::Holder<Kirigami::(anonymous
namespace)::Q_QGS_privateTabletModeWatcherSelf> >::operator() (this=<optimized
out>) at /usr/include/qt6/QtCore/qglobalstatic.h:73
#18 Kirigami::TabletModeWatcher::self() () at
/home/nico/kde6/src/kirigami/src/libkirigami/tabletmodewatcher.cpp:126
#19 0x00007feee6a5d505 in Settings::Settings(QObject*) (this=0x7feee6aa6120
<QGlobalStatic<QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_privateSettingsSelf> >::instance()::holder>,
parent=<optimized out>) at /home/nico/kde6/src/kirigami/src/settings.cpp:42
#20 0x00007feee6a5db2b in SettingsSingleton::SettingsSingleton()
(this=0x7feee6aa6120 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_privateSettingsSelf> >::instance()::holder>) at
/home/nico/kde6/src/kirigami/src/settings.cpp:29
#21 (anonymous namespace)::Q_QGS_privateSettingsSelf::innerFunction
(pointer=0x7feee6aa6120 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_privateSettingsSelf> >::instance()::holder>) at
/home/nico/kde6/src/kirigami/src/settings.cpp:35
#22 QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_privateSettingsSelf>::Holder (this=0x7feee6aa6120
<QGlobalStatic<QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_privateSettingsSelf> >::instance()::holder>) at
/usr/include/qt6/QtCore/qglobalstatic.h:37
#23 QGlobalStatic<QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_privateSettingsSelf> >::instance () at
/usr/include/qt6/QtCore/qglobalstatic.h:91
#24 QGlobalStatic<QtGlobalStatic::Holder<(anonymous
namespace)::Q_QGS_privateSettingsSelf> >::operator() (this=<optimized out>) at
/usr/include/qt6/QtCore/qglobalstatic.h:73
#25 Settings::self() () at /home/nico/kde6/src/kirigami/src/settings.cpp:103
#26 0x00007feee6a44acb in operator() (__closure=0x0, e=<optimized out>) at
/home/nico/kde6/src/kirigami/src/kirigamiplugin.cpp:124
#27 _FUN(QQmlEngine*, QJSEngine*) () at
/home/nico/kde6/src/kirigami/src/kirigamiplugin.cpp:129
#28 0x00007fef5a91a0ef in std::function<QObject* (QQmlEngine*,
QJSEngine*)>::operator()(QQmlEngine*, QJSEngine*) const (__args#1=0xec1510,
__args#0=0xec1510, this=<optimized out>) at
/usr/include/c++/12/bits/std_function.h:587
#29 QQmlEnginePrivate::singletonInstance<QJSValue>(QQmlType const&)
(this=0xf78130, type=...) at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmlengine.cpp:1699
#30 0x00007fef5aa11e7c in
QQmlEnginePrivate::singletonInstance<QObject*>(QQmlType const&) (type=...,
this=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/redhat-linux-build/include/QtQml/6.4.3/QtQml/private/../../../../../../src/qml/qml/qqmlengine_p.h:380
#31 QV4::QQmlTypeWrapper::virtualResolveLookupGetter(QV4::Object const*,
QV4::ExecutionEngine*, QV4::Lookup*) (object=0x7fef257bc528, engine=0xf25fa0,
lookup=0x23e5460) at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmltypewrapper.cpp:414
#32 0x00007fef5a89a196 in QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*,
QV4::ExecutionEngine*, char const*) (frame=0x1c335b0,
frame@entry=0x7ffd265762e0, engine=0xf25fa0, code=0x7fef263ffb2c
"<bP\b.c<d<eL\006.f<g<h\030\006\002")
    at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:729
#33 0x00007fef5a89f9f7 in QV4::Moth::VME::exec(QV4::JSTypesStackFrame*,
QV4::ExecutionEngine*) (frame=frame@entry=0x7ffd265762e0,
engine=engine@entry=0xf25fa0) at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:542
#34 0x00007fef5a7f413a in QV4::Function::call(QV4::Value const*, QV4::Value
const*, int, QV4::ExecutionContext*) (context=<optimized out>, argc=<optimized
out>, argv=0x7fef257bc548, thisObject=0x7fef257bc530, this=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/jsruntime/qv4function.cpp:62
#35 QV4::Function::call(QV4::Value const*, QV4::Value const*, int,
QV4::ExecutionContext*) (this=<optimized out>,
thisObject=thisObject@entry=0x7fef257bc500, argv=argv@entry=0x7fef257bc518,
argc=<optimized out>, context=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/jsruntime/qv4function.cpp:44
#36 0x00007fef5a94cf9b in QQmlJavaScriptExpression::evaluate(QV4::CallData*,
bool*) (this=this@entry=0x2489f00, callData=callData@entry=0x7fef257bc4e8,
isUndefined=isUndefined@entry=0x7ffd26576490)
    at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmljavascriptexpression.cpp:238
#37 0x00007fef5a8e0f12 in QQmlBinding::evaluate(bool*)
(this=this@entry=0x2489f00, isUndefined=isUndefined@entry=0x7ffd26576490) at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmlbinding.cpp:187
#38 0x00007fef5a8e7ca0 in
QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&,
QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (this=0x2489f00, watcher=...,
flags=..., scope=...)
    at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmlbinding.cpp:247
#39 0x00007fef5a8e3961 in
QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (this=0x2489f00,
flags=...) at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmlbinding.cpp:163
#40 0x00007fef5a976eae in
QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) (this=0x24993a0,
interrupt=...) at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmlobjectcreator.cpp:1391
#41 0x00007fef5a94882a in
QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&)
(this=this@entry=0x2455270, i=...) at
/usr/include/qt6/QtCore/qscopedpointer.h:89
#42 0x00007fef5a949685 in QQmlEnginePrivate::incubate(QQmlIncubator&,
QQmlRefPointer<QQmlContextData> const&) (this=0xf78130, i=<optimized out>,
forContext=<optimized out>) at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmlincubator.cpp:54
#43 0x00007fef5a8fd024 in QQmlComponent::create(QQmlIncubator&, QQmlContext*,
QQmlContext*) (this=<optimized out>, incubator=..., context=<optimized out>,
forContext=<optimized out>)
    at
/usr/src/debug/qt6-qtdeclarative-6.4.3-1.fc37.x86_64/src/qml/qml/qqmlcomponent.cpp:1219
#44 0x00007fef5bdd8fc2 in
KWin::QuickSceneEffect::addScreen(KWin::EffectScreen*)
(this=this@entry=0xb35c00, screen=<optimized out>) at
/home/nico/kde6/src/kwin/src/libkwineffects/kwinquickeffect.cpp:425
#45 0x00007fef5bdd99b7 in KWin::QuickSceneEffect::startInternal()
(this=0xb35c00) at
/home/nico/kde6/src/kwin/src/libkwineffects/kwinquickeffect.cpp:457
#46 0x00007fef5b90fda2 in std::function<void (double)>::operator()(double)
const (__args#0=<optimized out>, this=0x17fd980) at
/usr/include/c++/12/bits/std_function.h:591
#47 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<double>,
void, std::function<void (double)> >::call(std::function<void (double)>&,
void**) (arg=<optimized out>, f=...) at
/usr/include/qt6/QtCore/qobjectdefs_impl.h:127
#48 QtPrivate::Functor<std::function<void (double)>,
1>::call<QtPrivate::List<double>, void>(std::function<void (double)>&, void*,
void**) (arg=<optimized out>, f=...) at
/usr/include/qt6/QtCore/qobjectdefs_impl.h:241

TL;DR effect calls Kirigami.Settings.tabletMode, that makes a DBus call to KWin
-> freeze

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to