>Description:
Since the ruby-1.8.7.160,1 upgrade, ports-mgmt/portupgrade
utilities will fail to remove their lock files
/var/run/pkgdb.db.lock and /var/run/portsdb.lock. Subsequent
invocations more than 2 minutes later will display the warning
"** Stale lock file was found. Removed.".
This is caused by the failure of the new version of ruby to run
the finalizers for the classes PkgDB
(/usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb - line 106) and
PortsDB (/usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb - line 156).
Their sole function is to remove the lock files.
>How-To-Repeat:
Any invocation of portupgrade with the current version of
lang/ruby18 (ruby-1.8.7p160) should leave the aforementioned
orphaned lock files. The following works well on my systems.
sudo portupgrade -f ports-mgmt/portupgrade
>Fix:
I'm sorry but I know next to nothing about Ruby so this is well
above me. One obvious but marginal suggestion is to revert to
the previous version of lang/ruby18 (ruby-1.8.7p72). This
assumes it's a new bug in Ruby and needs a followup bug report
submitted to them. I would be happy to help but I'm too
unfamiliar to make this call. For all I know, it has something
to do with with a subtlety of Ruby finalizers and it is now
working correctly.
Another suggestion is to review the locking strategy in the
portupgrade suite and eliminate its dependence on finalizers.
That is their sole purpose for these classes and coming from
Java[TM], I'm inclined to avoid finalizers. I would be glad to
help but I wouldn't let me make the decision.
>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
freebsd-p...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports-bugs
To unsubscribe, send any mail to "freebsd-ports-b...@freebsd.org"