Ansible request to fix MSVS_2013 broken installation
Ref:
-
https://ci.adoptopenjdk.net/job/VagrantPlaybookCheck/1160/
-
https://ci.adoptopenjdk.net/job/VagrantPlaybookCheck/OS=Win2012,label=vagrant/1153/
-
[ ] Missing install
-
[x] Bug in ansible playbook
-
[ ] Request for new playbook addition
Details: Registering the MSVS_2013 shared libraries (this task), intermittently fails with :
10:59:23 TASK [MSVS_2013 : Register Visual Studio Community 2013 DIA SDK shared libraries] ***
10:59:26 failed: [127.0.0.1] (item=C:\Program Files (x86)\Microsoft Visual Studio 12.0\DIA SDK\bin\msdia120.dll) => {"ansible_loop_var": "item", "changed": true, "cmd": "regsvr32 /s \"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\DIA SDK\\bin\\msdia120.dll\"", "delta": "0:00:00.093433", "end": "2021-05-05 09:57:05.619367", "item": "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\DIA SDK\\bin\\msdia120.dll", "msg": "non-zero return code", "rc": 3, "start": "2021-05-05 09:57:05.525933", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
(return code 3).
There's no stderr because regsvr32 is being run with /s, however that may help with debugging. See: https://devblogs.microsoft.com/oldnewthing/20180921-00/?p=99795 which may give some insight.
According to above, RC=3 means the loadlibrary call is failing (or that it's a red herring). Either way, removing /s will give some insight, so that's where I'll start.
VPC Test, with removal of the /s tag: https://ci.adoptopenjdk.net/job/VagrantPlaybookCheck/1162/#
(the branch I'm doing the work in can be see here: https://github.com/Willsparker/openjdk-infrastructure/tree/2178)
Adding /s did not work, unfortunately, as it caused that task to hang - I'll have to try testing this locally..
It appears our MSVS_2013 installation is broken (I would assume from the same changes that Microsoft did that caused the MSVS_2010 installation to break). The playbook task will report the installation task as correct, but will then fail when registering the libraries ; When I tried MSVS_2013 installation on a local VM, I had an 'Unable to Locate Package Source' issue for VS_PreClean_vs.exe, whatever that means. Anyway, this issue has instead become about getting MSVS_2013 installed correctly
Related: https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1270 Also, this is potentially an important consideration for @andrew-m-leonard as part of https://github.com/adoptium/temurin-build/issues/2522
If we could have a local copy of the installer available, as mentioned in https://github.com/adoptium/infrastructure/issues/1270#issuecomment-639601016, that could provide a solution for this
I have a fix for the VS2013 installation, by creating a local installation media for the Community Edition ( via MSDN subscription ), VS2013 can be installed. The new media has been placed in the vendor files, and Im working on the playbook changes to copy this media, and install from that, rather than via the web downloader.