Bug 352951 - Breeze locks up in ~AnimationData while changing colours
Summary: Breeze locks up in ~AnimationData while changing colours
Status: RESOLVED WORKSFORME
Alias: None
Product: Breeze
Classification: Plasma
Component: QStyle (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-20 18:31 UTC by A. Wilcox (awilfox)
Modified: 2018-11-21 04:26 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description A. Wilcox (awilfox) 2015-09-20 18:31:43 UTC
While debugging things in bug 352548 and changing settings in System Settings, plasmashell froze, but I guess it could happen in any app:

#0  QCoreApplication::removePostedEvents (receiver=0x576efca0, eventType=eventType@entry=0) at kernel/qcoreapplication.cpp:1609
#1  0x00007f53fc9c31f1 in QObjectPrivate::~QObjectPrivate (this=0x2be3a7b0, __in_chrg=<optimized out>) at kernel/qobject.cpp:234
#2  0x00007f53fc9c3329 in QObjectPrivate::~QObjectPrivate (this=0x2be3a7b0, __in_chrg=<optimized out>) at kernel/qobject.cpp:245
#3  0x00007f53fc9cdfb2 in QScopedPointerDeleter<QObjectData>::cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:54
#4  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer (this=0x576efca8, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:101
#5  QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:882
#6  0x00007f53f1559d62 in Breeze::AnimationData::~AnimationData (this=0x576efca0, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezeanimationdata.h:51
#7  Breeze::GenericData::~GenericData (this=0x576efca0, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezegenericdata.h:48
#8  Breeze::WidgetStateData::~WidgetStateData (this=0x576efca0, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezewidgetstatedata.h:45
#9  Breeze::EnableData::~EnableData (this=0x576efca0, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezeenabledata.h:43
#10 Breeze::EnableData::~EnableData (this=0x576efca0, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezeenabledata.h:43
#11 0x00007f53fc9c3c5b in QObjectPrivate::deleteChildren (this=this@entry=0x37d515d0) at kernel/qobject.cpp:1950
#12 0x00007f53fc9cdf6c in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1030
#13 0x00007f53f155b2ed in Breeze::BaseEngine::~BaseEngine (this=0x46f48520, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezebaseengine.h:51
#14 Breeze::WidgetStateEngine::~WidgetStateEngine (this=0x46f48520, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezewidgetstateengine.h:46
#15 Breeze::WidgetStateEngine::~WidgetStateEngine (this=0x46f48520, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezewidgetstateengine.h:46
#16 0x00007f53fc9c3c5b in QObjectPrivate::deleteChildren (this=this@entry=0x37d51ea0) at kernel/qobject.cpp:1950
#17 0x00007f53fc9cdf6c in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1030
#18 0x00007f53f1559f1f in Breeze::Animations::~Animations (this=0x5aa640c0, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezeanimations.h:52
#19 Breeze::Animations::~Animations (this=0x5aa640c0, __in_chrg=<optimized out>)
    at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0-kf5/kstyle/../../breeze-5.4.0/kstyle/animations/breezeanimations.h:52
#20 0x00007f53fc9c3c5b in QObjectPrivate::deleteChildren (this=this@entry=0x47717ff0) at kernel/qobject.cpp:1950
#21 0x00007f53fc9cdf6c in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1030
#22 0x00007f53f15390a9 in Breeze::Style::~Style (this=0x52d4fdc0, __in_chrg=<optimized out>) at /var/tmp/portage/kde-plasma/breeze-5.4.0/work/breeze-5.4.0/kstyle/breezestyle.cpp:206
#23 0x00007f53fd23f6e4 in QApplication::setStyle (style=<optimized out>) at kernel/qapplication.cpp:1263
#24 0x00007f53fd23fe66 in QApplication::setStyle (style=...) at kernel/qapplication.cpp:1295
#25 0x00007f53f1cd77a3 in KHintsSettings::slotNotifyChange (this=0xc30cd0, type=<optimized out>, arg=<optimized out>)
    at /var/tmp/portage/kde-frameworks/frameworkintegration-5.13.0/work/frameworkintegration-5.13.0/src/platformtheme/khintssettings.cpp:274
#26 0x00007f53f1ce1fd3 in KHintsSettings::qt_metacall (this=0xc30cd0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fff9640f220)
    at /var/tmp/portage/kde-frameworks/frameworkintegration-5.13.0/work/frameworkintegration-5.13.0_build/src/platformtheme/moc_khintssettings.cpp:116
#27 0x00007f53fd07651f in QDBusConnectionPrivate::deliverCall (this=0xc523c0, object=0xc30cd0, msg=..., metaTypes=..., slotIdx=8) at qdbusintegrator.cpp:993
#28 0x00007f53fc9c6296 in QObject::event (this=0xc30cd0, e=<optimized out>) at kernel/qobject.cpp:1245
#29 0x00007f53fd23d86c in QApplicationPrivate::notify_helper (this=this@entry=0xc00b70, receiver=receiver@entry=0xc30cd0, e=e@entry=0x4b8897c0) at kernel/qapplication.cpp:3720
#30 0x00007f53fd242680 in QApplication::notify (this=0x7fff9640fa50, receiver=0xc30cd0, e=0x4b8897c0) at kernel/qapplication.cpp:3503
#31 0x00007f53fc99495d in QCoreApplication::notifyInternal (this=0x7fff9640fa50, receiver=0xc30cd0, event=event@entry=0x4b8897c0) at kernel/qcoreapplication.cpp:935
#32 0x00007f53fc99689f in QCoreApplication::sendEvent (event=0x4b8897c0, receiver=<optimized out>) at kernel/qcoreapplication.h:228
#33 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xbf61f0) at kernel/qcoreapplication.cpp:1552
#34 0x00007f53fc996f08 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1410
#35 0x00007f53fc9eeae3 in postEventSourceDispatch (s=0xc33d00) at kernel/qeventdispatcher_glib.cpp:271
#36 0x00007f53f95479c4 in g_main_dispatch (context=0x7f53ec002450) at /var/tmp/portage/dev-libs/glib-2.44.1/work/glib-2.44.1/glib/gmain.c:3122
#37 g_main_context_dispatch (context=context@entry=0x7f53ec002450) at /var/tmp/portage/dev-libs/glib-2.44.1/work/glib-2.44.1/glib/gmain.c:3737
#38 0x00007f53f9547c18 in g_main_context_iterate (context=context@entry=0x7f53ec002450, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.44.1/work/glib-2.44.1/glib/gmain.c:3808
#39 0x00007f53f9547cbc in g_main_context_iteration (context=0x7f53ec002450, may_block=1) at /var/tmp/portage/dev-libs/glib-2.44.1/work/glib-2.44.1/glib/gmain.c:3869
#40 0x00007f53fc9edf2c in QEventDispatcherGlib::processEvents (this=0xc34090, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#41 0x00007f53fc9927eb in QEventLoop::exec (this=this@entry=0x7fff9640f8c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#42 0x00007f53fc99a23f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#43 0x00007f53fccb205c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1507
#44 0x00007f53fd239f25 in QApplication::exec () at kernel/qapplication.cpp:2956
#45 0x000000000043218b in main (argc=2, argv=<optimized out>) at /var/tmp/portage/kde-plasma/plasma-workspace-5.4.0/work/plasma-workspace-5.4.0/shell/main.cpp:176

The backtrace didn't change even after detaching gdb for 60 seconds and then re-attaching.  I was only able to duplicate once (so twice) out of 20 different tries, so it seems to be a race that is not common but does happen.

Reproducible: Sometimes

Steps to Reproduce:
1. use KDE Plasma 5
2. change settings that trigger KHintsSettings::slotNotifyChange


Actual Results:  
Plasma Shell locked up.

Expected Results:  
The settings should have been changed without a lock up.
Comment 1 Hugo Pereira Da Costa 2015-11-13 08:16:00 UTC
Hi,
First: I have not tried to reproduce the freeze yet (but will do).
Freeze happens in the Style deletion chain, which is nothing fancy (on the breeze side) really: just nested deletion of grand-children, children and owner. Not exactly sure how to attack this on my side (provided I can reproduce)
Comment 2 Andrew Crouthamel 2018-11-01 13:41:54 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Bug Janitor Service 2018-11-16 11:35:07 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 A. Wilcox (awilfox) 2018-11-20 05:59:12 UTC
I no longer have the hardware needed to reproduce this (it only happens on Intel GPU), so I can't say if it is fixed or not.
Comment 5 Andrew Crouthamel 2018-11-21 04:26:40 UTC
Thanks for the update!