The bisect worked. The problem was a global initializer:
this actually worked on Windows 7 but on Windows 10 it seems to fail unless you are lucky. Probably some object is not yet initialized in base::Time or the underlying system.
My code is based on 49.0.2623.105.
The problem with MSVS 2015 starts in the python lib which sets vs vars according to what version it detects is installed.
I had trouble with gclient runhooks until I added an empty vcvarsall.bat in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC.
I also had to set GYP_MSVS_VERSION=2015.
With this I was able to complete gclient runhooks but I ran into a problem when I tried ninja -C out/Release:
/e/Work/49.0.2623.105/src$ ninja -C out/Release
ninja: Entering directory `out/Release'
[10/32507] CXX obj\third_party\pdfium\core\src\fpdfdoc\fpdfdoc.doc_basic.obj
FAILED: ninja -t msvc -e environment.x86 -- "" /nologo /showIncludes /FC @obj\third_party\pdfium\core\src\fpdfdoc\fpdfdoc.doc_basic.obj.rsp /c ..\..\third_party\pdfium\core\src\fpdfdoc\doc_basic.cpp /Foobj\third_party\pdfium\core\src\fpdfdoc\fpdfdoc.doc_basic.obj
/Fdobj\third_party\pdfium\fpdfdoc.cc.pdb
ninja: fatal: CreateProcess: The parameter is incorrect.
At this point I gave up on 2015 and went back to 2013. I am happy to try any fixes to this problem.
thanks!!!
-Jim.