New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 741926 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Test DirectX support in a separate process

Project Member Reported by jamiewa...@chromium.org, Jul 12 2017

Issue description

We are seeing quite a few crashes in third party when querying the DirectX APIs for capturer support. We should run that test in a separate process and fall back on GDI if it crashes so that this doesn't impact users.
 
Issue 731932 has been merged into this issue.
Issue 731924 has been merged into this issue.
Issue 731918 has been merged into this issue.
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 17 2017

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

commit e9d42a32a1424f30b5a9262f6a023c92c7367419
Author: Zijie He <zijiehe@google.com>
Date: Mon Jul 17 20:37:55 2017

Add GetAppOutputWithExitCode for Windows

GetAppOutputWithExitCode() is implemented for Windows, but not exposed.

Bug:  741926 
Change-Id: Ib0518a8c6b28bc0946e6e820756e264d13028312
Reviewed-on: https://chromium-review.googlesource.com/571239
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487230}
[modify] https://crrev.com/e9d42a32a1424f30b5a9262f6a023c92c7367419/base/BUILD.gn
[modify] https://crrev.com/e9d42a32a1424f30b5a9262f6a023c92c7367419/base/process/launch.h
[add] https://crrev.com/e9d42a32a1424f30b5a9262f6a023c92c7367419/base/process/launch_unittest_win.cc
[modify] https://crrev.com/e9d42a32a1424f30b5a9262f6a023c92c7367419/base/process/launch_win.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 27 2017

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

commit 62d230808fcd5c92db013b59620ae52c36bd35d0
Author: Zijie He <zijiehe@google.com>
Date: Thu Jul 27 23:42:22 2017

Implement EvaluateCapability and its tests

This change adds --type=evaluate_capability command line parameter to execute
host binary in "evaluate capability" mode. Meanwhile a helper function
int EvaluateCapabilityForkedly() has been added to execute the host binary to
evaluate certain functionality, and retrieves its output.

Return value is too simple for the evaluation, e.g. for DirectX capturer, both
initialization result and DirectX version are required. To make it simple, in a
coming change, we can directly output the host attributes regarding to the
DirectX capturer into console, so the network process needs not to execute any
DirectX related logic.

Bug:  741926 
Change-Id: Ief06bed7b9297318bd387106108eccd02180e066
Reviewed-on: https://chromium-review.googlesource.com/575730
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490121}
[modify] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/BUILD.gn
[modify] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/daemon_process_win.cc
[modify] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/desktop_session_win.cc
[add] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/evaluate_capability.cc
[add] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/evaluate_capability.h
[add] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/evaluate_capability_unittest.cc
[modify] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/host_main.cc
[modify] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/host_main.h
[modify] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/switches.cc
[modify] https://crrev.com/62d230808fcd5c92db013b59620ae52c36bd35d0/remoting/host/switches.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 28 2017

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

commit efcdd07aa24562d73e7dae45a29d0f5505fdfff3
Author: meade_UTC10 <meade@chromium.org>
Date: Fri Jul 28 01:45:52 2017

Revert "Implement EvaluateCapability and its tests"

This reverts commit 62d230808fcd5c92db013b59620ae52c36bd35d0.

Reason for revert:
Caused failures on various mac builders. See  http://crbug.com/749913 

Original change's description:
> Implement EvaluateCapability and its tests
> 
> This change adds --type=evaluate_capability command line parameter to execute
> host binary in "evaluate capability" mode. Meanwhile a helper function
> int EvaluateCapabilityForkedly() has been added to execute the host binary to
> evaluate certain functionality, and retrieves its output.
> 
> Return value is too simple for the evaluation, e.g. for DirectX capturer, both
> initialization result and DirectX version are required. To make it simple, in a
> coming change, we can directly output the host attributes regarding to the
> DirectX capturer into console, so the network process needs not to execute any
> DirectX related logic.
> 
> Bug:  741926 
> Change-Id: Ief06bed7b9297318bd387106108eccd02180e066
> Reviewed-on: https://chromium-review.googlesource.com/575730
> Commit-Queue: Zijie He <zijiehe@chromium.org>
> Reviewed-by: Joe Downing <joedow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490121}

TBR=joedow@chromium.org,zijiehe@chromium.org

Change-Id: I386a908069e208db29af8be579efbf11903d9aa0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  741926 ,  749913 
Reviewed-on: https://chromium-review.googlesource.com/590909
Reviewed-by: meade_UTC10 <meade@chromium.org>
Commit-Queue: meade_UTC10 <meade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490189}
[modify] https://crrev.com/efcdd07aa24562d73e7dae45a29d0f5505fdfff3/remoting/host/BUILD.gn
[modify] https://crrev.com/efcdd07aa24562d73e7dae45a29d0f5505fdfff3/remoting/host/daemon_process_win.cc
[modify] https://crrev.com/efcdd07aa24562d73e7dae45a29d0f5505fdfff3/remoting/host/desktop_session_win.cc
[delete] https://crrev.com/6e2f0d649feb2fa9af693e20feade41df4dfd77c/remoting/host/evaluate_capability.cc
[delete] https://crrev.com/6e2f0d649feb2fa9af693e20feade41df4dfd77c/remoting/host/evaluate_capability.h
[delete] https://crrev.com/6e2f0d649feb2fa9af693e20feade41df4dfd77c/remoting/host/evaluate_capability_unittest.cc
[modify] https://crrev.com/efcdd07aa24562d73e7dae45a29d0f5505fdfff3/remoting/host/host_main.cc
[modify] https://crrev.com/efcdd07aa24562d73e7dae45a29d0f5505fdfff3/remoting/host/host_main.h
[modify] https://crrev.com/efcdd07aa24562d73e7dae45a29d0f5505fdfff3/remoting/host/switches.cc
[modify] https://crrev.com/efcdd07aa24562d73e7dae45a29d0f5505fdfff3/remoting/host/switches.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 30 2017

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

commit 9bb4149f543eea07742f7ca249899a4497fce9af
Author: Zijie He <zijiehe@google.com>
Date: Sun Jul 30 21:14:49 2017

Reland "Implement EvaluateCapability and its tests"

This is a reland of 62d230808fcd5c92db013b59620ae52c36bd35d0
Original change's description:
> Implement EvaluateCapability and its tests
>
> This change adds --type=evaluate_capability command line parameter to execute
> host binary in "evaluate capability" mode. Meanwhile a helper function
> int EvaluateCapabilityForkedly() has been added to execute the host binary to
> evaluate certain functionality, and retrieves its output.
>
> Return value is too simple for the evaluation, e.g. for DirectX capturer, both
> initialization result and DirectX version are required. To make it simple, in a
> coming change, we can directly output the host attributes regarding to the
> DirectX capturer into console, so the network process needs not to execute any
> DirectX related logic.
>
> Bug:  741926 
> Change-Id: Ief06bed7b9297318bd387106108eccd02180e066
> Reviewed-on: https://chromium-review.googlesource.com/575730
> Commit-Queue: Zijie He <zijiehe@chromium.org>
> Reviewed-by: Joe Downing <joedow@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#490121}

Bug:  741926 
Change-Id: I9b882afbc415613ecc3308e7e1b95806d0ae8051
TBR: joedow@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/592009
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490689}
[modify] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/BUILD.gn
[modify] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/daemon_process_win.cc
[modify] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/desktop_session_win.cc
[add] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/evaluate_capability.cc
[add] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/evaluate_capability.h
[add] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/evaluate_capability_unittest.cc
[modify] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/host_main.cc
[modify] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/host_main.h
[modify] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/switches.cc
[modify] https://crrev.com/9bb4149f543eea07742f7ca249899a4497fce9af/remoting/host/switches.h

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 2 2017

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

commit 12d3490b379c2c432b627f11015696aaa8c6350c
Author: Zijie He <zijiehe@google.com>
Date: Wed Aug 02 02:05:17 2017

Use EvaluateCapability() to execute D3D check

This change adds EvaluateD3D() function to evaluate the D3D capability of the
host, which is used by HostAttributes. If the binary crashes, or DXGI components
cannot be initialized, No-DirectX-Capturer will be added to the host attributes.
So client can decide to let the host opt-out the experiment.

Bug:  741926 
Change-Id: I48f842790b6e016efa541ab767b12d4d0e67edb6
Reviewed-on: https://chromium-review.googlesource.com/592996
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491215}
[modify] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/desktop_environment_options.cc
[modify] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/evaluate_capability.cc
[modify] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/host_attributes.cc
[modify] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/host_attributes.h
[modify] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/host_attributes_unittest.cc
[modify] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/switches.cc
[modify] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/switches.h
[modify] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/win/BUILD.gn
[add] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/win/evaluate_d3d.cc
[add] https://crrev.com/12d3490b379c2c432b627f11015696aaa8c6350c/remoting/host/win/evaluate_d3d.h

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 16 2017

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

commit 53f7e9fc7182e323f6acc5af3cd587c83b63c557
Author: Zijie He <zijiehe@google.com>
Date: Wed Aug 16 21:42:18 2017

[Chromoting] Add capability_test_stub binary for unittests

This change adds a capability_test_stub binary which contains test related
functions. When EvaluateCapability() is called from remoting_unittests, instead
of remoting_host.exe, this binary will be used.

Bug:  chromium:741926 
Change-Id: I0f69b14608121ae01af52f654c6941fa962741ff
Reviewed-on: https://chromium-review.googlesource.com/604807
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494959}
[modify] https://crrev.com/53f7e9fc7182e323f6acc5af3cd587c83b63c557/remoting/host/BUILD.gn
[modify] https://crrev.com/53f7e9fc7182e323f6acc5af3cd587c83b63c557/remoting/host/evaluate_capability.cc
[modify] https://crrev.com/53f7e9fc7182e323f6acc5af3cd587c83b63c557/remoting/host/evaluate_capability_unittest.cc
[modify] https://crrev.com/53f7e9fc7182e323f6acc5af3cd587c83b63c557/remoting/host/host_attributes_unittest.cc
[modify] https://crrev.com/53f7e9fc7182e323f6acc5af3cd587c83b63c557/remoting/host/switches.cc
[modify] https://crrev.com/53f7e9fc7182e323f6acc5af3cd587c83b63c557/remoting/host/switches.h
[modify] https://crrev.com/53f7e9fc7182e323f6acc5af3cd587c83b63c557/remoting/test/BUILD.gn
[add] https://crrev.com/53f7e9fc7182e323f6acc5af3cd587c83b63c557/remoting/test/capability_test_stub_main.cc

Status: Fixed (was: Assigned)
Though there is one more issue (http://crbug.com/750330) left for isolated evaluation component in the host, changes needed by this issue have all been submitted.
After releasing, we should not see crashes in DirectX capturer anymore.

Sign in to add a comment