New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WiX 3.9 R2 lit.exe/light.exe throw IOExceptions Ending the Build When MultiProc is Enabled under TFS 2103 Team Build #4791
Comments
Well, the stack frame is not well preserved. It's telling me that my exception is coming out of the Run() method of Lit which is a little underwhelming. That leaves me with implementing tracing, adding throws to preserve the stack frames, or adding stacktrace blocks to the deeper catch blocks. I'm going with tracing first.
|
What the trace log looks like so far: [2015-06-11 08:33:55Z] LGHT(I): Entering light. LIT003 is the last, generic catch in the LIt.Run() method (I'll need a better naming convention for the trace--but it was quick). The HRESULT is clearly for a sharing violation. Although frustrating, I continue to dig to illuminate this further.
|
Progress. First MultiProc build of a 10 solution, 2 configuration product: [2015-06-11 13:17:45Z] LGHT(I): Entering light. This build was taking between 40 and 60+ minutes build. This build was 17.3 minutes. Need to stress test to make sure the results are permanent.
|
Checked against both build with IOException sharing violation issue and build with truncated ZIP module. Modifications to CompareFiles() and LayoutMedia() appear to work. Senior manager has directed me to put the fix into production on all four build servers--I will be doing that tonight. Side benefit: modifications to CompareFiles() and allowing MultiProc to work cut a 50 minute build down to 17-19 minutes. Putting up pull request presently.
|
|
John's full PR is too big for wix3. I tried to implement a subset with retries but ran into the need for retries in many different spots. |
Investigate to ensure all the i/o goes through the file system object with retries. |
We currently have an open support ticket with Microsoft for significantly increasing build times since shortly after the migration to TFS 2013 in January 2015. We are under significant pressure to re-enable MultiProc (on by default) on most of our builds. Two issues result when building under MultiProc:
WORKAROUND: Build with MultiProc disabled (single threaded builds). Cost is a 10-15 minute increase in build times.
WORKAROUND: Disable MultiProc with a commensurate (for this build) 5-7 minute increase in build times.
As this issue is rather important to the company, my request for approval to enter into an assignment agreement has been elevated to the CTO who has deposited the agreement for review on the chief counsel's desk. I am supposed to know by the end of the week.
Meanwhile, I am working on modifications to lit.exe/light.exe to mitigate this issue, and I have made some progress. So, I will provisionally take it.
The text was updated successfully, but these errors were encountered: