From owner-freebsd-ports Fri Nov 15 2:10: 8 2002 Delivered-To: freebsd-ports@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 74BD037B404 for ; Fri, 15 Nov 2002 02:10:03 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 99FBD43E6E for ; Fri, 15 Nov 2002 02:10:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id gAFAA2x3047846 for ; Fri, 15 Nov 2002 02:10:02 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id gAFAA2Cp047845; Fri, 15 Nov 2002 02:10:02 -0800 (PST) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0662637B401 for ; Fri, 15 Nov 2002 02:09:30 -0800 (PST) Received: from gemnet.ru (privathost.ru [213.248.5.118]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6AC7D43E75 for ; Fri, 15 Nov 2002 02:09:27 -0800 (PST) (envelope-from root@gemnet.ru) Received: from gemnet.ru (localhost [127.0.0.1]) by gemnet.ru (8.12.6/8.12.6) with ESMTP id gAFA9F90046319 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Fri, 15 Nov 2002 13:09:15 +0300 (MSK) (envelope-from root@gemnet.ru) Received: (from root@localhost) by gemnet.ru (8.12.6/8.12.6/Submit) id gAFA9E9i046314; Fri, 15 Nov 2002 13:09:14 +0300 (MSK) Message-Id: <200211151009.gAFA9E9i046314@gemnet.ru> Date: Fri, 15 Nov 2002 13:09:14 +0300 (MSK) From: Seva Gluschenko To: FreeBSD-gnats-submit@FreeBSD.org Cc: noc@rinet.ru X-Send-Pr-Version: 3.113 Subject: ports/45311: make fetch-recursive in ports eats resources for waste Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >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