URL: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=15757>
Summary: circular variable_set_list causes hang on SunOS Project: make Submitted by: abwilson Submitted on: Wed 02/15/06 at 12:24 Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Component Version: None Platform Version: UNIX Fixed Release: None _______________________________________________________ Details: I'm using make-3.81beta4 on Solaris SunOS 5.9 compiled with Sun cc 5.5. I have a large non-recursive make system which builds around 250 directories of source code. I'm seeing make hang after building roughly half the source. Running up the debugger I see that it's actually going round in circles in the function variable.c:target_environment. This is due to the variable list associated with the target file being circular. The outer loop: for (s = set_list; s != 0; s = s->next) is non-terminating because at some point s->next is somehow ending up pointing back at a previous member of the list. I'm using the same make system to build the same source tree on Linux (Red Hat enterprise 2.6.9-22.0) using make 3.80 and everything works fine, so this is clearly a platform issue. I'm speculating that the error is due to differences in the behaviour of malloc on the two platforms - ie on Solaris malloc is giving back a previously used variable_set_list object with an (accidentally) valid next pointer. But, this is idle speculation. The bug is easily reproducible but only with a large set of makefiles. Is this a known issue? I having found anything in the achieves relating to it. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=15757> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make