bug-make
[Top][All Lists]
Advanced

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

Re: Weird text-dependent bug in $(eval ...), simple test case


From: Jamie Lokier
Subject: Re: Weird text-dependent bug in $(eval ...), simple test case
Date: Wed, 3 Mar 2010 19:48:32 +0000
User-agent: Mutt/1.5.13 (2006-08-11)

Philip Guenther wrote:
> On Sun, Feb 28, 2010 at 6:25 PM, Jamie Lokier <address@hidden> wrote:
> > Both of you have confirmed the bug - because the correct behaviour has
> > no error messages, and you both got messages.  Neither of you was able
> > to reproduce getting a text-dependent number of messages, but both of
> > you see buggy behaviour so it's easy to reproduce a problem to investigate.
> >
> > Nobody wants to investigate this bug further?
> 
> Not to make an insane suggestion, but have you considered filing a bug
> in the GNU bug tracking system, Savannah?
>         http://savannah.gnu.org/projects/make/

I followed the instructions in the GNU Make manual, which says to use
one or another.  If this is not effective, perhaps the manual should
be changed?

In the past (going back 20 years) I have always reported GNU bugs via
mailing lists as instructed in the manuals, and this is first time
someone suggested using Savannah or anything other than a list.  I
didn't really notice Savannah before :-)

> As a side note, I don't understand why you call this a bug in
> $(eval)...as it's completely reproducible without using $(eval)!  Did
> you try testing it directly?  If not, why not?

The full bug is not reproducible (by me) without $(eval).

I find the "/" difference to be surprising, but it could arguably be a
design bug or feature.  If that had been the only problem, I wouldn't
have bothered reporting it at all, as I know several implementations
of Make historically treat "/" specially.

It is the text-dependent weirdness which is clearly a bug.
Unfortunately others haven't been able to reproduce it, and I'm
betting it is dependent on exacty memory conditions and therefore I
won't be able to reproduce it either.  These type of bugs I consider
essential to squash while they are still consistently reproducible.

That's why I suggested looking at the "/" surprise, hoping it would
point to the reasons for the text-dependent weirdness in the same area
of code.  It seems that "/" is due to the glob() call.

Which leads me to contemplate if the glob() results are affected by
the presence or absence of particular directories, rather than text
processing.

> We've seen this on the list now multiple times: it seems that if
> someone first encounters a bug while working with $(eval), they report
> the problem as being in $(eval) and make no attempt to reproduce it
> directly.  Since this is a hinderance to getting good bug reports, it
> would help if you could examine why this happened in this case so that
> it might possible be avoided in the future with others.

Now you know why.  I wouldn't waste anyone's time with a trivially
unnecessary $(eval).  I already reduced the test case to a minimum
from my original large Makefile, where the bug caused build problems.

-- Jamie




reply via email to

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