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

Issue 819981 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Renderer threads failed to be created with high priority

Project Member Reported by kehuangli@chromium.org, Mar 8 2018

Issue description

Chrome Version (from the about:version page):67.0.3365.0
Is this the most recent version:yes
OS + version:Linux 3.8.13
CPU architecture (32-bit / 64-bit):armv7l

What steps will reproduce the problem?
(1)Run cast shell with extra switch disable-web-security and feature allow_user_media_access.
(2)Cast a webpage that uses WebRTC to make VoIP call.
(3)Run the above two steps again with extra switch --no-zygote and --no-sandbox.

What is the expected result?
Two tries should have similar behavior, or no-sandbox one has slightly better performance.

What happens instead?
In sandboxed case, audio processing cannot be real time, while w/o sandbox it can. By printing out log info, it shows that the audio device threads that runs the processing failed to be set to REALTIME priority when sandboxes are enabled.

Please provide any additional information below. Attach a screenshot
and backtrace if possible.

For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.

 
Labels: Needs-Triage-M67
Components: Blink>WebRTC
Labels: Triaged-ET TE-NeedsTriageHelp
As this issue is related to Sandbox, adding 'TE-NeedsTriageHelp' label for further help in triaging this issue.

Thanks..

Comment 3 Deleted

Comment 4 by guidou@chromium.org, Mar 12 2018

Components: -Blink>WebRTC Blink>WebRTC>Audio

Comment 5 by gab@chromium.org, Mar 13 2018

Components: Internals>Sandbox
Cc: maxmorin@chromium.org
This sounds like wai. Max you've been looking at thread priorities, can you shed light on this?
As far as I know stock Linux doesn't allow ordinary users to raise priority at all, unrelated to sandboxing. On Linux machines with a special setup/special user allowing high-prio threads, maybe we can update the sandbox to allow the renderer to raise thread priorities as well? I don't know anything about how the sandbox works though.
Owner: wfh@chromium.org
Status: Assigned (was: Unconfirmed)
wfh@, can you comment on this? Is this wai?
User needs to manually modify /etc/security/limits.conf to have proper RLIMIT_NICE to have sandboxed thread can be created with the right priorities. On our platform, we don't have PAM and thus don't have limits.conf, so I used a helper binary to set proper RLIMIT_NICE and fork itself to launch chrome. Render threads inherit the RLIMIT_NICE and can have proper priority now. Not sure if it is designed to be work in such way. But this is no longer an urgent bug/request to me.

Comment 10 by wfh@chromium.org, Apr 20 2018

Cc: wfh@chromium.org
Owner: ----
Status: Available (was: Assigned)
sorry I don't know about linux sandboxing, but it sounds like from comment 9 that this might not be an issue any more.
Labels: -Pri-1 Pri-2
Changing Pri to 2 based on #9.

Sign in to add a comment