<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - XWayland crashes during startup if output data is received"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=95337#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - XWayland crashes during startup if output data is received"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=95337">bug 95337</a>
              from <span class="vcard"><a class="email" href="mailto:fourdan@xfce.org" title="Olivier Fourdan <fourdan@xfce.org>"> <span class="fn">Olivier Fourdan</span></a>
</span></b>
        <pre>(In reply to Jonas Ã…dahl from <a href="show_bug.cgi?id=95337#c2">comment #2</a>)
<span class="quote">> [...]
> I think that if we don't roundtrip here, we might end up in a situation
> where various places expects to be able to know things about wl_seat's etc,
> that'd now start to crash if we loose the race against the wl_seat global
> being discovered.</span >

I don't experience any crash with this patch applied, neither with mutter which
spawns Xwayland at startup as it (still) relies on X, i.e. very early, nor with
weston which spawns it when needed (ie with all outputs and seats set-up).

<span class="quote">> AFAICS InitInput() is done after InitOutput() which is where xwl_screen_init
> and the first roundtrips are done.</span >

You're right, of course, but the problem is not much xwl_screen_init() but the
X ConnectionInfo (as reported in <a href="show_bug.cgi?id=95337#c0">comment #0</a>) that gets initialized after
InitInput is called in dix.

It goes like this:

  xwl_screen_init()
  InitInput()
  ConnectionInfo initialized

So if the roundtrip in InitInput() trigger something that needs to use the X
connection (as with RR in the backtrace), it will crash.

Meanwhile, ajax picked up the patch from the ML and pushed it, so it's landed
in master (I did send the patch to the devel ML in parallel as this is where
patches get discussed for xorg rather than bugzilla).

But I am not convinced this patch would cause more bad that good, initializing
xwl_screen->expecting_event to 0 twice at two different places doesn't sound
right and doing the rountrip before X connection is likely to cause breakage as
well, as seen in <a href="show_bug.cgi?id=95337#c0">comment #0</a>.

Let's keep that bug opened and see if we get some more feedback (either here or
on the xorg-devel ML), meanwhile please test master with different compositors
and use cases and let's see if this a real problem.

(In reply to Pekka Paalanen from <a href="show_bug.cgi?id=95337#c3">comment #3</a>)
<span class="quote">> Mind, wl_seats can come and go dynamically, and it is not guaranteed to have
> at least one at all times. So, working without any seat would sound like a
> good idea to me.

> The same goes for outputs, and will likely be testable on Weston once
> Armin's GSoC project is near finishing.</span >

Yes, probably, but I reckon outputs are a different issue than this particular
crash.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>