[MacPorts] #24857: Installing many ports causes "too many open files" error
#24857: Installing many ports causes "too many open files" error -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 1.8.99 Keywords: | Port: -------------------------------------+-------------------------------------- On a fresh MacPorts 1.9.0 beta 1 installation, installed from the disk image, on Mac OS X 10.6.3 with Xcode 3.2.2, with no ports installed, I tried to install wine-devel +universal. This has lots of dependencies, 47 of which installed fine before xorg-libXcursor failed during installation saying {{{ ---> Installing xorg-libXcursor @1.1.10_0+universal Error: Target org.macports.install returned: couldn't read file "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/clock.tcl": too many open files Log for xorg-libXcursor is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports .org_release_ports_x11_xorg-libXcursor/main.log Error: The following dependencies failed to build: xorg-libXcursor xorg- libXinerama xorg-xineramaproto xorg-libXrandr xorg-randrproto xorg- libXxf86vm xorg-xf86vidmodeproto Error: Status 1 encountered during processing. }}} Simply repeating the `port install` command allowed the installation to proceed, which says to me that MacPorts is holding some files open even after it's done with a port. -- Ticket URL: <http://trac.macports.org/ticket/24857> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24857: Installing many ports causes "too many open files" error -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 1.8.99 Keywords: | Port: -------------------------------------+-------------------------------------- Comment(by jmr@…): Need to see which files are open when it fails. -- Ticket URL: <http://trac.macports.org/ticket/24857#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24857: Installing many ports causes "too many open files" error -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 1.8.99 Keywords: | Port: -------------------------------------+-------------------------------------- Comment(by ryandesign@…): Ok, how do we get that information? -- Ticket URL: <http://trac.macports.org/ticket/24857#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24857: Installing many ports causes "too many open files" error -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 1.8.99 Keywords: | Port: -------------------------------------+-------------------------------------- Comment(by jmr@…): Replying to [comment:2 ryandesign@…]:
Ok, how do we get that information? With lsof or similar.
-- Ticket URL: <http://trac.macports.org/ticket/24857#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24857: Installing many ports causes "too many open files" error -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 1.8.99 Keywords: | Port: -------------------------------------+-------------------------------------- Comment(by jmr@…): Like this for example: {{{ sudo lsof -c tclsh }}} My testing shows that we seem to be accumulating sqlite temp files. -- Ticket URL: <http://trac.macports.org/ticket/24857#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24857: Installing many ports causes "too many open files" error --------------------------------------+------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: base | Version: 1.8.99 Resolution: fixed | Keywords: Port: | --------------------------------------+------------------------------------- Changes (by jmr@…): * status: new => closed * resolution: => fixed Comment: Hackish fix committed in r67838, which deletes the interpreter for each dependency's mport right after running the install target (instead of waiting until mportclose). -- Ticket URL: <http://trac.macports.org/ticket/24857#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#24857: Installing many ports causes "too many open files" error --------------------------------------+------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: base | Version: 1.8.99 Resolution: fixed | Keywords: Port: | --------------------------------------+------------------------------------- Comment(by jmr@…): The correct fix, BTW, would be either to use sqlite's temp_store pragma to make it store temporary data in memory instead of files (I couldn't get this to work), or refactor things so that a single database object is shared by the main interpreter and the portfile subinterpreters. -- Ticket URL: <http://trac.macports.org/ticket/24857#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts