[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 14:17:34 -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 #9, bug #15757 (project make):

Hrm.  I rechecked the logic (which is somewhat unusual, by necessity) for the
variable set list push/pop and it seems correct to me.  That means that there
may be somewhere else in the code that's resetting these variables.  It's
very odd that it is so difficult to trigger.  There must be _something_
different about this target--or maybe, the target right before this one?!?!

Here's an idea; you could try to narrow down where the problem occurs by
adding an assertion at strategic places.  You can't use assert() because you
need a statement not a condition, but you can add code like:
  { struct variable_set_list *_p;
    for (_p = global_setlist->next; _p; _p=_p->next)
      if (_p == &global_setlist)

which will kill the program when the loop is detected.  You can then add it
to various spots (for example variable.c:push_new_variable_scope() and
variable.c:pop_variable_scope()).  This may (or may not) help you get closer
to the point where the real error is introduced.  It's possible that turning
on debugging might help you trace what's going on and see what targets make
is considering around when the loop happens.


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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