bug-make
[Top][All Lists]
Advanced

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

Circular variable_set_lists


From: Norman Wilson
Subject: Circular variable_set_lists
Date: Wed, 15 Feb 2006 11:57:28 -0000

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 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.



=================================
Atos Euronext Market Solutions Disclaimer
=================================
The information contained in this e-mail is confidential and solely for the 
intended addressee(s). Unauthorised reproduction, disclosure, modification, 
and/or distribution of this email may be unlawful.
If you have received this email in error, please notify the sender immediately 
and delete it from your system. The views expressed in this message do not 
necessarily reflect those of Atos Euronext Market Solutions.

L'information contenue dans cet e-mail est confidentielle et uniquement 
destinee a la (aux) personnes a laquelle (auxquelle(s)) elle est adressee. 
Toute copie, publication ou diffusion de cet email est interdite. Si cet e-mail 
vous parvient par erreur, nous vous prions de bien vouloir prevenir 
l'expediteur immediatement et d'effacer le e-mail et annexes jointes de votre 
systeme. Le contenu de ce message electronique ne represente pas necessairement 
la position ou le point de vue d'Atos Euronext Market Solutions.





reply via email to

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