Opened 16 years ago

Closed 16 years ago

Last modified 15 years ago

#15906 closed defect (fixed)

"port -d upgrade apr" fails with internal error

Reported by: yaseppochi (Stephen J. Turnbull) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone: MacPorts 1.7.0
Component: base Version: 1.7.0
Keywords: Cc:
Port:

Description

port version 1.700 (trunk)
svn revision 38128

Error: Target org.macports.fetch returned: couldn't fork child process: resource temporarily unavailable
Warning: the following items did not execute (for apr): org.macports.archive org.macports.fetch org.macports.extract org.macports.checksum org.macports.patch org.macports.configure org.macports.build org.macports.destroot
DEBUG: invalid command name "ui_prefix"
    while executing
"ui_prefix $priority"
    invoked from within
"set prefix [ui_prefix $priority]"
    ("uplevel" body line 2)
    invoked from within
"uplevel 1 $body"
Error: Unable to upgrade port: 1
chibi:MacPorts steve$ 

Attachments (1)

catch_ping_fail.diff (1.0 KB) - added by jmroot (Joshua Root) 16 years ago.
catch failure to spawn ping

Download all attachments as: .zip

Change History (11)

comment:1 Changed 16 years ago by danielluke (Daniel J. Luke)

Looks like there was possibly something 'interesting' happening with your machine:

"couldn't fork child process: resource temporarily unavailable"

(ie. too many processes, not enough file descriptors available ... )

Are you able to consistently reproduce this?

comment:2 Changed 16 years ago by yaseppochi (Stephen J. Turnbull)

Looks like there was possibly something 'interesting' happening with your machine:

Unlikely; this only happens with "apr" that I have seen so far. I successfully built GCC 4.3.1 after observing it the first time, and before running "port -d upgrade apr".

Are you able to consistently reproduce this?

Sure. This time with a sledgehammer:

chibi:MacPorts steve$ port clean apr; rm -rf dports/devel/apr; svn update dports/devel/apr; port -d upgrade apr
--->  Cleaning apr
A    dports/devel/apr
A    dports/devel/apr/Portfile
Updated to revision 38131.
DEBUG: Found port in file:///Users/steve/Software/MacPorts/dports/devel/apr
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: apr 1.3.2_0 exists in the ports tree
DEBUG: apr 1.3.0_0 is installed
DEBUG: variants to install 
DEBUG: available variants are : universal darwin_9
DEBUG: new portvariants: 
DEBUG: Changing to port directory: /Users/steve/Software/MacPorts/dports/devel/apr
DEBUG: setting option os.universal_supported to yes
DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
DEBUG: adding the default universal variant
DEBUG: Requested variant powerpc is not provided by port apr.
DEBUG: Requested variant darwin is not provided by port apr.
DEBUG: Requested variant macosx is not provided by port apr.
DEBUG: Executing org.macports.main (apr)
--->  Fetching apr
DEBUG: Executing org.macports.fetch (apr)
--->  apr-1.3.2.tar.bz2 doesn't seem to exist in /opt/local/var/macports/distfiles/apr
DEBUG: Pinging www.ibiblio.org...
DEBUG: Pinging www.gtlib.gatech.edu...
DEBUG: Pinging apache.mirror.rafal.ca...
DEBUG: Pinging apache.mirroring.de...
DEBUG: Pinging ftp.planetmirror.com...
DEBUG: Pinging ftp.infoscience.co.jp...
DEBUG: Pinging apache.multidist.com...
DEBUG: Pinging mirror.internode.on.net...
DEBUG: Pinging mirror.pacific.net.au...
DEBUG: Pinging apache.wildit.net.au...
DEBUG: Pinging ftp.pop-mg.com.br...
DEBUG: Pinging www.mirrorservice.org...
DEBUG: Pinging mirror.aarnet.edu.au...
DEBUG: Pinging apache.adcserver.com.ar...
DEBUG: Pinging apache.mirror.phpchina.com...
DEBUG: Pinging apache-mirror.dkuug.dk...
DEBUG: Pinging apache.digimirror.nl...
DEBUG: Pinging apache.rediska.ru...
DEBUG: Pinging apache.is.co.za...
DEBUG: Pinging www.apache.org...
DEBUG: Pinging archive.apache.org...
DEBUG: Pinging distfiles.macports.org...
Error: Target org.macports.fetch returned: couldn't fork child process: resource temporarily unavailable
Warning: the following items did not execute (for apr): org.macports.archive org.macports.fetch org.macports.extract org.macports.checksum org.macports.patch org.macports.configure org.macports.build org.macports.destroot
DEBUG: invalid command name "ui_prefix"
    while executing
"ui_prefix $priority"
    invoked from within
"set prefix [ui_prefix $priority]"
    ("uplevel" body line 2)
    invoked from within
"uplevel 1 $body"
Error: Unable to upgrade port: 1
chibi:MacPorts steve$ 

comment:3 Changed 16 years ago by danielluke (Daniel J. Luke)

WIthout doing some testing, I can't be sure, but I'm guessing that this is due to the pinging code and is tickled by the longer than usual number of mirror sites for apr.

comment:4 Changed 16 years ago by jmroot (Joshua Root)

Cc: jmr@… added

@dluke: sure looks like it.

@stephen: Can you check if the problem goes away if you use sysctl to increase kern.maxprocperuid? I'm also attaching a patch that should handle the error gracefully if spawning a ping process fails.

Changed 16 years ago by jmroot (Joshua Root)

Attachment: catch_ping_fail.diff added

catch failure to spawn ping

comment:5 Changed 16 years ago by yaseppochi (Stephen J. Turnbull)

Doubling kern.maxprocperuid to 200 did not help.

I'll try the patch later.

comment:6 Changed 16 years ago by yaseppochi (Stephen J. Turnbull)

The patch works! DEBUG output of fetch step attached.

I took a look at the output of `sysctl -a', but I didn't see an obvious alternative resource that might be overused. I suppose sockets is most likely.

I wonder if using fping instead of ping might also help.

chibi:MacPorts steve$ port -d upgrade apr
DEBUG: Found port in file:///Users/steve/Software/MacPorts/dports/devel/apr
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: apr 1.3.2_0 exists in the ports tree
DEBUG: apr 1.3.0_0 is installed
DEBUG: variants to install 
DEBUG: available variants are : universal darwin_9
DEBUG: new portvariants: 
DEBUG: Changing to port directory: /Users/steve/Software/MacPorts/dports/devel/apr
DEBUG: setting option os.universal_supported to yes
DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
DEBUG: org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
DEBUG: adding the default universal variant
DEBUG: Requested variant powerpc is not provided by port apr.
DEBUG: Requested variant darwin is not provided by port apr.
DEBUG: Requested variant macosx is not provided by port apr.
DEBUG: Executing org.macports.main (apr)
--->  Fetching apr
DEBUG: Executing org.macports.fetch (apr)
--->  apr-1.3.2.tar.bz2 doesn't seem to exist in /opt/local/var/macports/distfiles/apr
DEBUG: Pinging www.ibiblio.org...
DEBUG: Pinging www.gtlib.gatech.edu...
DEBUG: Pinging apache.mirror.rafal.ca...
DEBUG: Pinging apache.mirroring.de...
DEBUG: Pinging ftp.planetmirror.com...
DEBUG: Pinging ftp.infoscience.co.jp...
DEBUG: Pinging apache.multidist.com...
DEBUG: Pinging mirror.internode.on.net...
DEBUG: Pinging mirror.pacific.net.au...
DEBUG: Pinging apache.wildit.net.au...
DEBUG: Pinging ftp.pop-mg.com.br...
DEBUG: Pinging www.mirrorservice.org...
DEBUG: Pinging mirror.aarnet.edu.au...
DEBUG: Pinging apache.adcserver.com.ar...
DEBUG: Pinging apache.mirror.phpchina.com...
DEBUG: Pinging apache-mirror.dkuug.dk...
DEBUG: Pinging apache.digimirror.nl...
DEBUG: Pinging apache.rediska.ru...
DEBUG: Pinging apache.is.co.za...
DEBUG: Pinging www.apache.org...
DEBUG: Spawning ping for archive.apache.org failed
DEBUG: Spawning ping for distfiles.macports.org failed
DEBUG: www.ibiblio.org ping time is 82.385
DEBUG: www.gtlib.gatech.edu ping time is 10000
DEBUG: apache.mirror.rafal.ca ping time is 88.223
DEBUG: apache.mirroring.de ping time is 189.850
DEBUG: ftp.planetmirror.com ping time is 187.174
DEBUG: ftp.infoscience.co.jp ping time is 137.424
DEBUG: apache.multidist.com ping time is 173.709
DEBUG: mirror.internode.on.net ping time is 217.169
DEBUG: mirror.pacific.net.au ping time is 181.087
DEBUG: apache.wildit.net.au ping time is 173.246
DEBUG: ftp.pop-mg.com.br ping time is 198.720
DEBUG: www.mirrorservice.org ping time is 179.476
DEBUG: mirror.aarnet.edu.au ping time is 189.828
DEBUG: apache.adcserver.com.ar ping time is 10000
DEBUG: apache.mirror.phpchina.com ping time is 233.043
DEBUG: apache-mirror.dkuug.dk ping time is 10000
DEBUG: apache.digimirror.nl ping time is 180.350
DEBUG: apache.rediska.ru ping time is 10000
DEBUG: apache.is.co.za ping time is 347.572
DEBUG: www.apache.org ping time is 183.635
--->  Attempting to fetch apr-1.3.2.tar.bz2 from http://www.ibiblio.org/pub/mirrors/apache/apr
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  923k  100  923k    0     0   127k      0  0:00:07  0:00:07 --:--:--  152k
--->  Verifying checksum(s) for apr
DEBUG: Executing org.macports.checksum (apr)
--->  Checksumming apr-1.3.2.tar.bz2
DEBUG: Correct (md5) checksum for apr-1.3.2.tar.bz2
DEBUG: Correct (sha1) checksum for apr-1.3.2.tar.bz2
DEBUG: Correct (rmd160) checksum for apr-1.3.2.tar.bz2
DEBUG: setting option extract.cmd to /opt/local/bin/bzip2
--->  Extracting apr
DEBUG: Executing org.macports.extract (apr)
--->  Extracting apr-1.3.2.tar.bz2
DEBUG: setting option extract.args to /opt/local/var/macports/distfiles/apr/apr-1.3.2.tar.bz2
DEBUG: Environment: "MACOSX_DEPLOYMENT_TARGET"='10.4'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_Users_steve_Software_MacPorts_dports_devel_apr/work" && /opt/local/bin/bzip2 -dc /opt/local/var/macports/distfiles/apr/apr-1.3.2.tar.bz2 | /usr/bin/gnutar --no-same-owner -xf -'
DEBUG: Executing org.macports.patch (apr)

comment:7 Changed 16 years ago by jmroot (Joshua Root)

Cc: jmr@… removed
Owner: changed from macports-tickets@… to jmr@…
Status: newassigned

comment:8 Changed 16 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: assignedclosed

Committed the patch in r38163.

comment:9 Changed 16 years ago by tobypeterson

Milestone: MacPorts base bugsMacPorts Future

Milestone MacPorts base bugs deleted

comment:10 Changed 15 years ago by jmroot (Joshua Root)

Milestone: MacPorts FutureMacPorts 1.7.0
Note: See TracTickets for help on using tickets.