#31056: Locking somewhat broken in MacPorts 2 -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 2.0.1 Keywords: | Port: -------------------------------------+-------------------------------------- There is something broken about locking ever since MacPorts 2.0.0. Example 1: I tell MacPorts to uninstall a port, while some other port is installing; it tells me it's locked, but then silently doesn't complete the operation when the lock disappears. Retrying while MacPorts is not busy with other tasks works fine. {{{ fossil $ sudo port uninstall Waiting for lock on /opt/local/var/macports/registry/.registry.lock fossil $ port installed fossil The following ports are currently installed: fossil @20110523151112_1+universal (active) fossil $ sudo port uninstall Password: ---> Deactivating fossil @20110523151112_1+universal ---> Uninstalling fossil @20110523151112_1+universal fossil $ }}} Example 2: I tell MacPorts to upgrade a port, while some other port is busy; after the lock disappears, it tells me the port I asked to upgrade is not installed, but of course it is installed, and retrying the upgrade works fine. {{{ $ sudo port -ud upgrade py26-docutils Waiting for lock on /opt/local/var/macports/registry/.registry.lock Error: py26-docutils is not installed To report a bug, see <http://guide.macports.org/#project.tickets> $ sudo port -ud upgrade py26-docutils Password: DEBUG: epoch: in tree: 0 installed: 0 DEBUG: py26-docutils 0.8.1_0 exists in the ports tree DEBUG: py26-docutils 0.8_0 is the latest installed DEBUG: py26-docutils 0.8_0 is active [snip successful upgrade] $ }}} It does not seem to matter what ports are involved, or what MacPorts commands are being run; if an operation is being delayed via the lockfile, then it doesn't always run properly once the lock is removed. The issue is intermittent so I think it's a race condition. -- Ticket URL: <https://trac.macports.org/ticket/31056> MacPorts <http://www.macports.org/> Ports system for Mac OS