New issue
Advanced search Search tips

Issue 655771 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Oct 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 651267



Sign in to add a comment

Update NativeClient to use hermetic xcode toolchain.

Project Member Reported by erikc...@chromium.org, Oct 13 2016

Issue description

find_sdk.py is used to find the input to -isysroot. The latter two files both invoke it.

native_client/build/mac/find_sdk.py
native_client/SConstruct
native_client/toolchain_build/toolchain_build_pnacl.py
 
Status: WontFix (was: Assigned)
Nevermind. These are not a part of the Chrome build process.
Blocking: 651267
Status: Assigned (was: WontFix)
Unfortunately, SConstruct gets used as part of the testing (!?) process.

https://build.chromium.org/p/chromium.fyi/builders/Chromium%20Mac%2010.11%20Force%20Mac%20Toolchain/builds/14583/steps/nacl_integration/logs/stdio

"""

Building files needed for nacl-newlib testing...


Running /usr/bin/python scons.py disable_tests=run_ppapi_ppb_image_data_browser_test,run_ppapi_crash_browser_test --verbose -k platform=x86-64 --mode=opt-host,nacl,nacl_irt_test chrome_browser_path=/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/out/Release/Chromium.app/Contents/MacOS/Chromium nacl_newlib_dir=/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/toolchain/mac_x86/nacl_x86_newlib nacl_glibc_dir=/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/toolchain/mac_x86/nacl_x86_glibc pnacl_newlib_dir=/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/toolchain/mac_x86/pnacl_newlib disable_flaky_tests=1 chrome_browser_tests json_build_results_output_file=/tmp/tmpa_bSLX do_not_run_tests=1 -j8

scons: Reading SConscript files ...
Traceback (most recent call last):
  File "../build/mac/find_sdk.py", line 89, in <module>
    print main()
  File "../build/mac/find_sdk.py", line 57, in main
    sdks = [re.findall('^MacOSX(10\.\d+)\.sdk$', s) for s in os.listdir(sdk_dir)]
OSError: [Errno 2] No such file or directory: '/Library/Developer/CommandLineTools/Platforms/MacOSX.platform/Developer/SDKs'
CalledProcessError: Command '['/usr/bin/python', '../build/mac/find_sdk.py', '--print_sdk_path', '10.10']' returned non-zero exit status 1:
  File "/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/SConstruct", line 2437:
    (mac_debug_env, mac_optimized_env) = GenerateOptimizationLevels(MakeMacEnv())
  File "/b/c/b/Chromium_Mac_10_11_Force_Mac_Toolchain/src/native_client/SConstruct", line 2408:
    mac_sdk_min
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 573:
    raise CalledProcessError(retcode, cmd, output=output)
"""
Machines of the NativeClient waterfall (e.g. vm602-m3) have a native_client checkout, but don't have a chromium checkout, so they don't even have the means to get the hermetic toolchain. 


Cc: mseaborn@chromium.org
I tried to plumb hermetic xcode through NativeClient + scons. Unfortunately, it looks like scons is dropping the DEVELOPER_DIR environment variable when invoking gcc/g++.

Looking at the 2.0.1 release notes:
"""
  - If the "env" command is available, spawn commands with the more
    general "env -" instead of "env -i".
"""
it looks like this is perhaps intentional, and even systematic.

I tried removing all instances of "env -i" in native_client code, but that didn't fix the problem. I tried replacing the gcc shim with a script that sleeps in its place. I then tried to ctr-C the scons script to get a backtrace - alas, scons is sufficient complex that this does not print anything useful. I tried to use -j1, but scons is multithreaded [or at least, invokes gcc/g++ asynchronously].

Chatting with mseaborn, it appears the only point of the nacl_integration_tests is to test crash reporting for nacl within Chrome. If we could find a different way of testing that, we wouldn't need nacl_integration_tests.

Unfortunately, neither updating nacl_integration_tests nor plumbing hermetic xcode through yet another build system [scons] appears to be an easy task. 

I'm inclined to ignore this problem by requiring that all mac bots in the infra fleet have an xcode install [already true]. So nacl_integration_tests and bots on the nacl waterfall will continue to use the system xcode.





Status: WontFix (was: Assigned)

Comment 6 by mar...@chromium.org, Oct 19 2016

> Chatting with mseaborn, it appears the only point of the nacl_integration_tests is to test crash reporting for nacl within Chrome. If we could find a different way of testing that, we wouldn't need nacl_integration_tests.

This test is a significant problem for  issue 98637 . The comment above implies like it's a diminishing return on the investment to keep it alive. Can we get without it?
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 1 2016

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

commit 97d826e88cf1639b0bec80510ec437ea4d3709e1
Author: erikchen <erikchen@chromium.org>
Date: Tue Nov 01 18:29:47 2016

Don't run nacl_integration tests on mac.

Only two tests remain enabled on Mac in the nacl_integration step.  From the log
output, they are:
[ RUN      ] nacl_newlib.run_breakpad_untrusted_crash_test
[ RUN      ] nacl_newlib.run_inbrowser_test_runner

We have been keeping nacl_integration around because it has some tests that
cover crash reporting.  Without these, we have no integration tests for crash
reporting in Chrome (whether crash reporting is handled via Breakpad, Crashpad
or anything else).  However, most of those tests have been disabled over time
(at least for Mac), and the remaining one (untrusted_crash_test) isn't useful
without the others.

We can live without "inbrowser_test_runner".  It's somewhat useful, but not
worth keeping nacl_integration enabled for.

BUG= 626093 ,  655771 , 154400

Review-Url: https://codereview.chromium.org/2448563002
Cr-Commit-Position: refs/heads/master@{#429058}

[modify] https://crrev.com/97d826e88cf1639b0bec80510ec437ea4d3709e1/testing/buildbot/chromium.mac.json

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/b2a65b5d70d0c99447e2566d416f0f4363998257

commit b2a65b5d70d0c99447e2566d416f0f4363998257
Author: Erik Chen <erikchen@google.com>
Date: Thu Jun 08 21:27:36 2017

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 8 2017

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

commit 8cf933d89289b5855a0c05c4e5245b683524441e
Author: erikchen <erikchen@chromium.org>
Date: Thu Jun 08 21:31:10 2017

Stop running nacl_integration tests on ClangToT macOS builds.

BUG=154400,  655771 ,  626093 

Review-Url: https://codereview.chromium.org/2932643002
Cr-Commit-Position: refs/heads/master@{#478092}

[modify] https://crrev.com/8cf933d89289b5855a0c05c4e5245b683524441e/testing/buildbot/chromium.fyi.json

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/01578c11dd05c7021ca85abab332f101e0a9908b

commit 01578c11dd05c7021ca85abab332f101e0a9908b
Author: Michael Moss <mmoss@google.com>
Date: Thu Jun 08 22:45:53 2017

Project Member

Comment 11 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/tools/release/scripts/+/831872d6538aa7a360a3c15765537277150e1655

commit 831872d6538aa7a360a3c15765537277150e1655
Author: Erik Chen <erikchen@google.com>
Date: Thu Jun 08 23:34:32 2017

Sign in to add a comment