[Top][All Lists]

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

[bug #15757] circular variable_set_list causes hang on SunOS

From: Paul D. Smith
Subject: [bug #15757] circular variable_set_list causes hang on SunOS
Date: Wed, 15 Feb 2006 12:38:45 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051224 Debian/1.5.dfsg-3 Firefox/1.5

Follow-up Comment #7, bug #15757 (project make):

Thanks for the info.  I need to look at it a bit.

There are no fixed size anything in GNU make; everything is dynamic.  Your
guess is logical, but in fact there is an explanation that fits the facts
better that doesn't rely on any resource issue: running "make foo" and "make
everything" where everything is a target that eventually depends on foo, is
very different in one critical aspect that bears directly on this situation:
target-specific variables are inherited through the dependency chain, and
this feature is one of the things that is facilitated by that next pointer. 
So, the longer your chain is from the "top" the more entries are added
to/removed from the chain of variable sets.

Thus, if you run "make foo" your chain may be only one level deep, while if
you run "make everything" by the time make starts to build "foo", your chain
may be 5 levels deep (say).

I need to check your debug results and compare them with the code and think
about this more.  I'm actually more concerned with the fact that you don't
see this on Linux, which seems to imply that it's less of an algorithm error
and more of a heap management error (as you say, maybe memory is not being
initialized on Solaris).  Bizarre.  Unless, there is something non-trivially
different about your build on Solaris vs. Linux?  Maybe there is conditional
code depending on the host OS?  Or, Solaris has extra target-specific
variables defined?  Or...?


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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