Mbed-TLS / mbedtls

An open source, portable, easy to use, readable and flexible TLS library, and reference implementation of the PSA Cryptography API. Releases are on a varying cadence, typically around 3 - 6 months between releases.
https://www.trustedfirmware.org/projects/mbed-tls/
Other
5.17k stars 2.54k forks source link

Internal compiler error in Visual Studio 2015 #8735

Open gilles-peskine-arm opened 7 months ago

gilles-peskine-arm commented 7 months ago

At the time of writing, the development branch triggers an internal compiler error in Visual Studio 2015 when building library/psa_crypto_ecp.c. The problem started between fb133513d60e037c626e919e1ff76c2bc6446481 (pass) and 4d4891e18ac336d8c85e67828fdb2c582461f449 (fail) (diff).

Log excerpt:

84>Link:
     C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe /ERRORREPORT:QUEUE /OUT:"c:\windows\workspace\mbed-tls-nightly-tests\worktrees\tmp4l40d1zo\visualc\VS2013\Release\load_roots.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:Release bcrypt.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"c:\windows\workspace\mbed-tls-nightly-tests\worktrees\tmp4l40d1zo\visualc\VS2013\Release\load_roots.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG:incremental /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"c:\windows\workspace\mbed-tls-nightly-tests\worktrees\tmp4l40d1zo\visualc\VS2013\Release\load_roots.lib" /MACHINE:X86 /SAFESEH Release\load_roots\load_roots.obj
     "c:\windows\workspace\mbed-tls-nightly-tests\worktrees\tmp4l40d1zo\visualc\VS2013\Release\mbedTLS.lib"
84>Link:
     Generating code
84>c:\windows\workspace\mbed-tls-nightly-tests\worktrees\tmp4l40d1zo\library\psa_crypto_ecp.c(101): fatal error C1001: An internal error has occurred in the compiler. [c:\windows\workspace\mbed-tls-nightly-tests\worktrees\tmp4l40d1zo\visualc\VS2013\load_roots.vcxproj]
   Link:
      Help menu, or open the Technical Support help file for more information

     Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe.  You will be prompted to send an error report to Microsoft later.
84>Link:
     (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 255)
84>Link:
      To work around this problem, try simplifying or changing the program near the locations listed above.
84>Link:
     Please choose the Technical Support command on the Visual C++ 
      Help menu, or open the Technical Support help file for more information
84>Link:

     Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe.  You will be prompted to send an error report to Microsoft later.
84>Done Building Project "c:\windows\workspace\mbed-tls-nightly-tests\worktrees\tmp4l40d1zo\visualc\VS2013\load_roots.vcxproj" (Rebuild target(s)) -- FAILED.
gilles-peskine-arm commented 7 months ago

After some internal discussion our preferred resolution would be to drop support for VS 2015 (and 2013) from Mbed TLS 3.6 onwards, i.e. in development starting now. This is pending discussion on the mailing list.

Per the Visual Studio product lifecycle https://learn.microsoft.com/en-us/visualstudio/productinfo/vs-servicing#older-versions-of-visual-studio, VS 2013 and 2015 are currently on extended support, but their support will end during the lifetime of Mbed TLS 3.6 LTS. VS 2017 will expire around the same time as Mbed TLS 3.6.