Troubles running F9 mock chroot under F11
Panu Matilainen
pmatilai at laiskiainen.org
Thu Sep 17 11:40:19 UTC 2009
On Wed, 16 Sep 2009, devzero2000 wrote:
> On Wed, Sep 16, 2009 at 3:31 PM, Jan Kratochvil
> <jan.kratochvil at redhat.com> wrote:
> > Hi,
> >
> > filed as:
> > https://bugzilla.redhat.com/show_bug.cgi?id=523698
> >
> > how to possibly fix the problem by a backport from rpm5.org as
> suggested by
> > Jeff Johnson.
> >
> For rpm 4.4 the backport was already filled but reject.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=464752
Since you apparently missed the point: the WONTFIX is for that particular
patch, not the issue itself. Also the bug is against RHEL 5, we're talking
Fedora here.
The suggested patch is patently unsafe as it just blasts away any
incompatible environment without caring whether the environment is
actually in use by a different rpm version (which can happen in chroot
environments and during upgrades) or not. It also blasts away the
transaction lock while at it.
Citing BDB documentation: "The result of attempting to forcibly destroy
the environment when it is in use is unspecified. Processes using an
environment often maintain open file descriptors for shared regions within
it. On UNIX systems, the environment removal will usually succeed, and
processes that have already joined the region will continue to run in that
region without change. However, processes attempting to join the
environment will either fail or create new regions."
And yes, "funny stuff" happens when you got two different rpm/db versions
accessing the same db. Feel free to try it out, you dont need to take my
word for it.
That rpm leaves the environment around even when not in use, causing these
silly issues is largely because the rpmdb open+close is racy. It's racy
even with the environment present, just to a lesser degree so it usually
gets away with it. Fixing the raciness will allow removing the environment
when not in use, mostly curing the disease instead of treating the
symptom. In addition to that, detecting and removing an incompatible (or
corrupted) enviroment is a perfectly reasonable thing to do IF appropriate
care is taken not to remove an active but incompatible environment.
- Panu -
More information about the fedora-devel-list
mailing list