New issue
Advanced search Search tips

Issue 608381 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

VC++ /analyze build failing with internal compiler error

Project Member Reported by brucedaw...@chromium.org, May 2 2016

Issue description

Starting with build 1301 the VC++ 2015 /analyze builds are failing. The first failing hash is:

4178716d8d4ac70afd95a0131934fe533701bab5

https://build.chromium.org/p/chromium.fyi/builders/Chromium%20Windows%20Analyze/builds/1301

The last successful hash is:

0a58e7128c0559027991ae4671fb7b16274b7ba3

The error message appears to be:

FAILED: ninja -t msvc -e environment.x86 -- "E:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86/cl.exe" /nologo /showIncludes /FC @obj/third_party/WebKit/Source/core/dom/ContainerNode.obj.rsp /c ../../third_party/WebKit/Source/core/dom/ContainerNode.cpp /Foobj/third_party/WebKit/Source/core/dom/ContainerNode.obj /Fd"obj/third_party/WebKit/Source/core/dom_cc.pdb"
...
e:\b\build\slave\chromium_windows_analyze\build\src\third_party\webkit\source\wtf\typetraits.h(277): fatal error C1001: An internal error has occurred in the compiler.
(compiler file 'msc1.cpp', line 1433)
 To work around this problem, try simplifying or changing the program near the locations listed above.
Please choose the Technical Support command on the Visual C++ 
 Help menu, or open the Technical Support help file for more information
e:\b\build\slave\chromium_windows_analyze\build\src\third_party\webkit\source\platform\heap\heapallocator.h(319): note: see reference to class template instantiation 'WTF::NeedsTracing<KeyArg>' being compiled
        with
        [
            KeyArg=std::pair<unsigned char,WTF::StringImpl *>
        ]
Internal Compiler Error in E:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe.  You will be prompted to send an error report to Microsoft later.
INTERNAL COMPILER ERROR in 'E:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe'
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information

 
The internal compiler error now occurs in a different source file in the Chromium repro, due to internal changes in third_party\webkit. And, the file that I attached to the connect bug never appeared.

Therefore, in order to make the bug easy to repro I am attaching the stand-alone repro to this bug. The new file that triggers the internal compiler error is SVGSVGElement.cpp (obj/third_party/WebKit/Source/core/svg/SVGSVGElement.obj). 

The command to compile the attached source file and trigger the bug is:

    cl /c /analyze /wd6285 /wd6326 /wd6011 /wd6323 /wd4910 /wd6386 /wd6001 /wd6385 /wd6319 /wd28182 /wd6336 SVGSVGElement.cpp
SVGSVGElement.cpp
6.9 MB View Download
Status: Fixed (was: Assigned)
This was fixed by Update 3. Pasting in the reference to that CL:

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

commit 02343c661ee0482cb73ad0cf861999f2c57eeb11
Author: brucedawson <brucedawson@chromium.org>
Date: Thu Sep 08 01:53:00 2016

Switch to VS 2015 Update 3

VS 2015 Update 3 offers numerous improvements such as improved
language conformance, fixes to avoid linker crashes, and
improved code-gen for faster performance. Update 3 also resolves
some problems with incremental linking silently falling back to
a full link.

It also fixes an internal compiler error in /analyze builds.

The landmines change is needed because otherwise things like the
out\Release\cdb directory do not get regenerated.

The process for creating this package is:
- Create a clean Windows VM running Windows Server 2012 R2 (en_windows_server_2012_r2_vl_with_update_x64_dvd_6052766.iso, SHA1: 247EAEE5628850A41F0C51471656AAFB2492EA08, Standard Edition)
- Install depot tools, run ‘gclient’, and add depot_tools to the path
- Install VS 2015 Professional Update 3 - must have been installed after July 12th to get the latest fixes - with these settings and nothing else:
 * Visual C++ and make sure the three nodes underneath are also selected
 * Under Universal Windows App Development Tools make sure the "Tools (1.4.1) and Windows 10 SDK (10.0.14393)" and the "Windows 10 SDK (10.0.10586)" nodes are selected and nothing else
- Copy the *Debugger and Tools*.msi installers from another machine and run them. The 10.0.14393 versions (Anniversary Edition) should be used.
- Then run:
    python depot_tools\win_toolchain\package_from_installed.py 2015

It is also possible to package the 14393 SDK by running this command,
but that change is being saved for later:
    python depot_tools\win_toolchain\package_from_installed.py 2015 -w 10.0.14393.0

BUG=  627216  , 636468 ,427616, 637456 

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

[modify] https://crrev.com/02343c661ee0482cb73ad0cf861999f2c57eeb11/build/get_landmines.py
[modify] https://crrev.com/02343c661ee0482cb73ad0cf861999f2c57eeb11/build/vs_toolchain.py
[modify] https://crrev.com/02343c661ee0482cb73ad0cf861999f2c57eeb11/build/win/copy_cdb_to_output.py
[modify] https://crrev.com/02343c661ee0482cb73ad0cf861999f2c57eeb11/tools/perf/chrome_telemetry_build/BUILD.gn

Sign in to add a comment