Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(5)

Issue 1542013005: Add a new driver bug workaround SANDBOX_START_EARLY

Created:
3 years, 5 months ago by Julien Isorce Samsung
Modified:
2 years, 8 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add a new driver bug workaround SANDBOX_START_EARLY It is usefull for drivers that create threads so that it requires to start the sandbox first. It is not really a bug but it fits with workarounds. This CL also add a json entry for llvmpipe driver from Mesa to enable this new driver bug woraround. A new json entry could be added for Mali driver. According to gpu_main.cc this driver creates threads. BUG=264818 R=jam@chromium.org, kbr@chromium.org, mdempsky@chromium.org, piman@chromium.org, zmo@chromium.org TEST= GALLIUM_DRIVER=llvmpipe LIBGL_ALWAYS_SOFTWARE=1 CHROME_DEVEL_SANDBOX=out/Release/chrome_sandbox It prints: ERROR:sandbox_linux.cc(333)] InitializeSandbox() called with multiple threads in process gpu-process Review URL: CQ_INCLUDE_TRYBOTS=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

Patch Set 1 #

Patch Set 2 : Rebase and append kGpuSandboxStartEarly instead of parsing workarounds again #

Patch Set 3 : Add some draft code to discuss about generalizing EarlySandbox for gpu process #

Total comments: 2

Patch Set 4 : Move dlopen to bpf_gpu_policy_linux.cc #

Patch Set 5 : Rebase and add note about a possible way to retrieve dri directory #

Total comments: 1

Patch Set 6 : Properly detect dri driver dir using pkg-config and add GetNativeLibraryNamesFromGLImplementation #

Patch Set 7 : Add support for gn build #

Total comments: 2

Patch Set 8 : Rebase and fix gn build on Android #

Patch Set 9 : dot look for dri path when using CrosArmGpuProcessPolicy, i.e. if chromeos && arm #

Patch Set 10 : Rebase and do not turn on early sandbox when using testing gpu switches #

Patch Set 11 : Just rebase #

Patch Set 12 : Just rebase #

Total comments: 2

Patch Set 13 : Rebase and add os_version param to ApplyGpuDriverBugWorkarounds to fix 'uname' problem #

Patch Set 14 : Rebase and fixed build error due to a function that should not have been submitted #

Patch Set 15 : Rebase #

Patch Set 16 : Rebase and fix build error on osx #

Patch Set 17 : Fix build on osx #

Patch Set 18 : Rebase and remove gyp support #

Total comments: 1

Patch Set 19 : remove one include #

Patch Set 20 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+280 lines, -39 lines) Patch
M .gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -0 lines 0 comments Download
A build/config/linux/dri/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +16 lines, -0 lines 0 comments Download
M build/config/linux/pkg-config.py View 1 2 3 4 5 6 2 chunks +13 lines, -0 lines 0 comments Download
M content/browser/gpu/gpu_data_manager_impl_private.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +6 lines, -0 lines 0 comments Download
M content/common/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/sandbox_linux/bpf_gpu_policy_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +54 lines, -0 lines 0 comments Download
M content/test/content_test_suite.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/tests/gl_tests_main.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -1 line 0 comments Download
M gpu/config/gpu_driver_bug_list_json.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +13 lines, -1 line 0 comments Download
M gpu/config/gpu_driver_bug_workaround_type.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/config/gpu_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +3 lines, -3 lines 0 comments Download
M gpu/config/gpu_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +3 lines, -2 lines 0 comments Download
M gpu/config/gpu_util_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M gpu/gles2_conform_support/egl/thread_state.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -1 line 0 comments Download
M gpu/ipc/service/gpu_init.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +7 lines, -2 lines 0 comments Download
M ui/gl/gl_implementation.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +7 lines, -0 lines 0 comments Download
M ui/gl/gl_implementation.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +39 lines, -0 lines 0 comments Download
M ui/gl/init/gl_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +7 lines, -0 lines 0 comments Download
M ui/gl/init/gl_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +15 lines, -25 lines 0 comments Download
M ui/gl/init/gl_initializer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +8 lines, -0 lines 0 comments Download
M ui/gl/init/gl_initializer_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +25 lines, -2 lines 0 comments Download
M ui/gl/init/gl_initializer_ozone.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +10 lines, -0 lines 0 comments Download
M ui/gl/init/gl_initializer_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +8 lines, -0 lines 0 comments Download
M ui/gl/init/gl_initializer_x11.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +35 lines, -0 lines 0 comments Download

Messages

Total messages: 106 (48 generated)
Julien Isorce Samsung
Instead of a new gpu driver bug workaround, I know think it should just be ...
3 years, 1 month ago (2016-04-28 17:49:09 UTC) #1
piman
lgtm
3 years, 1 month ago (2016-04-28 23:49:56 UTC) #2
Julien Isorce Samsung
On 2016/04/28 23:49:56, piman OOO back 2016-5-2 wrote: > lgtm Actually I was wrong in ...
3 years, 1 month ago (2016-04-29 17:42:15 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1542013005/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1542013005/20001
3 years, 1 month ago (2016-04-30 07:48:08 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/221770)
3 years, 1 month ago (2016-04-30 09:08:53 UTC) #8
piman
On 2016/04/30 09:08:53, commit-bot: I haz the power wrote: > Dry run: Try jobs failed ...
3 years, 1 month ago (2016-05-02 20:26:44 UTC) #9
Ken Russell (switch to Gerrit)
On 2016/05/02 20:26:44, piman OOO back 2016-5-2 wrote: > On 2016/04/30 09:08:53, commit-bot: I haz ...
3 years, 1 month ago (2016-05-02 20:32:10 UTC) #10
Julien Isorce Samsung
On 2016/05/02 20:32:10, Ken Russell wrote: > On 2016/05/02 20:26:44, piman OOO back 2016-5-2 wrote: ...
3 years, 1 month ago (2016-05-03 16:10:46 UTC) #11
Ken Russell (switch to Gerrit)
On 2016/05/03 16:10:46, j.isorce wrote: > On 2016/05/02 20:32:10, Ken Russell wrote: > > On ...
3 years, 1 month ago (2016-05-03 16:52:52 UTC) #12
Julien Isorce Samsung
On 2016/05/03 16:52:52, Ken Russell wrote: > On 2016/05/03 16:10:46, j.isorce wrote: > > On ...
3 years, 1 month ago (2016-05-04 10:44:51 UTC) #13
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/1542013005/diff/40001/content/common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc File content/common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc (right): https://codereview.chromium.org/1542013005/diff/40001/content/common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc#newcode60 content/common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc:60: // XXX: Generalize CrosArmGpuProcessPolicy to a new TODO(j.isorce@samsung.com) instead ...
3 years, 1 month ago (2016-05-04 20:36:17 UTC) #14
Julien Isorce Samsung
On 2016/05/04 20:36:17, Ken Russell wrote: > https://codereview.chromium.org/1542013005/diff/40001/content/common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc > File content/common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc (right): > > https://codereview.chromium.org/1542013005/diff/40001/content/common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc#newcode60 ...
3 years, 1 month ago (2016-05-05 00:53:51 UTC) #15
Ken Russell (switch to Gerrit)
I'm not sure it's a good idea to hardcode these library names and the location ...
3 years, 1 month ago (2016-05-05 21:38:04 UTC) #16
Julien Isorce Samsung
On 2016/05/05 21:38:04, Ken Russell wrote: > I'm not sure it's a good idea to ...
3 years, 1 month ago (2016-05-06 14:44:11 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1542013005/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1542013005/120001
3 years, 1 month ago (2016-05-06 16:55:27 UTC) #19
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/62150) cast_shell_android on ...
3 years, 1 month ago (2016-05-06 17:09:45 UTC) #21
piman
+mdempsky to review the sandbox changes and agree to the general direction. https://codereview.chromium.org/1542013005/diff/120001/base/sys_info_posix.cc File base/sys_info_posix.cc ...
3 years, 1 month ago (2016-05-06 19:53:11 UTC) #23
Julien Isorce Samsung
https://codereview.chromium.org/1542013005/diff/120001/base/sys_info_posix.cc File base/sys_info_posix.cc (right): https://codereview.chromium.org/1542013005/diff/120001/base/sys_info_posix.cc#newcode117 base/sys_info_posix.cc:117: if (!strlen(info.release) && uname(&info) < 0) { On 2016/05/06 ...
3 years, 1 month ago (2016-05-07 08:18:13 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1542013005/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1542013005/140001
3 years, 1 month ago (2016-05-07 08:19:13 UTC) #26
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_chromium_compile_only_ng/builds/133856)
3 years, 1 month ago (2016-05-07 08:45:27 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1542013005/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1542013005/160001
3 years, 1 month ago (2016-05-07 13:16:31 UTC) #30
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/225147)
3 years, 1 month ago (2016-05-07 14:38:00 UTC) #32
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1542013005/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1542013005/180001
3 years, 1 month ago (2016-05-07 16:09:18 UTC) #34
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
3 years, 1 month ago (2016-05-07 17:41:12 UTC) #36
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1542013005/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1542013005/200001
3 years, 1 month ago (2016-05-10 15:32:19 UTC) #39
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
3 years, 1 month ago (2016-05-10 18:00:18 UTC) #41
Julien Isorce Samsung
On 2016/05/06 19:53:11, piman OOO back 2016-5-16 wrote: > +mdempsky to review the sandbox changes ...
3 years, 1 month ago (2016-05-16 09:36:24 UTC) #42
piman
3 years, 1 month ago (2016-05-16 19:29:55 UTC) #44
piman
-mdempsky +rickyz Ricky, do you have time to take a look at the direction here?
3 years, 1 month ago (2016-05-16 19:30:46 UTC) #45
rickyz (no longer on Chrome)
On 2016/05/16 at 19:30:46, piman wrote: > -mdempsky +rickyz > Ricky, do you have time ...
3 years, 1 month ago (2016-05-16 23:07:10 UTC) #46
Julien Isorce Samsung
On 2016/05/16 23:07:10, rickyz wrote: > On 2016/05/16 at 19:30:46, piman wrote: > > -mdempsky ...
3 years, 1 month ago (2016-05-16 23:39:34 UTC) #47
rickyz (no longer on Chrome)
On 2016/05/16 at 23:39:34, j.isorce wrote: > On 2016/05/16 23:07:10, rickyz wrote: > > On ...
3 years, 1 month ago (2016-05-16 23:41:18 UTC) #48
Julien Isorce Samsung
On 2016/05/16 23:41:18, rickyz wrote: > On 2016/05/16 at 23:39:34, j.isorce wrote: > > On ...
3 years, 1 month ago (2016-05-16 23:45:12 UTC) #49
rickyz (no longer on Chrome)
On 2016/05/16 at 23:45:12, j.isorce wrote: > On 2016/05/16 23:41:18, rickyz wrote: > > On ...
3 years, 1 month ago (2016-05-16 23:47:40 UTC) #50
Julien Isorce Samsung
On 2016/05/16 23:47:40, rickyz wrote: > On 2016/05/16 at 23:45:12, j.isorce wrote: > > On ...
3 years, 1 month ago (2016-05-16 23:57:13 UTC) #51
rickyz (no longer on Chrome)
On 2016/05/16 at 23:57:13, j.isorce wrote: > On 2016/05/16 23:47:40, rickyz wrote: > > On ...
3 years, 1 month ago (2016-05-17 00:03:23 UTC) #52
Julien Isorce Samsung
On 2016/05/17 00:03:23, rickyz wrote: > On 2016/05/16 at 23:57:13, j.isorce wrote: > > On ...
3 years, 1 month ago (2016-05-17 00:28:38 UTC) #53
Julien Isorce Samsung
On 2016/05/17 00:28:38, j.isorce wrote: > On 2016/05/17 00:03:23, rickyz wrote: > > On 2016/05/16 ...
3 years, 1 month ago (2016-05-17 00:44:05 UTC) #54
rickyz (no longer on Chrome)
On 2016/05/17 at 00:28:38, j.isorce wrote: > On 2016/05/17 00:03:23, rickyz wrote: > > On ...
3 years, 1 month ago (2016-05-17 00:47:40 UTC) #55
rickyz (no longer on Chrome)
On 2016/05/17 at 00:47:40, rickyz wrote: > On 2016/05/17 at 00:28:38, j.isorce wrote: > > ...
3 years, 1 month ago (2016-05-17 00:55:17 UTC) #56
Julien Isorce Samsung
On 2016/05/17 00:55:17, rickyz wrote: > On 2016/05/17 at 00:47:40, rickyz wrote: > > On ...
3 years, 1 month ago (2016-05-17 17:38:44 UTC) #57
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1542013005/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1542013005/220001
3 years, 1 month ago (2016-05-18 08:52:30 UTC) #59
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
3 years, 1 month ago (2016-05-18 10:22:38 UTC) #63
rickyz (no longer on Chrome)
Apologies for the long delay here. So my current understanding is that: Before drivers are ...
2 years, 11 months ago (2016-06-28 05:58:00 UTC) #65
Julien Isorce Samsung
https://codereview.chromium.org/1542013005/diff/220001/base/sys_info_posix.cc File base/sys_info_posix.cc (right): https://codereview.chromium.org/1542013005/diff/220001/base/sys_info_posix.cc#newcode116 base/sys_info_posix.cc:116: static struct utsname info = {}; On 2016/06/28 05:58:00, ...
2 years, 11 months ago (2016-06-28 16:01:41 UTC) #66
Julien Isorce Samsung
On 2016/06/28 05:58:00, rickyz wrote: > Apologies for the long delay here. > > So ...
2 years, 11 months ago (2016-06-28 16:22:11 UTC) #67
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1542013005/240001
2 years, 11 months ago (2016-07-04 16:40:47 UTC) #69
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/162619)
2 years, 11 months ago (2016-07-04 16:52:28 UTC) #71
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1542013005/260001
2 years, 11 months ago (2016-07-04 17:19:00 UTC) #73
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
2 years, 11 months ago (2016-07-04 18:18:10 UTC) #75
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1542013005/280001
2 years, 11 months ago (2016-07-05 13:04:12 UTC) #77
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_optional_gpu_tests_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_optional_gpu_tests_rel/builds/1691)
2 years, 11 months ago (2016-07-05 13:22:59 UTC) #79
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1542013005/300001
2 years, 11 months ago (2016-07-05 13:52:50 UTC) #81
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/254946) mac_optional_gpu_tests_rel on ...
2 years, 11 months ago (2016-07-05 14:06:05 UTC) #83
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/1542013005/320001
2 years, 11 months ago (2016-07-05 14:13:05 UTC) #85
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
2 years, 11 months ago (2016-07-05 16:19:54 UTC) #87
Julien Isorce Samsung
On 2016/06/28 05:58:00, rickyz wrote: > jln@: we discussed a similar problem today and ended ...
2 years, 11 months ago (2016-07-17 12:42:45 UTC) #88
Julien Isorce Samsung
2 years, 8 months ago (2016-10-07 15:26:37 UTC) #89
https://codereview.chromium.org/1542013005/diff/340001/build/config/linux/dri...
File build/config/linux/dri/BUILD.gn (right):

https://codereview.chromium.org/1542013005/diff/340001/build/config/linux/dri...
build/config/linux/dri/BUILD.gn:15: defines = [
"DRI_DRIVER_DIR=\"$dri_driver_dir\"" ]
Maybe I can also put "swrast_dri.so" in a define here.

Powered by Google App Engine
This is Rietveld 408576698