Closed
Bug 1273812
Opened 10 years ago
Closed 10 years ago
taskcluster win64 (debug) build failure: Command line error D8050 : cannot execute 'x:\Task_1463478272\build\src\vs2015u2\VC\bin\amd64\c1.dll': failed to get command line into debug records
Categories
(Release Engineering :: General, defect)
Release Engineering
General
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: grenade, Unassigned)
References
Details
build: https://treeherder.mozilla.org/#/jobs?repo=try&revision=22b59f95028b60784592ba0bd4fc8dd11537b40e&selectedJob=20964870
raw-log: https://public-artifacts.taskcluster.net/N8zTBkWFTAWWlyFT6oYhIA/0/public/logs/command_000007.log
failure:
15:43:23 INFO - x:/Task_1463478272/build/src/vs2015u2/VC/bin/amd64/cl.EXE -Fox:/Task_1463478272/build/src/obj-firefox/security/nss/lib/softoken/pkcs11.obj -c -O1 -Zi -Fdx:/Task_1463478272/build/src/obj-firefox/security/nss/lib/softoken/ -MD -w44267 -w44244 -w44018 -w44312 -FS -W3 -nologo -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DXP_PC -DSHLIB_SUFFIX=\"dll\" -DSHLIB_PREFIX=\"\" -DSOFTOKEN_LIB_NAME=\"softokn3.dll\" -DSHLIB_VERSION=\"3\" -UDEBUG -DNDEBUG -DWIN64 -D_AMD64_ -D_WINDOWS -DWIN95 -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -Ix:/Task_1463478272/build/src/obj-firefox/dist/include -Ix:/Task_1463478272/build/src/obj-firefox/dist/include/nspr -Ix:/Task_1463478272/build/src/obj-firefox/dist/include/nspr -Ix:/Task_1463478272/build/src/obj-firefox/dist/include/nss -Ix:/Task_1463478272/build/src/obj-firefox/dist/private/nss "/x/Task_1463478272/build/src/security/nss/lib/softoken/pkcs11.c"
15:43:23 INFO - fipstest.c
15:43:23 INFO - cl : Command line error D8050 : cannot execute 'x:\Task_1463478272\build\src\vs2015u2\VC\bin\amd64\c1.dll': failed to get command line into debug records
15:43:23 INFO - ../../coreconf/rules.mk:388: recipe for target 'x:/Task_1463478272/build/src/obj-firefox/security/nss/lib/softoken/fipstest.obj' failed
15:43:23 INFO - mozmake.EXE[6]: *** [x:/Task_1463478272/build/src/obj-firefox/security/nss/lib/softoken/fipstest.obj] Error 2
15:43:23 INFO - mozmake.EXE[6]: *** Waiting for unfinished jobs....
15:43:23 INFO - fipsaudt.c
15:43:23 INFO - fipstokn.c
15:43:23 INFO - lgglue.c
15:43:23 INFO - lowkey.c
15:43:23 INFO - lowpbe.c
15:43:23 INFO - pkcs11.c
15:43:23 INFO - padbuf.c
15:43:24 INFO - mozmake.EXE[6]: Leaving directory 'x:/Task_1463478272/build/src/security/nss/lib/softoken'
15:43:24 INFO - Makefile:455: recipe for target 'libs-nss/lib/softoken' failed
15:43:24 INFO - mozmake.EXE[5]: *** [libs-nss/lib/softoken] Error 2
15:43:24 INFO - mozmake.EXE[5]: Leaving directory 'x:/Task_1463478272/build/src/obj-firefox/config/external/nss'
15:43:24 INFO - x:/Task_1463478272/build/src/config/recurse.mk:71: recipe for target 'config/external/nss/target' failed
15:43:24 INFO - mozmake.EXE[4]: *** [config/external/nss/target] Error 2
15:43:24 INFO - mozmake.EXE[4]: Leaving directory 'x:/Task_1463478272/build/src/obj-firefox'
15:43:24 INFO - x:/Task_1463478272/build/src/config/recurse.mk:32: recipe for target 'compile' failed
15:43:24 INFO - mozmake.EXE[3]: *** [compile] Error 2
15:43:24 INFO - mozmake.EXE[3]: Leaving directory 'x:/Task_1463478272/build/src/obj-firefox'
15:43:24 INFO - x:/Task_1463478272/build/src/config/rules.mk:540: recipe for target 'default' failed
15:43:24 INFO - mozmake.EXE[2]: *** [default] Error 2
15:43:24 INFO - mozmake.EXE[2]: Leaving directory 'x:/Task_1463478272/build/src/obj-firefox'
15:43:24 INFO - x:/Task_1463478272/build/src/client.mk:410: recipe for target 'realbuild' failed
15:43:24 INFO - mozmake.EXE[1]: *** [realbuild] Error 2
15:43:24 INFO - mozmake.EXE[1]: Leaving directory 'x:/Task_1463478272/build/src'
15:43:24 INFO - client.mk:168: recipe for target 'build' failed
15:43:24 INFO - mozmake.EXE: *** [build] Error 2
15:43:24 INFO - 240 compiler warnings present.
15:43:26 INFO - 2
15:43:26 ERROR - Return code: 1
15:43:26 WARNING - setting return code to 2
15:43:26 FATAL - 'mach build' did not run successfully. Please check log for errors.
Comment 1•10 years ago
|
||
Comment 2•10 years ago
|
||
good find :glandium!
| Reporter | ||
Comment 3•10 years ago
|
||
I also checked this after finding that SO answer, but as shown in the build log, TEMP and TMP were set. I did come across this posting on reddit https://www.reddit.com/r/VisualStudio2015/comments/4doeen/simultaneous_command_line_builds_getting_errors which suggests that it's fixable by setting a distinct TMP and TEMP path for parallel processes.
Any idea where in the codebase such a setting could go? eg: for a try push to see if it has any impact.
Flags: needinfo?(mh+mozilla)
Comment 4•10 years ago
|
||
There is no easy place for that. OTOH, there is something interesting in your log: there is a msys path for the source file (/x/... instead of x:/), which shouldn't be there in the first place. Whether this is related or not is not granted, but there's that.
Another question is why is this, and many of the recently filed bugs, are happening on those jobs while they definitely aren't happening on buildbot slaves or local builds, nor have I seen them on the AWS machines I do "local" windows builds on.
Flags: needinfo?(mh+mozilla)
| Reporter | ||
Comment 5•10 years ago
|
||
So the main reason we get new errors in TC that we don't get elsewhere, is that we are documenting (in one place) every single builder dependency as we build our builders (https://github.com/MozRelOps/OpenCloudConfig/blob/master/userdata/Manifest/win2012.json). Literally every bit of magic sauce required to put a vanilla ec2 win 2012 ami into a state where it can build firefox under mozharness. This isn't true of buildbot slaves where a combination of imported gpo config, puppet and userdata powershell fiddling as well as a good dose of manual tinkering were combined to produce an ami that can build firefox under mozharness and buildbot. The json manifest above, is what is actually used to transform vanilla amis into builders. There's no manual step, no secret sauce, no intervention from someone with years of experience hacking a system environment variable, just what's in the manifest. This includes:
- Environment Variables
- Registry Settings
- Path and symlink hacks (like copying python27.dll to C:\\mozilla-build\\python\\Scripts\\python27.dll, so that hg will start working)
- Software Installations (either msis or exes)
- Commands that alter the system (like `pip install --upgrade virtualenv`)
If it's not in the manifest or the try push, it wasn't used in the build. No exceptions, no ambiguity.
For mspdb140.dll errors, I have no idea why it happens when running mach without -j1 on win32 only. All I can say is that it's exceptionally reproducible, with absolute consistency. And that if we knew what magic environment variable or registry value or software install or path hack would make it go away, we'd document it in the manifest to make sure it doesn't happen again. There's no equivalent manifest for buildbot slaves or 'local builds' that we can reference to get that answer.
| Reporter | ||
Comment 6•10 years ago
|
||
I forgot to say thanks for spotting the msys path. That's peculiar and suspect. Going to climb down that rabbit hole now...
Comment 7•10 years ago
|
||
FWIW, I can build win32 Firefox just fine on a fresh windows 2012 ec2 instance with MSVC and MozillaBuild freshly installed, using the "standard" start-shell-msvc-2015 script and nothing more.
| Reporter | ||
Comment 8•10 years ago
|
||
Thanks Mike. If you can elaborate on what you do after running start-shell-msvc-2015, I'll try to replicate on our builders and report back. When I run start-shell-msvc-2015, I just get a bash shell where vcvars has been run. No Firefox build.
For the purpose of removing any ambiguity, this is what I do to build Firefox under mozharness, manually on one of our builders (the first 3 var sets change regularly, the others stay pretty much constant):
set platform=win32
set build_type=opt
set GECKO_HEAD_REV=4f38fe78c1523e30a0d7c4a9066f09b3ae5ac057
set MOZHARNESS_CONFIG=builds\taskcluster_firefox_%platform%.py
if "%build_type%" == "debug" set MH_CUSTOM_BUILD_VARIANT_CFG=debug
if "%build_type%" == "opt" set MH_CUSTOM_BUILD_VARIANT_CFG=
set WORKSPACE=x:\manual-%platform%-%build_type%
set MH_BRANCH=try
set MH_BUILD_POOL=taskcluster-windows
set TOOLTOOL_CACHE=c:\builds\tooltool-cache
set UPLOAD_HOST=localhost
set UPLOAD_PATH=%WORKSPACE%\public\build
set GECKO_BASE_REPOSITORY=c:\builds\hg-shared\mozilla-central
set GECKO_HEAD_REPOSITORY=https://hg.mozilla.org/try
set TOOLS_BASE_REPOSITORY=c:\builds\hg-shared\build\tools
mkdir %WORKSPACE%\build\src
hg share %GECKO_BASE_REPOSITORY% %WORKSPACE%\build\src
hg pull -u -R %WORKSPACE%\build\src --rev %GECKO_HEAD_REV% %GECKO_HEAD_REPOSITORY%
hg update -R %WORKSPACE%\build\src --rev %GECKO_HEAD_REV%
mkdir %UPLOAD_PATH%
if defined MH_CUSTOM_BUILD_VARIANT_CFG set MH_CUSTOM_BUILD_VARIANT_FLAGS=--platform windows --custom-build-variant-cfg %MH_CUSTOM_BUILD_VARIANT_CFG%
x: && cd %WORKSPACE%
python -u %WORKSPACE%\build\src\testing\mozharness\scripts\fx_desktop_build.py --config %MOZHARNESS_CONFIG% %MH_CUSTOM_BUILD_VARIANT_FLAGS% --branch=%MH_BRANCH% --build-pool=%MH_BUILD_POOL% --skip-buildbot-actions --work-dir=%WORKSPACE%\build --clone-tools --build
Flags: needinfo?(mh+mozilla)
Comment 9•10 years ago
|
||
(In reply to Rob Thijssen (:grenade - GMT) from comment #8)
> Thanks Mike. If you can elaborate on what you do after running
> start-shell-msvc-2015, I'll try to replicate on our builders and report
> back. When I run start-shell-msvc-2015, I just get a bash shell where vcvars
> has been run. No Firefox build.
$ hg clone https://hg.mozilla.org/mozilla-central
$ cd mozilla-central
$ export NO_MERCURIAL_SETUP_CHECK=dammit
$ ./mach build
is all I do.
Flags: needinfo?(mh+mozilla)
| Reporter | ||
Comment 10•10 years ago
|
||
Thanks for that Mike! I spent the day ripping mozharness out of my try push and established that I get no errors at all in any build (32/64, debug/opt) when mach isn't parented by a mozharness call.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1a2a64024f329f8074532c975f950085323841b5
So it looks like I'll be spending some time getting to grips with what mh is up to...
| Reporter | ||
Comment 11•10 years ago
|
||
this error has gone away. no idea what sorted it.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → INVALID
| Assignee | ||
Updated•8 years ago
|
Component: General Automation → General
You need to log in
before you can comment on or make changes to this bug.
Description
•