[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-11-13 Thread Vlad Zagorodniy
https://bugs.kde.org/show_bug.cgi?id=397577

Vlad Zagorodniy  changed:

   What|Removed |Added

 Status|CONFIRMED   |RESOLVED
   Version Fixed In||5.14.4
 Resolution|--- |FIXED
  Latest Commit||https://commits.kde.org/kwi
   ||n/406b70b04e093c13faf763e2d
   ||885797ae037d806

--- Comment #8 from Vlad Zagorodniy  ---
Git commit 406b70b04e093c13faf763e2d885797ae037d806 by Vlad Zagorodniy.
Committed on 13/11/2018 at 08:28.
Pushed by vladz into branch 'Plasma/5.14'.

[wayland] Don't crash when resizing windows

Summary:
If you resize a decorated client by using the resize user action(press
Alt + F3 > More Actions > Resize), then KWin will crash because it gets
stuck in an infinite loop (AbstractClient::performMoveResize <->
ShellClient::setGeometry).

Here's how KWin gets stuck in that loop:
* when you finish resizing the client, AbstractClient::keyPressEvent
  will call AbstractClient::finishMoveResize;
* the first thing that finishMoveResize does is block geometry updates,
  then it does some clean up (e.g. reset the value of isMoveResize(), etc),
  updates the geometry of the client and when it's done, it will emit
  clientFinishUserMoveResized signal;
* when PointerInputRedirection notices that signal, it will call
  processDecorationMove on the client, which in its turn will indirectly
  call AbstractClient::startMoveResize;
* when it's time to go back to AbstractClient::keyPressEvent, geometry
  updates are unblocked and if there are any pending geometry updates,
  then ShellClient::setGeometry will be called;
* ShellClient::setGeometry will eventually call ShellClient::doSetGeometry;
* ShellClient::doSetGeometry will call AbstractClient::performMoveResize
  because AbstractClient::processDecorationMove indirectly called
  AbstractClient::startMoveResize;
* AbstractClient::performMoveResize calls ShellClient::setGeometry;
* (at this point, KWin got stuck in the infinite loop)

This change swaps setMoveResizePointerButtonDown and finishMoveResize,
so processDecorationMove won't indirectly call startMoveResize.
FIXED-IN: 5.14.4

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

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

M  +2-2abstract_client.cpp

https://commits.kde.org/kwin/406b70b04e093c13faf763e2d885797ae037d806

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-11-12 Thread Nate Graham
https://bugs.kde.org/show_bug.cgi?id=397577

Nate Graham  changed:

   What|Removed |Added

 CC||n...@kde.org

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-11-03 Thread Patrick Silva
https://bugs.kde.org/show_bug.cgi?id=397577

Patrick Silva  changed:

   What|Removed |Added

   Severity|normal  |crash

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-11-03 Thread Vlad Zagorodniy
https://bugs.kde.org/show_bug.cgi?id=397577

Vlad Zagorodniy  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|REPORTED|CONFIRMED

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-10-26 Thread Patrick Silva
https://bugs.kde.org/show_bug.cgi?id=397577

--- Comment #7 from Patrick Silva  ---
Crash is still reproducible.

activate window resizing mode
move cursor to decrease the window size
press enter to apply the new window size
crash

Operating System: Arch Linux 
KDE Plasma Version: 5.14.2
Qt Version: 5.12.0 beta3
KDE Frameworks Version: 5.51.0

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-10-10 Thread Alexander Mentyu
https://bugs.kde.org/show_bug.cgi?id=397577

--- Comment #6 from Alexander Mentyu  ---
I set it in Global Shortcuts -> KWin -> Resize Window. Maybe it could be
default for KWin in next releases?

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-10-10 Thread David Edmundson
https://bugs.kde.org/show_bug.cgi?id=397577

David Edmundson  changed:

   What|Removed |Added

 CC||k...@davidedmundson.co.uk

--- Comment #5 from David Edmundson  ---
There is no default meta+R shortcut. Can you confirm what that shortcut is
bound to?

>From the trace I would assume it's some kwin script.

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-09-14 Thread Dr . Chapatin
https://bugs.kde.org/show_bug.cgi?id=397577

--- Comment #4 from Dr. Chapatin  ---
crash reproducible in plasma 5.14 beta on Arch Linux.

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-08-24 Thread Dr . Chapatin
https://bugs.kde.org/show_bug.cgi?id=397577

Dr. Chapatin  changed:

   What|Removed |Added

 CC||bugsefor...@gmx.com

--- Comment #3 from Dr. Chapatin  ---
I do not use meta+r shortcut but I can reproduce the crash on neon dev
unstable.
Is this backtrace helpful?

aThread 9 (Thread 3764.3789):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x7f57edb87de4 in QTWTF::TCMalloc_PageHeap::scavengerThread (
this=0x7f57ede6dee0 )
at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x7f57edb87e29 in QTWTF::TCMalloc_PageHeap::runScavengerThread
(context=)
at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x7f57f01916ba in start_thread (arg=0x7f57a9985700) at
pthread_create.c:333
#4  0x7f57ee4e841d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 3764.3787):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x7f57eedfe5cb in QWaitConditionPrivate::wait
(time=18446744073709551615, this=0x2c8b650)
at thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=this@entry=0x2c8b420,
mutex=mutex@entry=0x2c8b418, 
time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x7f57b2d8603a in FileInfoThread::run (this=0x2c8b408) at
fileinfothread.cpp:227
#4  0x7f57eedfd727 in QThreadPrivate::start (arg=0x2c8b408) at
thread/qthread_unix.cpp:367
#5  0x7f57f01916ba in start_thread (arg=0x7f57aa987700) at
pthread_create.c:333
#6  0x7f57ee4e841d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 3764.3786):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x7f57eedf0fa4 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0,
val=, op=0, 
addr=) at thread/qfutex_p.h:92
#2  QtLinuxFutex::futexWait >
(expectedValue=, futex=...)
---Type  to continue, or q  to quit---
at thread/qfutex_p.h:107
#3  futexSemaphoreTryAcquire_loop (timeout=-1, nn=8589934593,
curValue=, u=...)
at thread/qsemaphore.cpp:221
#4  futexSemaphoreTryAcquire (timeout=-1, n=1, u=...) at
thread/qsemaphore.cpp:264
#5  QSemaphore::acquire (this=this@entry=0x2cd7858, n=n@entry=1) at
thread/qsemaphore.cpp:328
#6  0x7f57d554de2a in QtVirtualKeyboard::HunspellWorker::run
(this=0x2cd7840) at hunspellworker.cpp:293
#7  0x7f57eedfd727 in QThreadPrivate::start (arg=0x2cd7840) at
thread/qthread_unix.cpp:367
#8  0x7f57f01916ba in start_thread (arg=0x7f57b2d79700) at
pthread_create.c:333
#9  0x7f57ee4e841d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 3764.3785):
#0  0x7f57ee4dc74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x7f57e575c38c in g_main_context_poll (priority=2147483647, n_fds=1,
fds=0x7f57b8002c70, 
timeout=, context=0x7f57b8000990)
at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2  g_main_context_iterate (context=context@entry=0x7f57b8000990,
block=block@entry=1, 
dispatch=dispatch@entry=1, self=)
at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x7f57e575c49c in g_main_context_iteration (context=0x7f57b8000990,
may_block=may_block@entry=1)
at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x7f57ef01609f in QEventDispatcherGlib::processEvents
(this=0x7f57b80008c0, flags=...)
at kernel/qeventdispatcher_glib.cpp:423
#5  0x7f57eefbd5ba in QEventLoop::exec (this=this@entry=0x7f57c4b14c50,
flags=..., flags@entry=...)
at kernel/qeventloop.cpp:214
#6  0x7f57eedf25e4 in QThread::exec (this=this@entry=0x2c0cf10) at
thread/qthread.cpp:525
#7  0x7f57e97a5195 in QQmlThreadPrivate::run (this=0x2c0cf10) at
qml/ftw/qqmlthread.cpp:148
#8  0x7f57eedfd727 in QThreadPrivate::start (arg=0x2c0cf10) at
thread/qthread_unix.cpp:367
---Type  to continue, or q  to quit---
#9  0x7f57f01916ba in start_thread (arg=0x7f57c4b15700) at
pthread_create.c:333
#10 0x7f57ee4e841d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 3764.3782):
#0  0x7f57ee4dc74d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x7f57e575c38c in g_main_context_poll (priority=2147483647, n_fds=1,
fds=0x7f57b4003070, 
timeout=, context=0x7f57b4000990)
at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:4135
#2  g_main_context_iterate (context=context@entry=0x7f57b4000990,
block=block@entry=1, 
dispatch=dispatch@entry=1, self=)
at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3835
#3  0x7f57e575c49c in g_main_context_iteration (context=0x7f57b4000990,
may_block=may_block@entry=1)
at /build/glib2.0-b4FPyK/glib2.0-2.48.2/./glib/gmain.c:3901
#4  0x7f57ef0160bb in QEventDispatcherGlib::processEvents

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-08-24 Thread Alexander Mentyu
https://bugs.kde.org/show_bug.cgi?id=397577

--- Comment #2 from Alexander Mentyu  ---
Thread 14 (Thread 0x7fb221ffb700 (LWP 7060)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x7fb29141a5cb in QWaitConditionPrivate::wait
(time=18446744073709551615, this=0x5ad9380) at
thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=, mutex=0x2532ca0,
time=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x7fb25d59b78f in
ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*,
bool, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x7fb25d59f868 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#7  0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#8  0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#9  0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#10 0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#11 0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#12 0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#13 0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
---Type  to continue, or q  to quit---
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#14 0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#15 0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#16 0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#17 0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#18 0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#19 0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#20 0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#21 0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#22 0x7fb25d59d3e0 in ThreadWeaver::Thread::run() () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#23 0x7fb291419727 in QThreadPrivate::start (arg=0x7fb210003190) at
thread/qthread_unix.cpp:367
#24 0x7fb28e2206ba in start_thread (arg=0x7fb221ffb700) at
pthread_create.c:333
#25 0x7fb290d2641d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fb2227fc700 (LWP 7059)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x7fb29141a5cb in QWaitConditionPrivate::wait
(time=18446744073709551615, this=0x5ad9380) at
thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=, mutex=0x2532ca0,
time=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x7fb25d59b78f in
ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*,
bool, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x7fb25d59f868 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#7  0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#8  0x7fb25d59f8c2 in ?? () from
/usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#9  0x7fb25d59a9ed in
ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5>

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

[kwin] [Bug 397577] Plasma crashing after window resizing with Meta+R shortcut and pressing Enter on Wayland

2018-08-18 Thread Martin Flöser
https://bugs.kde.org/show_bug.cgi?id=397577

--- Comment #1 from Martin Flöser  ---
Best is to ssh in from another system and attach gdb to KWin.

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