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 <ms...@gmail.com> on 2007/10/26 23:57:40 UTC

Intel C++ 9.1/Win XP build timeouts

[Forwarding a private discussion]

Farid, would it be possible to update the Windows build script(s) to
write out the info below?

Also, do you have any idea why the build cscript would refuse to die
when killed like Andrew says?

(BATMAN is the Rogue Wave Build And Test MANager used to run nightly
builds.)

Thanks
Martin

Andrew Black wrote:
> Martin Sebor wrote:
>> Andrew Black wrote:
>>> Greetings Martin
>>>
>>> The short version is that your builds are taking longer than the allowed
>>> 6 hour window, and the copy of watchdog used by batman is killing the
>>> glue script while the build is still in progress.  Because the glue
>>> script is killed, post processing of the builds doesn't occur, and
>>> therefore the batman doesn't have a result file to parse and populate
>>> the index page.
>> All the builds run for quite a bit longer than 6 hours, some 7, some 8,
>> and others as long as 9. It seems strange that they are allowed to run
>> so much longer than the 6 hour timeout.
> 
> My analysis of the situation is that the Batman watchdog utility kills
> the batch glue script, but doesn't kill the cscript instance used to
> perform the build and run process.
> 
>> Another strange thing is that according to the times displayed by exec
>> the individual components (locales, tests, and examples) don't look like
>> they run any longer than the longest running builds (XLC++/AIX). In fact
>> they look like they run much faster. So I wonder where the rest of the
>> time is being spent. Compilation and linking?
>>
>> I'd like to update the build and test infrastructure to track the amount
>> of time spent at each stage:
>>
>>   1. configuration (build script)
>>   2. building the library (build script)
>>   3. building the examples (build script)
>>   4. building the rwtest library (build script)
>>   5. building the tests (build script)
>>   6. building all the utilities (build script)
>>   7. running all the examples (exec)
>>   8. running all the tests (exec)
>>   9. running all the locale tests (exec)
>>
>> Can you update the build script(s) to write out this information?
>> (Just printing the date + time at the end of each stage should be
>> sufficient.) I'll work on enhancing the exec utility to print out
>> the cumulative time(s) for all the programs it runs. Once we have
>> this information it should be easy to determine what is the
>> bottleneck.
> 
> I can not.  The script responsible for the build process is the
> build.wsf script, located in etc/config/windows.  The last point the
> glue script has control of the build process is the message reading '###
> Building solution / Creating HTML log' is printed out.
> 
> --Andrew Black


Re: Intel C++ 9.1/Win XP build timeouts

Posted by Martin Sebor <se...@roguewave.com>.
Andrew Black wrote:
> Travis Vitek wrote:
>> Martin Sebor wrote:
>>> Farid Zaripov wrote:
>>>>   Maybe the BATMAN could do this before executing the batch file?
>>> Sounds like that would be the right place to make the change. Let
>>> me see if we can get it implemented on the Batman side of things,
>>> or in the build script.
>>>
>>> Travis, do you have enough experience with the Windows Scripting
>>> Host to modify the stdcxx build script that Batman invokes to do
>>> this?
>>>
>>> Martin
>>>
>> No, I don't have mush experience with WSH. I don't even know the name of the
>> script that Batman invokes for building stdcxx. I'm sure I could figure it
>> out though.
> 
> Batman invokes an internal glue script.  That script in turn 'call's the
> generated build_<compiler>.bat script.  My understanding of the
> semantics of the call batch command is that it executes the script in
> question within the current process (like the unix . operator).

Hmm. This really does seem like a Batman problem, Travis' comments
below notwithstanding. We shouldn't need to do anything special to
help Batman kill our own builds. Another way to look at it is that
Batman (or any test harness) shouldn't be relying on the products
it tests to function correctly.

> 
> --Andrew Black
> 
>> Unfortunately I'd prefer if we could find a solution outside of Batman.
>> Occasionally, I want to stop a build that I'm running locally. CTRL+C will
>> get my command prompt back, but it often leaves some of the other processes
>> running, or stuck in a bad state [devenv.exe, cscript.exe, exec.exe, ...].

I've noticed this too. It is annoying and it would be nice to fix
it (even if Batman does implement its own solution). Unfortunately,
I know next to nothing about WSH or Windows job control and I doubt
I'll have the time or the energy to work on it in the near future.
If someone would like to look into it as their pet project that
would be cool ;-)

Martin

Re: Intel C++ 9.1/Win XP build timeouts

Posted by Andrew Black <ab...@roguewave.com>.
Travis Vitek wrote:
> Martin Sebor wrote:
>> Farid Zaripov wrote:
>>>   Maybe the BATMAN could do this before executing the batch file?
>> Sounds like that would be the right place to make the change. Let
>> me see if we can get it implemented on the Batman side of things,
>> or in the build script.
>>
>> Travis, do you have enough experience with the Windows Scripting
>> Host to modify the stdcxx build script that Batman invokes to do
>> this?
>>
>> Martin
>>
> 
> No, I don't have mush experience with WSH. I don't even know the name of the
> script that Batman invokes for building stdcxx. I'm sure I could figure it
> out though.

Batman invokes an internal glue script.  That script in turn 'call's the
generated build_<compiler>.bat script.  My understanding of the
semantics of the call batch command is that it executes the script in
question within the current process (like the unix . operator).

--Andrew Black

> 
> Unfortunately I'd prefer if we could find a solution outside of Batman.
> Occasionally, I want to stop a build that I'm running locally. CTRL+C will
> get my command prompt back, but it often leaves some of the other processes
> running, or stuck in a bad state [devenv.exe, cscript.exe, exec.exe, ...].
> 
> Travis

Re: Intel C++ 9.1/Win XP build timeouts

Posted by Travis Vitek <vi...@roguewave.com>.


Martin Sebor wrote:
> 
> Farid Zaripov wrote:
>> 
>>   Maybe the BATMAN could do this before executing the batch file?
> 
> Sounds like that would be the right place to make the change. Let
> me see if we can get it implemented on the Batman side of things,
> or in the build script.
> 
> Travis, do you have enough experience with the Windows Scripting
> Host to modify the stdcxx build script that Batman invokes to do
> this?
> 
> Martin
> 

No, I don't have mush experience with WSH. I don't even know the name of the
script that Batman invokes for building stdcxx. I'm sure I could figure it
out though.

Unfortunately I'd prefer if we could find a solution outside of Batman.
Occasionally, I want to stop a build that I'm running locally. CTRL+C will
get my command prompt back, but it often leaves some of the other processes
running, or stuck in a bad state [devenv.exe, cscript.exe, exec.exe, ...].

Travis
-- 
View this message in context: http://www.nabble.com/Intel-C%2B%2B-9.1-Win-XP-build-timeouts-tf4699975.html#a13552059
Sent from the stdcxx-dev mailing list archive at Nabble.com.


Re: Intel C++ 9.1/Win XP build timeouts

Posted by Martin Sebor <se...@roguewave.com>.
Farid Zaripov wrote:
>> -----Original Message-----
>> From: Martin Sebor [mailto:msebor@gmail.com] 
>> Sent: Saturday, October 27, 2007 12:58 AM
>> To: stdcxx-dev@incubator.apache.org
>> Subject: Intel C++ 9.1/Win XP build timeouts
>>
>> [Forwarding a private discussion]
>>
>> Farid, would it be possible to update the Windows build 
>> script(s) to write out the info below?
> 
>   Done: http://svn.apache.org/viewvc?rev=590279&view=rev

Great, thanks! Let's keep an eye on the Intel C++ builds on Windows
XP and try to figure out what the bottleneck is.

> 
>> Also, do you have any idea why the build cscript would refuse 
>> to die when killed like Andrew says?
> 
>   Because they are the different processes (cscript is the child
> process of the  build_xxx.bat). But when some process is killed
> the child processes are not killed. They would be killed if the all
> processes belongs to the same job object. But I don't know
> how create the job object and assign to it from the batch file.
> 
>   Maybe the BATMAN could do this before executing the batch file?

Sounds like that would be the right place to make the change. Let
me see if we can get it implemented on the Batman side of things,
or in the build script.

Travis, do you have enough experience with the Windows Scripting
Host to modify the stdcxx build script that Batman invokes to do
this?

Martin

RE: Intel C++ 9.1/Win XP build timeouts

Posted by Farid Zaripov <Fa...@epam.com>.
> -----Original Message-----
> From: Martin Sebor [mailto:msebor@gmail.com] 
> Sent: Saturday, October 27, 2007 12:58 AM
> To: stdcxx-dev@incubator.apache.org
> Subject: Intel C++ 9.1/Win XP build timeouts
> 
> [Forwarding a private discussion]
> 
> Farid, would it be possible to update the Windows build 
> script(s) to write out the info below?

  Done: http://svn.apache.org/viewvc?rev=590279&view=rev

> Also, do you have any idea why the build cscript would refuse 
> to die when killed like Andrew says?

  Because they are the different processes (cscript is the child
process of the  build_xxx.bat). But when some process is killed
the child processes are not killed. They would be killed if the all
processes belongs to the same job object. But I don't know
how create the job object and assign to it from the batch file.

  Maybe the BATMAN could do this before executing the batch file?

Farid.