MSVC 17.12.0 internal compiler error #31303

issue hebasto openend this issue on November 17, 2024
  1. hebasto commented at 10:47 am on November 17, 2024: member

    The latest version of MSVC causes an internal compiler error in src/test/fuzz/utxo_snapshot.cpp for both “Release” and “Debug” configurations:

    0< snip >
    1  utxo_snapshot.cpp
    2C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001: Internal compiler error. [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    3C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001: (compiler file 'D:\a\_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\symbols.c', line 33772) [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    4C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001:  To work around this problem, try simplifying or changing the program near the locations listed above. [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    5C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001: If possible please provide a repro here: https://developercommunity.visualstudio.com  [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    6C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001: Please choose the Technical Support command on the Visual C++  [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    7C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001:  Help menu, or open the Technical Support help file for more information [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    

    According to Microsoft docs:

    If the file has a cxxfe …, it is probably a parser error.

    The issue also occurs in recent CI jobs using the image version 20241113.3.0.

  2. hebasto added the label Windows on Nov 17, 2024
  3. hebasto added the label Upstream on Nov 17, 2024
  4. hebasto commented at 10:48 am on November 17, 2024: member
  5. maflcko commented at 10:50 am on November 17, 2024: member
    It would be good to report this upstream, as requested in the error message. Possibly with a minimal reproducer, if someone on Windows can reduce it further.
  6. hebasto referenced this in commit b2d5361002 on Nov 17, 2024
  7. sipsorcery commented at 5:00 pm on November 17, 2024: contributor
    @hebasto I have never buil the fuzzer before. Is the error from the build here?
  8. hebasto commented at 5:04 pm on November 17, 2024: member

    @sipsorcery

    I have never buil the fuzzer before. Is the error from the build here?

    Just configure with -DBUILD_FUZZ_BINARY=ON and build the fuzz target.

  9. maflcko commented at 8:16 am on November 18, 2024: member
    According to #27930 (comment) MSVC is including Bitcoin Core in an internal test-suite, but I guess they are not compiling the fuzz tests? cc @CaseyCarter
  10. CaseyCarter commented at 8:38 am on November 18, 2024: contributor
    I see a -DBUILD_FUZZ_BINARY=ON in the setup, which suggests to me that we are at least building the fuzz tests. We are, however, at 0ca1d1b which seems to be about a month old. Our Real-World-Code projects don’t live at head, they jump forward periodically. If it’s a recent regression we may not have seen it yet.
  11. hebasto commented at 2:36 pm on November 18, 2024: member

    I see a -DBUILD_FUZZ_BINARY=ON in the setup, which suggests to me that we are at least building the fuzz tests. We are, however, at 0ca1d1b which seems to be about a month old. Our Real-World-Code projects don’t live at head, they jump forward periodically. If it’s a recent regression we may not have seen it yet.

     0> git rev-parse HEAD
     10ca1d1bf69ca364393e924cf41becfde1b68126c
     2> cmake -B build-static --preset vs2022-static --fresh -DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON -DVCPKG_MANIFEST_FEATURES="wallet;tests" -DBUILD_GUI=OFF -DBUILD_FUZZ_BINARY=ON
     3> cmake --build build-static -t fuzz --config Release -j 8
     4MSBuild version 17.12.6+db5f6012c for .NET Framework
     5...
     6C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001: Internal compiler error. [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
     7C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001: (compiler file 'D:\a\_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\symbols.c', line 33772) [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
     8C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001:  To work around this problem, try simplifying or changing the program near the locations listed above. [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
     9C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001: If possible please provide a repro here: https://developercommunity.visualstudio.com  [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    10C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001: Please choose the Technical Support command on the Visual C++  [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    11C:\Users\hebasto\source\repos\bitcoin\src\test\fuzz\utxo_snapshot.cpp(45,1): error C1001:  Help menu, or open the Technical Support help file for more information [C:\Users\hebasto\source\repos\bitcoin\build-static\src\test\fuzz\fuzz.vcxproj]
    
  12. CaseyCarter commented at 0:01 am on November 19, 2024: contributor
    I dug through the logs for yesterday’s nightly run, and the trunk compiler built utxo_snapshot.cpp just fine. I see: we onboarded bitcoin on 2024-10-22. It’s likely the 17.12 compilers have never seen it. Sorry about the regression; go ahead and file a report at https://developercommunity.visualstudio.com/cpp/report and we’ll see if we can get it serviced quickly.

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-21 06:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me