bug-automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: spy.test in 1.9.3 release under solaris


From: Andy Shelley
Subject: Re: spy.test in 1.9.3 release under solaris
Date: Thu, 11 Nov 2004 17:06:40 -0500

Stepped away from this and slept on it.  Fresh start.

Example failure:
[...]
+ sleep 2
+ touch c
+ make
make: `a' is up to date.
+ cat a
+ test  = rule2

Working along previous thoughts, using perl stat() to dump mtime of a/b/c (since Solaris doesn't come with coreutils stat)....
[...]
+ :
+ perl -e printf "a: %d\n",(stat("a"))[9];printf "c: %d\n",(stat("c"))[9];printf "cur: %d\n",time;
a: 1100206849
c: 1100206845
cur: 1100206849
+ sleep 2
+ touch c
+ perl -e printf "a: %d\n",(stat("a"))[9];printf "c: %d\n",(stat("c"))[9];printf "cur: %d\n",time;
a: 1100206849
c: 1100206851
cur: 1100206851
+ make
echo rule2 >> a
+ cat a
+ test rule2 = rule2

Now success? How very odd. After several combinations of different things, what I finally came up with as a result was that doing a stat of "a" just before the last $sleep made for a successful test. Only for "a", and only at that point in the test. If I did a stat of "b" and "c" at the same time, doesn't seem to matter, as long as I did "a".

Failure:
+ :
+ sleep 2
+ touch c
+ perl -e printf "a: %d\n",(stat("a"))[9];printf "c: %d\n",(stat("c"))[9];printf "cur: %d\n",time;
a: 1100210177
c: 1100210177
cur: 1100210177
+ make
make: `a' is up to date.
+ cat a
+ test  = rule2

Success:
[...]
+ :
+ perl -e printf "a: %d\n",(stat("a"))[9];
a: 1100207032
+ sleep 2
+ touch c
+ make
echo rule2 >> a
+ cat a
+ test rule2 = rule2

To eliminate perl as some sort of issue, I knocked out a C prog to do the same thing ("knocked out" is being generous.. had to scrape off some rust):

Success:
[...]
+ :
+ /var/tmp/mystat a
a : 1100209693
+ sleep 2
+ touch c
+ make
echo rule2 >> a
+ cat a
+ test rule2 = rule2

And, expected failure if we did anything else BUT stat "a"

[...]
+ :
+ /var/tmp/mystat c
c : 1100209835
+ sleep 2
+ touch c
+ make
make: `a' is up to date.
+ cat a
+ test  = rule2

[...]
+ :
+ /var/tmp/mystat a
a : 1100209854
+ /var/tmp/mystat c
c : 1100209850
+ sleep 2
+ touch c
+ make
echo rule2 >> a
+ cat a
+ test rule2 = rule2

None of this resolves any root cause for my environment, though it does seem to trip some trigger. Does this spur some thought out there for those smarter than I?

On Nov 9, 2004, at 6:50 PM, Alexandre Duret-Lutz wrote:

Otherwise Maybe you could try printing these times between each
instruction of spy.test in order to find out when `a' gets its
timestamp equal to `c''s...

--
Andy Shelley
Cbeyond Communications
address@hidden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]