Обсуждение: MSVC build failure not exiting with proper error ststus

Поиск
Список
Период
Сортировка

MSVC build failure not exiting with proper error ststus

От
Andrew Dunstan
Дата:
mastodon and skylark just failed at the make stage due to a thinko on my 
part (now fixed). However, this is not correctly caught by the buildfarm 
script, meaning that the process invoked at this stage ('build 2>&1') is 
not exiting properly with a non-zero status on error. That needs to be 
fixed.

cheers

andrew


Re: MSVC build failure not exiting with proper error ststus

От
Magnus Hagander
Дата:
Andrew Dunstan wrote:
> 
> mastodon and skylark just failed at the make stage due to a thinko on my
> part (now fixed). However, this is not correctly caught by the buildfarm
> script, meaning that the process invoked at this stage ('build 2>&1') is
> not exiting properly with a non-zero status on error. That needs to be
> fixed.

I was just checking this, and I'm not sure what the problem is. I tried
updating to the broken version of solution.pm (the one missing the
quotes around --with-pgport), and it works for me. Insofar that I get
errorlevel 255 set when exiting the process. Both if I run "perl
mkvcbuild.pl" and if I run "build" (yes, also for build 2>&1).

The error given is "Can't modify constant item in predecrement" and then
a compile error.

Am I testing the wrong thing? Could it be that the buildfarm script is
somehow not picking up error code 255? (in all cases where it's errors
from the vc++ tools, I think it's always errorcode 1 or 2)

//Magnus


Re: MSVC build failure not exiting with proper error ststus

От
Andrew Dunstan
Дата:

Magnus Hagander wrote:
> Andrew Dunstan wrote:
>   
>> mastodon and skylark just failed at the make stage due to a thinko on my
>> part (now fixed). However, this is not correctly caught by the buildfarm
>> script, meaning that the process invoked at this stage ('build 2>&1') is
>> not exiting properly with a non-zero status on error. That needs to be
>> fixed.
>>     
>
> I was just checking this, and I'm not sure what the problem is. I tried
> updating to the broken version of solution.pm (the one missing the
> quotes around --with-pgport), and it works for me. Insofar that I get
> errorlevel 255 set when exiting the process. Both if I run "perl
> mkvcbuild.pl" and if I run "build" (yes, also for build 2>&1).
>
> The error given is "Can't modify constant item in predecrement" and then
> a compile error.
>
> Am I testing the wrong thing? Could it be that the buildfarm script is
> somehow not picking up error code 255? (in all cases where it's errors
> from the vc++ tools, I think it's always errorcode 1 or 2)
>   


The code executed is:

chdir "$pgsql/src/tools/msvc";
@makeout = `build 2>&1`;
chdir $branch_root;
my $status = $? >>8;

The perl docs say this about $?:

The status returned by the last pipe close, backtick (‘‘) com-
mand, successful call to wait() or waitpid(), or from the sys-
tem() operator. This is just the 16-bit status word returned
by the wait() system call (or else is made up to look like it).
Thus, the exit value of the subprocess is really ("$? >> 8"),
and "$? & 127" gives which signal, if any, the process died
from, and "$? & 128" reports whether there was a core dump.

cheers

andrew