|
|
Created:
4 years, 2 months ago by Sébastien Marchand Modified:
4 years, 2 months ago CC:
chromium-reviews Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionAutomatically copy the DIA DLL in the Syzygy binaries directory.
Committed: https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399
Committed: https://crrev.com/af7cc2f1de47235b720dafa5536f16666fd282df
Cr-Original-Commit-Position: refs/heads/master@{#422655}
Cr-Commit-Position: refs/heads/master@{#422861}
Patch Set 1 #Patch Set 2 : Add a flag. #Patch Set 3 : Add a toolchain version check #Patch Set 4 : Use the DIA version number instead of the toolchain version. #
Total comments: 3
Patch Set 5 : Reduce the code complexity #
Total comments: 2
Patch Set 6 : Remove useless return #Patch Set 7 : Fix #
Total comments: 2
Patch Set 8 : Remove the 'Maybe' #Patch Set 9 : Remove useless import #Patch Set 10 : Remove useless part of comment. #Patch Set 11 : . #Patch Set 12 : Don't fail hard if DIA is missing. #
Total comments: 2
Messages
Total messages: 69 (35 generated)
sebmarchand@chromium.org changed reviewers: + chrisha@chromium.org
PTAL.
The CQ bit was checked by sebmarchand@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by sebmarchand@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== Automatically copy the DIA DLL in the Syzygy binaries directory. ========== to ========== Automatically copy the DIA DLL in the Syzygy binaries directory. This doesn't ensure that the version of msdia that we're copying is the one that we need, it just copy the Chromium one so it only works if Syzygy is using the same version of VS as Chromium. VS2015 would probably be the last toolchain that we support anyway, so it should be fine? ==========
sebmarchand@chromium.org changed reviewers: + siggi@chromium.org
+siggi@
You could make this accept a toolchain version on the command-line, and have it fail if it can't find the right version?
I'm not sure about this... The toolchains in depot_tools get deleted after 30 days if they're not used, this mean that 'runhooks' will start failing after 30 days if the toolchain gets upgraded.
The CQ bit was checked by sebmarchand@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
PTAnL
Actually, I guess we should simply hardcode the msdiaXXX name we expect? This is implicitly tied to a generation of the toolchain, and is the actual thing we care about.
The CQ bit was checked by sebmarchand@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Done, PTAnL.
https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... File build/get_syzygy_binaries.py (right): https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... build/get_syzygy_binaries.py:307: if binary != 'msdia140.dll': Lift this to a definition at the top of the file? You could probably safely skip the whole os.listdir and fnmatch logic, and simply test for existence and copy, failing if its not found.
Yeah, I just kept this so get a clean error message (e.g. instead of telling you that you're missing msdia140.dll it also tells you which version you have).
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
I'm not sure there's much value in knowing which version is there, but I don't care too much. lgtm
Yeah, I'm not sure if it's super helpful but it doesn't hurt and provide some extra debug info for 'almost' free.
The CQ bit was checked by sebmarchand@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
sebmarchand@chromium.org changed reviewers: + scottmg@chromium.org
+scottmg for owner approval.
https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... File build/get_syzygy_binaries.py (right): https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... build/get_syzygy_binaries.py:305: for binary in os.listdir(dia_sdk_binaries_dir): If you're only copying msdia140.dll, why not just copy it instead of all this?
https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... File build/get_syzygy_binaries.py (right): https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... build/get_syzygy_binaries.py:305: for binary in os.listdir(dia_sdk_binaries_dir): On 2016/10/03 20:20:55, scottmg wrote: > If you're only copying msdia140.dll, why not just copy it instead of all this? Chris had the same question :), I just wanted this to break with a meaningful error message if the invalid version of msdia is missing, e.g. "Invalid version, expecting msdia140.dll but got msdia150.dll". I can remove all of this and just copy mdsia if you also think that this detailed log is missing (and that "msdia140.dll is missing" is enough as an error message).
On 2016/10/03 20:23:42, Sébastien Marchand wrote: > https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... > File build/get_syzygy_binaries.py (right): > > https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... > build/get_syzygy_binaries.py:305: for binary in > os.listdir(dia_sdk_binaries_dir): > On 2016/10/03 20:20:55, scottmg wrote: > > If you're only copying msdia140.dll, why not just copy it instead of all this? > > Chris had the same question :), I just wanted this to break with a meaningful > error message if the invalid version of msdia is missing, e.g. "Invalid version, > expecting msdia140.dll but got msdia150.dll". I can remove all of this and just > copy mdsia if you also think that this detailed log is missing (and that > "msdia140.dll is missing" is enough as an error message). I see. I think "msdia140 not found" is sufficient. But if you think this might help somehow, then lgtm.
On 2016/10/03 20:26:17, scottmg wrote: > On 2016/10/03 20:23:42, Sébastien Marchand wrote: > > > https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... > > File build/get_syzygy_binaries.py (right): > > > > > https://codereview.chromium.org/2365893002/diff/60001/build/get_syzygy_binari... > > build/get_syzygy_binaries.py:305: for binary in > > os.listdir(dia_sdk_binaries_dir): > > On 2016/10/03 20:20:55, scottmg wrote: > > > If you're only copying msdia140.dll, why not just copy it instead of all > this? > > > > Chris had the same question :), I just wanted this to break with a meaningful > > error message if the invalid version of msdia is missing, e.g. "Invalid > version, > > expecting msdia140.dll but got msdia150.dll". I can remove all of this and > just > > copy mdsia if you also think that this detailed log is missing (and that > > "msdia140.dll is missing" is enough as an error message). > > I see. I think "msdia140 not found" is sufficient. But if you think this might > help somehow, then lgtm. (But I guess if you're going to keep it, then you should explain that in a comment before the loop since apparently everyone who reads it has the same question. :)
The CQ bit was checked by sebmarchand@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Bah, I've removed this extra complexity, saying that the DLL is missing is probably enough (and I expect this to be gone long before the switch to VC 15.0+)
lgtm https://codereview.chromium.org/2365893002/diff/80001/build/get_syzygy_binari... File build/get_syzygy_binaries.py (right): https://codereview.chromium.org/2365893002/diff/80001/build/get_syzygy_binari... build/get_syzygy_binaries.py:312: dia_dll_dest = os.path.join(options.output_dir, 'exe', binary) binary -> _DIA_DLL_NAME https://codereview.chromium.org/2365893002/diff/80001/build/get_syzygy_binari... build/get_syzygy_binaries.py:318: return Remove 'return'
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Exceeded global retry quota
The CQ bit was checked by sebmarchand@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2365893002/diff/120001/build/get_syzygy_binar... File build/get_syzygy_binaries.py (right): https://codereview.chromium.org/2365893002/diff/120001/build/get_syzygy_binar... build/get_syzygy_binaries.py:290: def _MaybeCopyDIABinaries(options, contents): I guess it shouldn't be called "Maybe..." any more either as it either succeeds at copying or raises. (If you do that, I'd probably make the _LOGGER.debug with early return be raise too if that doesn't break something.)
Patchset #8 (id:140001) has been deleted
Description was changed from ========== Automatically copy the DIA DLL in the Syzygy binaries directory. This doesn't ensure that the version of msdia that we're copying is the one that we need, it just copy the Chromium one so it only works if Syzygy is using the same version of VS as Chromium. VS2015 would probably be the last toolchain that we support anyway, so it should be fine? ========== to ========== Automatically copy the DIA DLL in the Syzygy binaries directory. ==========
Patchset #8 (id:160001) has been deleted
https://codereview.chromium.org/2365893002/diff/120001/build/get_syzygy_binar... File build/get_syzygy_binaries.py (right): https://codereview.chromium.org/2365893002/diff/120001/build/get_syzygy_binar... build/get_syzygy_binaries.py:290: def _MaybeCopyDIABinaries(options, contents): On 2016/10/03 21:47:03, scottmg wrote: > I guess it shouldn't be called "Maybe..." any more either as it either succeeds > at copying or raises. > > (If you do that, I'd probably make the _LOGGER.debug with early return be raise > too if that doesn't break something.) Ha good point, initially this function was only a 'best effort' thing (i.e. copy the dll if it's there, skip it otherwise), but I can't think of any reason why it might be missing.
The CQ bit was checked by sebmarchand@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from chrisha@chromium.org, scottmg@chromium.org Link to the patchset: https://codereview.chromium.org/2365893002/#ps240001 (title: ".")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #11 (id:240001)
Message was sent while issue was closed.
Description was changed from ========== Automatically copy the DIA DLL in the Syzygy binaries directory. ========== to ========== Automatically copy the DIA DLL in the Syzygy binaries directory. Committed: https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 Cr-Commit-Position: refs/heads/master@{#422655} ==========
Message was sent while issue was closed.
Patchset 11 (id:??) landed as https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 Cr-Commit-Position: refs/heads/master@{#422655}
Message was sent while issue was closed.
On 2016/10/04 01:28:14, commit-bot: I haz the power wrote: > Patchset 11 (id:??) landed as > https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 > Cr-Commit-Position: refs/heads/master@{#422655} I'm afraid this addition has broken gclient sync when you use it with DEPOT_TOOLS_WIN_TOOLCHAIN=0. I have not been able to sync dependencies since then... Claudio.
Message was sent while issue was closed.
A revert of this CL (patchset #11 id:240001) has been created in https://codereview.chromium.org/2390993002/ by sebmarchand@chromium.org. The reason for reverting is: Break gclient for the open contributors..
Message was sent while issue was closed.
Description was changed from ========== Automatically copy the DIA DLL in the Syzygy binaries directory. Committed: https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 Cr-Commit-Position: refs/heads/master@{#422655} ========== to ========== Automatically copy the DIA DLL in the Syzygy binaries directory. Committed: https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 Cr-Commit-Position: refs/heads/master@{#422655} ==========
I've made some changes to not fail hard. The non-Google contributors don't have the automated toolchain and so it doesn't work for them. This isn't a big deal as this dll is mostly for our builders (the local devs can always manually register msdia if they need it). PTAnL
lgtm with a nit https://codereview.chromium.org/2365893002/diff/260001/build/get_syzygy_binar... File build/get_syzygy_binaries.py (right): https://codereview.chromium.org/2365893002/diff/260001/build/get_syzygy_binar... build/get_syzygy_binaries.py:405: 'binaries directory if it\'s available.') update this comment to reflect that it will *try*.
https://codereview.chromium.org/2365893002/diff/260001/build/get_syzygy_binar... File build/get_syzygy_binaries.py (right): https://codereview.chromium.org/2365893002/diff/260001/build/get_syzygy_binar... build/get_syzygy_binaries.py:405: 'binaries directory if it\'s available.') On 2016/10/04 15:14:36, chrisha (slow) wrote: > update this comment to reflect that it will *try*. It already mention "If it's available", isn't it enough?
Ah, missed that. lgtm!
The CQ bit was checked by sebmarchand@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from scottmg@chromium.org Link to the patchset: https://codereview.chromium.org/2365893002/#ps260001 (title: "Don't fail hard if DIA is missing.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Automatically copy the DIA DLL in the Syzygy binaries directory. Committed: https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 Cr-Commit-Position: refs/heads/master@{#422655} ========== to ========== Automatically copy the DIA DLL in the Syzygy binaries directory. Committed: https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 Cr-Commit-Position: refs/heads/master@{#422655} ==========
Message was sent while issue was closed.
Committed patchset #12 (id:260001)
Message was sent while issue was closed.
Description was changed from ========== Automatically copy the DIA DLL in the Syzygy binaries directory. Committed: https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 Cr-Commit-Position: refs/heads/master@{#422655} ========== to ========== Automatically copy the DIA DLL in the Syzygy binaries directory. Committed: https://crrev.com/f34c072397b99c313e79cd10a77f5ca397154399 Committed: https://crrev.com/af7cc2f1de47235b720dafa5536f16666fd282df Cr-Original-Commit-Position: refs/heads/master@{#422655} Cr-Commit-Position: refs/heads/master@{#422861} ==========
Message was sent while issue was closed.
Patchset 12 (id:??) landed as https://crrev.com/af7cc2f1de47235b720dafa5536f16666fd282df Cr-Commit-Position: refs/heads/master@{#422861} |