[webkit-changes] [WebKit/WebKit] 971943: [GLib] Process launching hangs if xdg-dbus-proxy i...

Michael Catanzaro noreply at github.com
Fri Aug 18 06:23:42 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 971943d9b665ace53705eb78bfd31887b9a08eee
      https://github.com/WebKit/WebKit/commit/971943d9b665ace53705eb78bfd31887b9a08eee
  Author: Michael Catanzaro <mcatanzaro at redhat.com>
  Date:   2023-08-18 (Fri, 18 Aug 2023)

  Changed paths:
    M Source/WebKit/UIProcess/Launcher/glib/XDGDBusProxy.cpp

  Log Message:
  -----------
  [GLib] Process launching hangs if xdg-dbus-proxy is not installed
https://bugs.webkit.org/show_bug.cgi?id=257905

Reviewed by Carlos Garcia Campos.

Currently if xdg-dbus-proxy is not installed or if it fails to start for
any reason, then after attempting to run it under bwrap, we do a
blocking read() and hang forever waiting for it to respond to us.
Instead, let's simultaneously do an async read while also checking to
see if the subprocess has quit. If it fails to spawn, then we can crash
properly rather than just hang.

Although I have *technically* removed the synchronous I/O, we still need
to block here, so the spirit of the FIXME that hopes to avoid blocking
is not satisfied. Nevertheless, I don't see a realistic path to avoid
blocking, so I'm going to remove the FIXME anyway.

* Source/WebKit/UIProcess/Launcher/glib/XDGDBusProxy.cpp:
(WebKit::waitUntilSyncedOrDie):
(WebKit::XDGDBusProxy::launch):

Canonical link: https://commits.webkit.org/267038@main




More information about the webkit-changes mailing list