Chrome 54 not running properly on Citrix |
|||||||||||||
Issue descriptionSince the v54 update, Chrome published via Citrix XenApp (via Microsoft RDS) launches for a brief second and then closes on its own. The issue appears to be related to the --allow-no-sandbox-job switch. Here is the command line being published: C:\Progra~2\Google\Chrome\Application\chrome.exe "https://anyWebsiteAddress.com" --allow-no-sandbox-job --disable-gpu Changing the syntax to --no-sandbox does work but it also displays a message across the top of the browser "You are using an unsupported command-line flag" --no-sandbox. Stability and security will suffer."
,
Oct 25 2016
Hello, I can confirm this issue with RDS, where Chrome is launched as a RemoteApp in the same fashion as reported here. Two RDS servers are involved, both running Windows Server 2008 r2. I appended the --enable-logging flag but the resulting chrome_debug.log file is empty for the user account I launched Chrome with. Using --no-sandbox gets around the issue. Launching Chrome from the system console at the desktop normally does not yield the issue, either.
,
Oct 25 2016
Adding some of the owners of the win sandbox in case they have some guesses what might have changed since 53 that would cause this.
,
Oct 25 2016
We were able to reproduce this on win2008r2 with Chrome as a remote app in TS. More to come...
,
Oct 25 2016
I am guessing we may need to re spin M54 after a fix.
,
Oct 25 2016
Which version of Citrix are you running? We are aware of incompatibilities between older, unsupported, versions of Citrix and the Chrome sandbox.
,
Oct 26 2016
I can confirm that the issue occurs with XenApp 6.5 Hotfix Rollup 6. Chrome Version 54.0.2840.71 m. Our workaround has been to use --no-sandbox.
,
Oct 26 2016
+jbauman author of the suspect CL (he is ooo till 11/6 though) I could reproduce the issue on master and also could identify the problem being this CL: https://codereview.chromium.org/2316333003 - Fix sandbox::PolicyBase leak. It causes the main browser process to crash with a access violation in SharedMemIPCServer::ThreadPingEventReady when the browser is running outside of a job. I am currently looking if a small fix is possible or whether we should consider reverting the CL first and looking for a better solution later.
,
Oct 26 2016
After analyzing the CL and debugging the well behaving codepath vs. the failing one I figured out the issue. When there is a job for the process which is always the case except when Chrome is running in a RDP session on a pre 2012 Windows server (Citrix or TS doesn't matter) we will create a JobTracker object for it which has a scoped_refptr for the PolicyBase oject. This happens in BrokerServicesBase::SpawnTarget which in turn gets put in a tracker_list_ in the BrockerServiceBase object. This gives one more reference to the policy object and keeps it alive. However if the job is not created then the JobTracker isn't either and therefore the policy object ref counter goes to 0 and the object is destroyed. My suggested course of action is to revert this CL on master and then on the release branch to avoid introducing new bugs. Reverting the CL is possible even on trunk with little manual work (kdiff3 managed to resolve all merge conflicts on ToT for me automatically after git revert). Then we can figure on master if we want to have the JobTracker object always created even if there is no job or fix the lifetime of the PolicyBase object in another way. M54 TPMs and sandbox owners what do you think?
,
Oct 26 2016
I would prefer reverting the patch in trunk as well and in release branch. Would like Anantha/ Richard to make the final call. Matt: Will it be possible for your team to verify the fix in case of a revert?
,
Oct 26 2016
I think we should revert on trunk and merge the CL.
,
Oct 26 2016
we should also add tests for this. I thought we already tested --no-sandbox-job but perhaps we are missing some coverage.
,
Oct 26 2016
Will, would you mind reverting the patch?I am not able to contact pastarmovj@ at this moment.
,
Oct 26 2016
Hey, I am here. I will do the revert now.
,
Oct 26 2016
We can verify the fix and 100% agree that we should add tests for this :)
,
Oct 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f commit 2bfe4d60b683f05eb7fcb96f9a65d8279923f13f Author: pastarmovj <pastarmovj@chromium.org> Date: Wed Oct 26 21:29:14 2016 Revert "Fix sandbox::PolicyBase leak" This reverts commit b6a4ff86c730756a73d63cc882ef818fb7818a53 because it breaks Chrome when running as a published app on Windows Terminal Services or Citrix XenApp. Original issue's description: > Fix sandbox::PolicyBase leak > > StartSandboxedProcess was missing a Release call, so this was always > leaking. Use scoped_refptr instead to fix that and prevent it from > happening in the future. > TBR=piman@chromium.org > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng > > Committed: https://crrev.com/b6a4ff86c730756a73d63cc882ef818fb7818a53 > Cr-Commit-Position: refs/heads/master@{#417313} BUG= 659026 TBR=wfh@chromium.org,cpu@chromium.org,jbauman@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng Review-Url: https://codereview.chromium.org/2456573002 Cr-Commit-Position: refs/heads/master@{#427808} [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/content/common/sandbox_init_win.cc [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/content/common/sandbox_win.cc [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/sandbox/win/sandbox_poc/main_ui_window.cc [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/sandbox/win/src/broker_services.cc [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/sandbox/win/src/broker_services.h [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/sandbox/win/src/policy_target_test.cc [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/sandbox/win/src/sandbox.h [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/sandbox/win/tests/common/controller.cc [modify] https://crrev.com/2bfe4d60b683f05eb7fcb96f9a65d8279923f13f/sandbox/win/tests/common/controller.h
,
Oct 26 2016
,
Oct 26 2016
Approved for merging into M54
,
Oct 26 2016
Hi Richard, Can you share when the next 54 build will be available? I know many customers are stuck waiting, so I'd rather set their expectations now if possible.
,
Oct 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/94ee730b26ee227a4696b0f28d958f2a8fd43e5b commit 94ee730b26ee227a4696b0f28d958f2a8fd43e5b Author: Julian Pastarmov <pastarmovj@chromium.org> Date: Wed Oct 26 21:45:50 2016 Revert "Fix sandbox::PolicyBase leak" This reverts commit b6a4ff86c730756a73d63cc882ef818fb7818a53 because it breaks Chrome when running as a published app on Windows Terminal Services or Citrix XenApp. Original issue's description: > Fix sandbox::PolicyBase leak > > StartSandboxedProcess was missing a Release call, so this was always > leaking. Use scoped_refptr instead to fix that and prevent it from > happening in the future. > TBR=piman@chromium.org > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng > > Committed: https://crrev.com/b6a4ff86c730756a73d63cc882ef818fb7818a53 > Cr-Commit-Position: refs/heads/master@{#417313} BUG= 659026 TBR=wfh@chromium.org,cpu@chromium.org,jbauman@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng Review-Url: https://codereview.chromium.org/2456573002 Cr-Commit-Position: refs/heads/master@{#427808} (cherry picked from commit 2bfe4d60b683f05eb7fcb96f9a65d8279923f13f) Review URL: https://codereview.chromium.org/2453063003 . Cr-Commit-Position: refs/branch-heads/2840@{#780} Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607} [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/content/common/sandbox_init_win.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/content/common/sandbox_win.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/sandbox_poc/main_ui_window.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/src/broker_services.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/src/broker_services.h [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/src/policy_target_test.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/src/sandbox.h [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/tests/common/controller.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/tests/common/controller.h
,
Oct 26 2016
Marking fixed now that the CL has landed on master and 54. I will mark it verified after testing it tomorrow. We can then think about merging to 55 as well. Thanks everyone for helping resolve this so quickly! :)
,
Oct 26 2016
PS. A post-mortem on this one is certainly needed too.
,
Oct 27 2016
Re: #19 we're testing a build tonight with the fix, I'd estimate tomorrow 10/27 or friday 10/28 for the new stable to be available.
,
Oct 27 2016
Does this require a merge to M55? If yes, please request a merge to M55 ASAP. Thank you.
,
Oct 27 2016
I just verified the fix on 54.0.2480.80 and it works as expected! Therefore requesting merge to 55 as well.
,
Oct 27 2016
Approving merge to M55 branch 2883 based on comment #25. Please merge ASAP. Thank you.
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cfc155174ad04bc706b8b2a7a883583bdc219e9c commit cfc155174ad04bc706b8b2a7a883583bdc219e9c Author: Julian Pastarmov <pastarmovj@chromium.org> Date: Thu Oct 27 16:07:08 2016 Revert "Fix sandbox::PolicyBase leak" This reverts commit b6a4ff86c730756a73d63cc882ef818fb7818a53 because it breaks Chrome when running as a published app on Windows Terminal Services or Citrix XenApp. Original issue's description: > Fix sandbox::PolicyBase leak > > StartSandboxedProcess was missing a Release call, so this was always > leaking. Use scoped_refptr instead to fix that and prevent it from > happening in the future. > TBR=piman@chromium.org > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng > > Committed: https://crrev.com/b6a4ff86c730756a73d63cc882ef818fb7818a53 > Cr-Commit-Position: refs/heads/master@{#417313} BUG= 659026 TBR=wfh@chromium.org,cpu@chromium.org,jbauman@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng Review-Url: https://codereview.chromium.org/2456573002 Cr-Commit-Position: refs/heads/master@{#427808} (cherry picked from commit 2bfe4d60b683f05eb7fcb96f9a65d8279923f13f) Review URL: https://codereview.chromium.org/2456063002 . Cr-Commit-Position: refs/branch-heads/2883@{#334} Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768} [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/content/common/sandbox_init_win.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/content/common/sandbox_win.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/sandbox_poc/main_ui_window.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/src/broker_services.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/src/broker_services.h [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/src/policy_target_test.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/src/sandbox.h [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/tests/common/controller.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/tests/common/controller.h
,
Oct 27 2016
Issue 656999 has been merged into this issue.
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cfc155174ad04bc706b8b2a7a883583bdc219e9c commit cfc155174ad04bc706b8b2a7a883583bdc219e9c Author: Julian Pastarmov <pastarmovj@chromium.org> Date: Thu Oct 27 16:07:08 2016 Revert "Fix sandbox::PolicyBase leak" This reverts commit b6a4ff86c730756a73d63cc882ef818fb7818a53 because it breaks Chrome when running as a published app on Windows Terminal Services or Citrix XenApp. Original issue's description: > Fix sandbox::PolicyBase leak > > StartSandboxedProcess was missing a Release call, so this was always > leaking. Use scoped_refptr instead to fix that and prevent it from > happening in the future. > TBR=piman@chromium.org > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng > > Committed: https://crrev.com/b6a4ff86c730756a73d63cc882ef818fb7818a53 > Cr-Commit-Position: refs/heads/master@{#417313} BUG= 659026 TBR=wfh@chromium.org,cpu@chromium.org,jbauman@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng Review-Url: https://codereview.chromium.org/2456573002 Cr-Commit-Position: refs/heads/master@{#427808} (cherry picked from commit 2bfe4d60b683f05eb7fcb96f9a65d8279923f13f) Review URL: https://codereview.chromium.org/2456063002 . Cr-Commit-Position: refs/branch-heads/2883@{#334} Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768} [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/content/common/sandbox_init_win.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/content/common/sandbox_win.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/sandbox_poc/main_ui_window.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/src/broker_services.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/src/broker_services.h [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/src/policy_target_test.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/src/sandbox.h [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/tests/common/controller.cc [modify] https://crrev.com/cfc155174ad04bc706b8b2a7a883583bdc219e9c/sandbox/win/tests/common/controller.h
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/94ee730b26ee227a4696b0f28d958f2a8fd43e5b commit 94ee730b26ee227a4696b0f28d958f2a8fd43e5b Author: Julian Pastarmov <pastarmovj@chromium.org> Date: Wed Oct 26 21:45:50 2016 Revert "Fix sandbox::PolicyBase leak" This reverts commit b6a4ff86c730756a73d63cc882ef818fb7818a53 because it breaks Chrome when running as a published app on Windows Terminal Services or Citrix XenApp. Original issue's description: > Fix sandbox::PolicyBase leak > > StartSandboxedProcess was missing a Release call, so this was always > leaking. Use scoped_refptr instead to fix that and prevent it from > happening in the future. > TBR=piman@chromium.org > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng > > Committed: https://crrev.com/b6a4ff86c730756a73d63cc882ef818fb7818a53 > Cr-Commit-Position: refs/heads/master@{#417313} BUG= 659026 TBR=wfh@chromium.org,cpu@chromium.org,jbauman@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng Review-Url: https://codereview.chromium.org/2456573002 Cr-Commit-Position: refs/heads/master@{#427808} (cherry picked from commit 2bfe4d60b683f05eb7fcb96f9a65d8279923f13f) Review URL: https://codereview.chromium.org/2453063003 . Cr-Commit-Position: refs/branch-heads/2840@{#780} Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607} [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/content/common/sandbox_init_win.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/content/common/sandbox_win.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/sandbox_poc/main_ui_window.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/src/broker_services.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/src/broker_services.h [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/src/policy_target_test.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/src/sandbox.h [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/tests/common/controller.cc [modify] https://crrev.com/94ee730b26ee227a4696b0f28d958f2a8fd43e5b/sandbox/win/tests/common/controller.h
,
Oct 31 2016
,
Nov 7 2016
Apparently our code in TargetProcess::~TargetProcess to deal with the case where the child process outlives the job object is also not working as intended.
,
Nov 9 2016
|
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by pastarmovj@chromium.org
, Oct 25 2016