PPAPINaCl browser_tests are busted on 32-bit Win |
|||||
Issue descriptionIt looks like something is not configured right, because none of the PPAPINaCl browser tests seem to work when trying to run a 32-bit browser_tests.exe build: http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/216701 It looks like maybe something is confused over which architecture should be being used? The 64-bit version seems to run fine, and I would've sworn Roland and/or Petr had tested the 32-bit version at one point, too?
,
May 6 2016
ppapi_nacl_tests_newlib_x64.nexe is not being built in 32-bit gn builds. Deleting this from the gyp output directory causes the same failure. I'm investigating why this is not a target in 32-bit gn builds. There are also some worrisome warnings when running the test that need investigation.
,
May 6 2016
We think we understand the issue, but GN makes it a bit hairy. As well as building both nexes, we need to generate a single nmf that includes both. In GN, we have the generate_nmf step inside a particular nacl toolchain, so it is less than obvious how to do a single generate_nmf step that gets its inputs (the nexes) from two different toolchains. Petr and I have an idea or two, but advice from GN gurus is welcome.
,
May 6 2016
It's a bit unclear to me what the requirements are. In what follows, I'm guessing based on what I can glean from looking at //chrome/test/data/BUILD.gn and //papapi/native_client/nacl_test_data.gni . IIUC correctly, you're specifying dependencies on nmf's in a given toolchain (glibc/newlib/pnacl), and so each nmf contains only one reference to the corresponding nacl binary with the same toolchain; there's no way to have an nmf refer to multiple nexe/pexe's. And yet, in this situation we actually need the nmf's to contain multiple nexe's ? And, in GYP, we accomplish this by having a single step that contains flags for which toolchains you want, right? Can we restructure the data dependencies so that we have a single toolchain-independent nmf that contains dependencies on the nexe's in each of the desired formats and then builds the nmf that refers to all of them as appropriate? Failing that, since this are (I think) just test binaries, can/should we just have a build flag that specifies which architecture we should generate them for?
,
May 6 2016
The problem with making the nmf step toolchain-independent is that the nmf generation actually needs to know a lot of information about the target toolchain such as the path to toolchain libraries. The idea we were discussing with Roland is to extend the copy target, which is responsible for copying the nexe from toolchain build directory to the target directory, to build (by adding an extra dependency) and copy both 32-bit and 64-bit nexe when target_os is win. Since the generate_nmf step uses get_target_outputs to get the list nexes and passes them to the create_nmf.py script, this should do the right thing. The reason for doing the refactoring in https://codereview.chromium.org/1955173002/ is that we can do this change just once in nacl_test_data rather than replicating it multiple times.
,
May 7 2016
ok.
,
May 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e19dffc8f0896799ea782c0acba651ef39fc6d73 commit e19dffc8f0896799ea782c0acba651ef39fc6d73 Author: phosek <phosek@chromium.org> Date: Mon May 09 07:03:49 2016 [gn] Use nacl_test_data template for PPAPI tests The nacl_test_data template functionality largely overlaps with the build logic for PPAPI tests. By replacing that logic with nacl_test_data template, any future changes, like correctly handling Windows build, can be isolated to that template. BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=609684 Review-Url: https://codereview.chromium.org/1955173002 Cr-Commit-Position: refs/heads/master@{#392288} [modify] https://crrev.com/e19dffc8f0896799ea782c0acba651ef39fc6d73/ppapi/BUILD.gn [modify] https://crrev.com/e19dffc8f0896799ea782c0acba651ef39fc6d73/ppapi/native_client/nacl_test_data.gni
,
May 10 2016
Issue 610705 has been merged into this issue.
,
May 10 2016
,
May 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a03f119d7af32b119fb755abe3d6a661b55548e8 commit a03f119d7af32b119fb755abe3d6a661b55548e8 Author: mcgrathr <mcgrathr@chromium.org> Date: Fri May 13 02:22:48 2016 GN: Build NaCl tests for x64 too on x86 Windows x86 Windows builds of Chrome run on both x86 Windows and x64 Windows. On x64 Windows, only x64 NaCl is supported, so those tests are needed too. BUG= 609684 R=bbudge@chromium.org, dpranke@chromium.org, phosek@chromium.org Review-Url: https://codereview.chromium.org/1976753002 Cr-Commit-Position: refs/heads/master@{#393433} [modify] https://crrev.com/a03f119d7af32b119fb755abe3d6a661b55548e8/build/config/nacl/rules.gni [modify] https://crrev.com/a03f119d7af32b119fb755abe3d6a661b55548e8/ppapi/native_client/nacl_test_data.gni
,
May 23 2016
Is this confirmed fixed now?
,
May 24 2016
Yes, sorry for not changing the status.
,
May 24 2016
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by brucedaw...@chromium.org
, May 6 2016Status: Started (was: Untriaged)