Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Nov 2002 13:09:14 +0300 (MSK)
From:      Seva Gluschenko <gvs@rinet.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        noc@rinet.ru
Subject:   ports/45311: make fetch-recursive in ports eats resources for waste
Message-ID:  <200211151009.gAFA9E9i046314@gemnet.ru>

next in thread | raw e-mail | index | archive | help

>Number:         45311
>Category:       ports
>Synopsis:       make fetch-recursive in ports eats resources for waste
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 15 02:10:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Seva Gluschenko
>Release:        FreeBSD 4.7-STABLE i386
>Organization:
JSC Demos-Internet
>Environment:
System: FreeBSD gemnet.ru 4.7-STABLE FreeBSD 4.7-STABLE #8: Fri Nov 15 10:18:34 MSK 2002 root@gemnet.ru:/cl/obj/cl/system/sys/gem i386


	
>Description:
	When trying to make fetch-recursive it appears under certain circumstances
	to cycle at spawning child processes verifying make conditions, so problem
	is maybe in ports/Mk
>How-To-Repeat:
	cd /usr/ports/devel/gettext
	make fetch-recursive

	After certain amount of time you'll maybe get messages like "cannot fork:
	resource is temporarily unavailable" and notice that your swap is filling out.
	Running ps -auwwx I've got some information about the process:

[]
root    10852  0,0  0,0   660    0  p0  IW   -         0:00,00 (sh)
root    10853  0,0  0,0   660  216  p0  I    12:54PM   0:00,00 /bin/sh -ec checked="/usr/ports/converters/libiconv  /usr/ports/devel
/libtool  ";  for dir in $(echo " gmake:/usr/ports/devel/gmake libtool:/usr/ports/devel/libtool  " | /usr/bin/tr '\\040' '\\012' | /
usr/bin/sed -e 's/^[^:]*://' -e 's/:.*//') $(echo  | /usr/bin/tr '\\040' '\\012' | /usr/bin/sed -e 's/:.*//'); do  if [ -d $dir ]; t
hen  if (echo $checked | /usr/bin/grep -qwv "$dir"); then  child=$(cd $dir; make PARENT_CHECKED="$checked" all-depends-list);  for d
 in $child; do echo $d; done;  echo $dir;  checked="$dir $child $checked";  fi;  else  echo "expat-1.95.1_1: \\"$dir\\" non-existent
 -- dependency list incomplete" >&2;  fi;  done | sort -u
root    10855  0,0  0,0  2028  464  p0  I    12:54PM   0:00,00 sort -u
root    10866  0,0  0,0   652    0  p0  IW   -         0:00,00 make PARENT_CHECKED=/usr/ports/converters/libiconv  /usr/ports/devel/
libtool   all-depends-list
root    10871  0,0  0,0   660    0  p0  IW   -         0:00,00 (sh)
root    10872  0,0  0,0   660  216  p0  I    12:54PM   0:00,00 /bin/sh -ec checked="/usr/ports/converters/libiconv  /usr/ports/devel
/libtool  ";  for dir in $(echo "  intl.4:/usr/ports/devel/gettext " | /usr/bin/tr '\\040' '\\012' | /usr/bin/sed -e 's/^[^:]*://' -
e 's/:.*//') $(echo  | /usr/bin/tr '\\040' '\\012' | /usr/bin/sed -e 's/:.*//'); do  if [ -d $dir ]; then  if (echo $checked | /usr/
bin/grep -qwv "$dir"); then  child=$(cd $dir; make PARENT_CHECKED="$checked" all-depends-list);  for d in $child; do echo $d; done;
 echo $dir;  checked="$dir $child $checked";  fi;  else  echo "gmake-3.80: \\"$dir\\" non-existent -- dependency list incomplete" >&
2;  fi;  done | sort -u
root    10874  0,0  0,0  2028  464  p0  I    12:54PM   0:00,00 sort -u
root    10885  0,0  0,0   664    0  p0  IW   -         0:00,00 make PARENT_CHECKED=/usr/ports/converters/libiconv  /usr/ports/devel/
libtool   all-depends-list
root    10898  0,0  0,0   660    0  p0  IW   -         0:00,00 (sh)
root    10899  0,0  0,0   660  212  p0  I    12:54PM   0:00,00 /bin/sh -ec checked="/usr/ports/converters/libiconv  /usr/ports/devel
/libtool  ";  for dir in $(echo " libtool:/usr/ports/devel/libtool iconv.3:/usr/ports/converters/libiconv  expat.4:/usr/ports/textpr
oc/expat2 " | /usr/bin/tr '\\040' '\\012' | /usr/bin/sed -e 's/^[^:]*://' -e 's/:.*//') $(echo  | /usr/bin/tr '\\040' '\\012' | /usr
/bin/sed -e 's/:.*//'); do  if [ -d $dir ]; then  if (echo $checked | /usr/bin/grep -qwv "$dir"); then  child=$(cd $dir; make PARENT
_CHECKED="$checked" all-depends-list);  for d in $child; do echo $d; done;  echo $dir;  checked="$dir $child $checked";  fi;  else
echo "gettext-0.11.5_1: \\"$dir\\" non-existent -- dependency list incomplete" >&2;  fi;  done | sort -u
root    10901  0,0  0,0  2028  464  p0  I    12:54PM   0:00,01 sort -u
root    10918  0,0  0,0   656    0  p0  IW   -         0:00,00 make PARENT_CHECKED=/usr/ports/converters/libiconv  /usr/ports/devel/
libtool   all-depends-list
root    10929  0,0  0,0   660    0  p0  IW   -         0:00,00 (sh)
root    10930  0,0  0,0   660  216  p0  I    12:54PM   0:00,00 /bin/sh -ec checked="/usr/ports/converters/libiconv  /usr/ports/devel
/libtool  ";  for dir in $(echo " gmake:/usr/ports/devel/gmake libtool:/usr/ports/devel/libtool  " | /usr/bin/tr '\\040' '\\012' | /
usr/bin/sed -e 's/^[^:]*://' -e 's/:.*//') $(echo  | /usr/bin/tr '\\040' '\\012' | /usr/bin/sed -e 's/:.*//'); do  if [ -d $dir ]; t
hen  if (echo $checked | /usr/bin/grep -qwv "$dir"); then  child=$(cd $dir; make PARENT_CHECKED="$checked" all-depends-list);  for d
 in $child; do echo $d; done;  echo $dir;  checked="$dir $child $checked";  fi;  else  echo "expat-1.95.1_1: \\"$dir\\" non-existent
 -- dependency list incomplete" >&2;  fi;  done | sort -u
root    10932  0,0  0,0  2028  464  p0  I    12:54PM   0:00,00 sort -u
root    10943  0,0  0,0   652    0  p0  IW   -         0:00,00 make PARENT_CHECKED=/usr/ports/converters/libiconv  /usr/ports/devel/
libtool   all-depends-list
root    10948  0,0  0,0   660    0  p0  IW   -         0:00,00 (sh)
root    10949  0,0  0,0   660  216  p0  I    12:54PM   0:00,00 /bin/sh -ec checked="/usr/ports/converters/libiconv  /usr/ports/devel
/libtool  ";  for dir in $(echo "  intl.4:/usr/ports/devel/gettext " | /usr/bin/tr '\\040' '\\012' | /usr/bin/sed -e 's/^[^:]*://' -
e 's/:.*//') $(echo  | /usr/bin/tr '\\040' '\\012' | /usr/bin/sed -e 's/:.*//'); do  if [ -d $dir ]; then  if (echo $checked | /usr/
bin/grep -qwv "$dir"); then  child=$(cd $dir; make PARENT_CHECKED="$checked" all-depends-list);  for d in $child; do echo $d; done;
 echo $dir;  checked="$dir $child $checked";  fi;  else  echo "gmake-3.80: \\"$dir\\" non-existent -- dependency list incomplete" >&
2;  fi;  done | sort -u
root    10950  0,0  0,0  2028  464  p0  I    12:54PM   0:00,00 sort -u
root    10962  0,0  0,0   664    0  p0  IW   -         0:00,00 make PARENT_CHECKED=/usr/ports/converters/libiconv  /usr/ports/devel/
libtool   all-depends-list
[]

	and so on.
>Fix:

	I don't have any, sorry for that


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211151009.gAFA9E9i046314>