You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Martin Sebor <se...@roguewave.com> on 2006/12/05 18:21:18 UTC

duplicate error message in Windows builds

A couple of our Windows/MSVC builds have failed due
to low disk space. That's okay and we'll look into
why we're running out of space. The problem I'm
writing about is that the error message at the end
of the log is repeated 124 times. I'm not sure if
the error message is coming out of the stdcxx build
infrastructure or the Rogue Wave part that invokes
it. Andrew and Farid, could you guys look into it
and see if you could fix whatever is causing the
message to be repeated?

Thanks
Martin

422>------ Build started: Project: .stdlib_tests, Configuration: 15s 
Debug Thread-safe Static Win32 ------
422>Performing Pre-Build Event...
422>Performing Custom Build Step
422>CScript Error: Initialization of the Windows Script Host failed. 
(Not enough storage is available to process thPath 
D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
not found
Path 
D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
not found
Path 
D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
not found

Re: duplicate error message in Windows builds

Posted by Martin Sebor <se...@roguewave.com>.
Andrew Black wrote:
> Martin Sebor wrote:
> [...]
>> There's no point in continuing to try to build all
>> the downstream projects after a required dependency
>> fails. I thought even VisualStudio understood that.
>> Doesn't the GUI behave that way?
> 
> I ran a test build through the GUI, and I observed the same behavior as 
> in the the command line builds, mainly that the process doesn't short 
> circuit.  I've asked one of our coworkers who works with Visual Studio, 
> and he also was unable to find any switches or solution options to alter 
> this behavior.  He did note that makefile based projects will terminate 
> the build process when an entire solution is built.

Of course they will. That's the only thing that makes sense.
I have a hard time believing that not avoiding the building
of dependencies is by design. I wonder if the dependencies
among our projects are set up correctly. It would be helpful
to confirm this behavior in a small test case.

> 
> In my opinion, the generated build_foo.bat script should be altered such 
> that it builds the .configure, .stdlib, .stdlib_examples, .rwtest, 
> .stdlib_tests and .stdlib_locales and .stdlib_localetests projects in a 
> sequential manner, checking the return code from building the 
> .configure, .stdlib and .rwtest projects.

That would make sense as a workaround if we can't get Visual
Studio to behave in a reasonable way. But it's not the ideal
solution since it increases the coupling between the script
and the infrastructure (the same is true on UNIX).

> 
> There are a couple related changes that I would like to see as 
> improvements.  The first change is to the behavior of the 
> stdlib_examples, .stdlib_tests and .stdlib_localetests targets.  When 
> these targets are built, they run the generated executables.  To me, it 
> would make more sense if they were run when the target was run, rather 
> than built.  A potential problem I see with making this change is that 
> devenv might try to run all the dependencies prior to running the target.

We might need to have two separate projects for each set of
components (examples, tests, and locale tests): one to build
them all and another to run them.

Btw., the names of these projects should be stdcxx, not stdlib.

Farid, does this sound like a good approach to you?

> 
> The second change I would like to see is in how the exec utility is used 
> within these targets.  The utility is designed to run multiple targets 
> in a single invocation, and I believe it is more efficient to do so, 
> rather than calling it with a single target for every executable in the 
> set.

I agree. I would also like to see this change. Farid, what's
your opinion? Is it doable and reasonably easy?

Martin


Re: duplicate error message in Windows builds

Posted by Andrew Black <ab...@roguewave.com>.
Martin Sebor wrote:
[...]
> There's no point in continuing to try to build all
> the downstream projects after a required dependency
> fails. I thought even VisualStudio understood that.
> Doesn't the GUI behave that way?

I ran a test build through the GUI, and I observed the same behavior as 
in the the command line builds, mainly that the process doesn't short 
circuit.  I've asked one of our coworkers who works with Visual Studio, 
and he also was unable to find any switches or solution options to alter 
this behavior.  He did note that makefile based projects will terminate 
the build process when an entire solution is built.

In my opinion, the generated build_foo.bat script should be altered such 
that it builds the .configure, .stdlib, .stdlib_examples, .rwtest, 
.stdlib_tests and .stdlib_locales and .stdlib_localetests projects in a 
sequential manner, checking the return code from building the 
.configure, .stdlib and .rwtest projects.

There are a couple related changes that I would like to see as 
improvements.  The first change is to the behavior of the 
stdlib_examples, .stdlib_tests and .stdlib_localetests targets.  When 
these targets are built, they run the generated executables.  To me, it 
would make more sense if they were run when the target was run, rather 
than built.  A potential problem I see with making this change is that 
devenv might try to run all the dependencies prior to running the target.

The second change I would like to see is in how the exec utility is used 
within these targets.  The utility is designed to run multiple targets 
in a single invocation, and I believe it is more efficient to do so, 
rather than calling it with a single target for every executable in the set.

--Andrew Black

> 
> Martin


Re: duplicate error message in Windows builds

Posted by Martin Sebor <se...@roguewave.com>.
Andrew Black wrote:
[...]
> Upon tracing the code, I find that the messages are being emitted by the 
> saveBuildFailure function in summary.js.  This method appears to append 
> blocks of HTML to a temporary file which is used in the generation of 
> the final result page.

Okay, so that's something Farid will know how to deal
with.

> 
> Glancing at the output from devenv /? doesn't point me at any switches 
> that appear to be particularly useful for short-circuiting out of the 
> build process.  If short circuiting is desired behavior, it may be 
> necessary to build the product project by project, rather than having 
> devenv build everything.

There's no point in continuing to try to build all
the downstream projects after a required dependency
fails. I thought even VisualStudio understood that.
Doesn't the GUI behave that way?

Martin

> 
> --Andrew Black
> 
> Martin Sebor wrote:
> 
>> Also in the same builds we continue trying to build
>> other components (utilities, rwtest, etc.) after the
>> library failed to build instead of aborting right
>> away. This seems like a problem with the Windows
>> stdcxx build infrastructure -- Farid, do you have
>> any insight into how to prevent the build from
>> continuing after the library failure?
>>
>> Martin
>>
>> Martin Sebor+ wrote:
>>
>>> A couple of our Windows/MSVC builds have failed due
>>> to low disk space. That's okay and we'll look into
>>> why we're running out of space. The problem I'm
>>> writing about is that the error message at the end
>>> of the log is repeated 124 times. I'm not sure if
>>> the error message is coming out of the stdcxx build
>>> infrastructure or the Rogue Wave part that invokes
>>> it. Andrew and Farid, could you guys look into it
>>> and see if you could fix whatever is causing the
>>> message to be repeated?
>>>
>>> Thanks
>>> Martin
>>>
>>> 422>------ Build started: Project: .stdlib_tests, Configuration: 15s 
>>> Debug Thread-safe Static Win32 ------
>>> 422>Performing Pre-Build Event...
>>> 422>Performing Custom Build Step
>>> 422>CScript Error: Initialization of the Windows Script Host failed. 
>>> (Not enough storage is available to process thPath 
>>> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
>>> not found
>>> Path 
>>> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
>>> not found
>>> Path 
>>> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
>>> not found
>>
>>


Re: duplicate error message in Windows builds

Posted by Andrew Black <ab...@roguewave.com>.
Greetings Martin.

The glue script calls devenv to build the product via the generated 
batch file.  Before and after calling the batch file, the glue script 
prints a status message starting with ###.  The lines in question are 
prior to the third instance in the script (immediately after the 
generated batch file has been run).

The location of the source can be further narrowed, if it is noted that 
the lines beginning with NNN> are coming from devenv.  The number 
indicates the serial number (essentially) of the project being built. 
As the repeated lines don't include such a leader, that means it comes 
after devenv has been invoked, and that indicates the makelog.wsf script.

Upon tracing the code, I find that the messages are being emitted by the 
saveBuildFailure function in summary.js.  This method appears to append 
blocks of HTML to a temporary file which is used in the generation of 
the final result page.

Glancing at the output from devenv /? doesn't point me at any switches 
that appear to be particularly useful for short-circuiting out of the 
build process.  If short circuiting is desired behavior, it may be 
necessary to build the product project by project, rather than having 
devenv build everything.

--Andrew Black

Martin Sebor wrote:
> Also in the same builds we continue trying to build
> other components (utilities, rwtest, etc.) after the
> library failed to build instead of aborting right
> away. This seems like a problem with the Windows
> stdcxx build infrastructure -- Farid, do you have
> any insight into how to prevent the build from
> continuing after the library failure?
> 
> Martin
> 
> Martin Sebor+ wrote:
>> A couple of our Windows/MSVC builds have failed due
>> to low disk space. That's okay and we'll look into
>> why we're running out of space. The problem I'm
>> writing about is that the error message at the end
>> of the log is repeated 124 times. I'm not sure if
>> the error message is coming out of the stdcxx build
>> infrastructure or the Rogue Wave part that invokes
>> it. Andrew and Farid, could you guys look into it
>> and see if you could fix whatever is causing the
>> message to be repeated?
>>
>> Thanks
>> Martin
>>
>> 422>------ Build started: Project: .stdlib_tests, Configuration: 15s 
>> Debug Thread-safe Static Win32 ------
>> 422>Performing Pre-Build Event...
>> 422>Performing Custom Build Step
>> 422>CScript Error: Initialization of the Windows Script Host failed. 
>> (Not enough storage is available to process thPath 
>> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
>> not found
>> Path 
>> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
>> not found
>> Path 
>> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
>> not found
> 

Re: duplicate error message in Windows builds

Posted by Martin Sebor <se...@roguewave.com>.
Also in the same builds we continue trying to build
other components (utilities, rwtest, etc.) after the
library failed to build instead of aborting right
away. This seems like a problem with the Windows
stdcxx build infrastructure -- Farid, do you have
any insight into how to prevent the build from
continuing after the library failure?

Martin

Martin Sebor wrote:
> A couple of our Windows/MSVC builds have failed due
> to low disk space. That's okay and we'll look into
> why we're running out of space. The problem I'm
> writing about is that the error message at the end
> of the log is repeated 124 times. I'm not sure if
> the error message is coming out of the stdcxx build
> infrastructure or the Rogue Wave part that invokes
> it. Andrew and Farid, could you guys look into it
> and see if you could fix whatever is causing the
> message to be repeated?
> 
> Thanks
> Martin
> 
> 422>------ Build started: Project: .stdlib_tests, Configuration: 15s 
> Debug Thread-safe Static Win32 ------
> 422>Performing Pre-Build Event...
> 422>Performing Custom Build Step
> 422>CScript Error: Initialization of the Windows Script Host failed. 
> (Not enough storage is available to process thPath 
> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
> not found
> Path 
> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
> not found
> Path 
> D:\bman5\builds\33243709\source-buildspace\build\msvc-8.0\15s\tests\Summary.htm 
> not found