[PATCH weston 0/3] Stop the xwayland test from crashing weston

Derek Foreman derekf at osg.samsung.com
Tue Apr 7 10:12:12 PDT 2015

Currently a window appearing and disappearing quickly can trigger a race that
causes the xwayland test to fail.

The root cause of this is hash_table_lookup failing to find a window that's
already been deleted but is still receiving events.

I've changed how hash_table_lookup() works a little so we get warnings if we
don't properly pay attention to whether it found anything or not, and then
made every caller check if the return is valid.

I think pretty much any event could cause a crash if it happened on our frame
window soon enough after the client window was destroyed, so I'm not
sure if any of these new checks can sensibly log anything when they fail.

oh, and I fixed a messed up break; to early exit a for loop just cuz I was
in the neighbourhood...

Derek Foreman (3):
  xwm: fix extra break
  xwm: Make hash_table_lookup use an output parameter
  xwm: Test hash_table_lookup() returns

 xwayland/hash.c           |  15 ++++---
 xwayland/hash.h           |   6 ++-
 xwayland/window-manager.c | 110 ++++++++++++++++++++++++++++++++--------------
 3 files changed, 91 insertions(+), 40 deletions(-)


More information about the wayland-devel mailing list