Bug 344518 - leftover kwin process
Summary: leftover kwin process
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: rules (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-24 09:59 UTC by Hrvoje Senjan
Modified: 2015-04-21 05:54 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
KWin supportInformation (5.76 KB, text/plain)
2015-04-17 19:21 UTC, Hrvoje Senjan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hrvoje Senjan 2015-02-24 09:59:37 UTC
noticed this in the last few days - doing kwin_x11 --replace & will correctly spawn 'new' kwin_x11 process, but the old ones aren't dead.
KF5 & Plasma from master, Qt very recent 5.4 branch

Reproducible: Always

Steps to Reproduce:
kwin_x11 --replace &

Actual Results:  
ps aux | grep kwin                          
hrvoje   11003  2.3  1.9 3034172 79880 ?       Sl   10:52   0:08 kwin_x11 --replace
hrvoje   11532  0.0  0.0  10484  1616 pts/3    S+   10:58   0:00 grep --color=auto kwin
hrvoje   27556  1.7  2.2 3053412 90380 ?       Sl   03:13   8:07 kwin_x11 --replace

Expected Results:  
ps aux | grep kwin                          
hrvoje   11003  2.3  1.9 3034172 79880 ?       Sl   10:52   0:08 kwin_x11 --replace
hrvoje   11532  0.0  0.0  10484  1616 pts/3    S+   10:58   0:00 grep --color=auto kwin

gdb attach all bt:


#0  0x00007f1ede6c575d in nanosleep () at /lib64/libc.so.6
#1  0x00007f1edc664cdd in qt_nanosleep(timespec) (amount=...) at tools/qelapsedtimer_unix.cpp:190
#2  0x00007f1edc5b1e15 in QThread::msleep(unsigned long) (msecs=msecs@entry=6400) at thread/qthread_unix.cpp:476
#3  0x00007f1edc6bd570 in QLockFile::tryLock(int) (this=<optimized out>, timeout=timeout@entry=-1) at io/qlockfile.cpp:230
#4  0x00007f1edc6bd66a in QLockFile::lock() (this=<optimized out>) at io/qlockfile.cpp:177
#5  0x00007f1ed5c4dc69 in KConfigIniBackend::lock() (this=0x12f3d50) at /usr/src/debug/kconfig-5.8.0git/src/core/kconfigini.cpp:634
#6  0x00007f1ed5c3b49e in KConfig::sync() (this=0x1386870) at /usr/src/debug/kconfig-5.8.0git/src/core/kconfig.cpp:104
#7  0x00007f1ed5c3b49e in KConfig::sync() (this=<optimized out>) at /usr/src/debug/kconfig-5.8.0git/src/core/kconfig.cpp:415
#8  0x00007f1ed5c3b805 in KConfig::~KConfig() (this=0x7fffc26b7d00, __in_chrg=<optimized out>)
    at /usr/src/debug/kconfig-5.8.0git/src/core/kconfig.cpp:267
#9  0x00007f1ede2bb332 in KWin::RuleBook::save() (this=this@entry=0x120c780) at /usr/src/debug/kwin-5.2.90git/rules.cpp:1034
#10 0x00007f1ede2bb3c7 in KWin::RuleBook::~RuleBook() (this=0x120c780, __in_chrg=<optimized out>)
    at /usr/src/debug/kwin-5.2.90git/rules.cpp:956
#11 0x00007f1ede2bb3f9 in KWin::RuleBook::~RuleBook() (this=0x120c780, __in_chrg=<optimized out>)
    at /usr/src/debug/kwin-5.2.90git/rules.cpp:958
#12 0x00007f1ede244b46 in KWin::Workspace::~Workspace() (this=0x11df3b0, __in_chrg=<optimized out>)
    at /usr/src/debug/kwin-5.2.90git/workspace.cpp:426
#13 0x00007f1ede245189 in KWin::Workspace::~Workspace() (this=0x11df3b0, __in_chrg=<optimized out>)
    at /usr/src/debug/kwin-5.2.90git/workspace.cpp:440
#14 0x00007f1ede9b04e9 in KWin::ApplicationX11::lostSelection() (this=0x7fffc26b8790) at /usr/src/debug/kwin-5.2.90git/main_x11.cpp:135
#15 0x00007f1edc7bca26 in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x115c2e0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3717
#16 0x00007f1edc7bd067 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x115c2e0, m=m@entry=0x7f1eddfb1ba0 <KSelectionOwner::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0)
    at kernel/qobject.cpp:3582
#17 0x00007f1eddda2470 in KSelectionOwner::lostOwnership() (this=this@entry=0x115c2e0)
    at /usr/src/debug/kwindowsystem-5.8.0git/build/src/moc_kselectionowner.cpp:144
#18 0x00007f1eddd87ddb in KSelectionOwner::filterEvent(void*) (this=0x115c2e0, ev_P=<optimized out>)
    at /usr/src/debug/kwindowsystem-5.8.0git/src/kselectionowner.cpp:378
#19 0x00007f1edc78a360 in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=0x7f1ec00016e0, result=0x7fffc26b8038) at kernel/qabstracteventdispatcher.cpp:460
#20 0x00007f1ec7279d9d in  () at /usr/lib64/qt5/plugins/platforms/libqxcb.so
#21 0x00007f1ec727b0fb in  () at /usr/lib64/qt5/plugins/platforms/libqxcb.so
#22 0x00007f1edc7bd846 in QObject::event(QEvent*) (this=0x11004d0, e=<optimized out>) at kernel/qobject.cpp:1245
#23 0x00007f1edd44cb5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#24 0x00007f1edd451a26 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#25 0x00007f1edc78d195 in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffc26b8790, receiver=0x11004d0, event=event@entry=
    0x7f1ec00015c0) at kernel/qcoreapplication.cpp:935
#26 0x00007f1edc78f02f in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x7f1ec00015c0, receiver=<optimized out>) at kernel/qcoreapplication.h:228
#27 0x00007f1edc78f02f in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x10e45d0) at kernel/qcoreapplication.cpp:1552
#28 0x00007f1edc7e2634 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x11479b0, flags=...)
    at kernel/qeventdispatcher_unix.cpp:579
#29 0x00007f1ec72cefbd in  () at /usr/lib64/qt5/plugins/platforms/libqxcb.so
#30 0x00007f1edc78b0eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffc26b86c0, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:204
#31 0x00007f1edc792776 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1188
#32 0x00007f1ede9b0d01 in kdemain(int, char**) (argc=2, argv=0x7fffc26b88d8) at /usr/src/debug/kwin-5.2.90git/main_x11.cpp:297
#33 0x00007f1ede630b45 in __libc_start_main () at /lib64/libc.so.6
#34 0x000000000040085e in _start () at ../sysdeps/x86_64/start.S:122
Comment 1 Martin Flöser 2015-02-24 10:05:03 UTC
given the backtrace:
* either home full (unlikely)
* regression in KConfig
* regression in Qt

kwin didn't change in the teardown behavior lately.
Comment 2 Thomas Lübking 2015-02-24 10:44:36 UTC
likely corrupt cache, see bug #341963
i don't think this can only be related to running out of disk space - maybe sc4 and kf5 concurrent invalidation?
Comment 3 Hrvoje Senjan 2015-02-25 02:41:17 UTC
$HOME is not full and i could still reproduce after downgrading to Qt 5.4.0, KF5 5.7 and Plasma 5.2.1...
will try to clear the cache to see does it have an effect
Comment 4 Hrvoje Senjan 2015-04-17 19:21:03 UTC
With a clean user the issue is not reproducible, but with my standard users i can reproduce after clearing the cache.

Will attach relevant settings if anyone has an idea what could it be
Comment 5 Hrvoje Senjan 2015-04-17 19:21:38 UTC
Created attachment 92109 [details]
KWin supportInformation
Comment 6 Hrvoje Senjan 2015-04-17 19:22:27 UTC
hm;
ls .config/kwinrulesrc*
.config/kwinrulesrc  .config/kwinrulesrc.lock  .config/kwinrulesrc.yV1370
Comment 7 Hrvoje Senjan 2015-04-17 19:23:44 UTC
removing the stale rulesrc files 'resolved' the problem. how you want to mark it - up to you ;-)
Comment 8 Thomas Lübking 2015-04-17 21:31:39 UTC
I call for "Fixed" =)

http://commits.kde.org/kconfig/5a28172868cdc51607e0e87172d4d4fb6f01b896
Comment 9 Hrvoje Senjan 2015-04-21 05:54:00 UTC
With some luck, Qt 5.4.2 will have something in this area
https://codereview.qt-project.org/#/c/110346/