New issue
Advanced search Search tips

Issue 753884 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

mustash: Ozone X11 not getting initialized in single process mode

Project Member Reported by kylec...@chromium.org, Aug 9 2017

Issue description

When running mus/mash Ozone X11 is no longer getting initialized in single process mode. This means that XInitThreads isn't called at the correct time and that can cause all kinds of X server errors / weird chrome crashes. This would also cause problems with service tests that use service:ui.

The root cause is that Ozone X11 was looking for --mojo-platform-channel-handle in the command line to tell if we were running in mus mode which is no longer used.

I'll make sure we set OzoneInit::single_process correctly for mus/mash in the WS and viz.
 
If this is impacting anyone else running mus/mash I can land a quick patch to fix it. Otherwise getting the GPU to initialize Ozone in single process mode for mus is a bit more complicated and won't be finished today.
A quick patch could help isolate if this is a contributing factor to some of the mash_browser_test timeouts
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0

commit b3703d41c568f09f0747b76daf6f5e8ce76ee5a0
Author: kylechar <kylechar@chromium.org>
Date: Thu Aug 10 20:46:34 2017

mus/mash initializes Ozone single-process correctly.

Both mus-ws and viz services run in the same process. Ozone X11 was
looking for --mojo-platform-channel-handle to know it was running in
mus/mash mode and should assume single-process mode. That flag no longer
appears and Ozone X11 now starts in multi-process mode. This means
XInitThreads() isn't called and weird X errors / crashes will occur.

This CL fixes how we set InitParams::single_process flag when starting
Ozone.
1. ui::Service::OnStart() is always single-process.
2. GPU initialization from viz GpuMain is always single process.
3. GPU initialization from content GpuMain is always multi-process,
   there is another path for single-process from content.
4. Add checks for --single-process and --in-process-gpu in aura::Env.

Also fix Ozone DRM. There is current only a single-process mojo mode, so
make sure that if |using_mojo_| then |single_process_| is also true.

Bug:  753884 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I420a5765cc840b3b7a7a1d65a3837afc036d5827
Reviewed-on: https://chromium-review.googlesource.com/610380
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493531}
[modify] https://crrev.com/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0/content/gpu/gpu_main.cc
[modify] https://crrev.com/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0/gpu/ipc/service/gpu_init.h
[modify] https://crrev.com/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0/services/ui/gpu/gpu_main.cc
[modify] https://crrev.com/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0/services/ui/service.cc
[modify] https://crrev.com/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0/ui/aura/env.cc
[modify] https://crrev.com/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0/ui/ozone/platform/drm/ozone_platform_gbm.cc
[modify] https://crrev.com/b3703d41c568f09f0747b76daf6f5e8ce76ee5a0/ui/ozone/platform/x11/ozone_platform_x11.cc

Components: MUS
Status: Fixed (was: Assigned)

Comment 6 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)
Components: -MUS Internals>Services>WindowService

Sign in to add a comment