"error: failed to acquire package cache lock" in sbuild

Bug #1841191 reported by Olivier Tilloy on 2019-08-23
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cargo (Ubuntu)
Undecided
Canonical Foundations Team
Xenial
Undecided
Canonical Foundations Team
Bionic
Undecided
Canonical Foundations Team
Disco
Undecided
Canonical Foundations Team

Bug Description

[Impact]

All packages using cargo (rust's package manager) to build in Launchpad will FTBFS because cargo tries to acquire a lock on $HOME/.cargo, but $HOME is set to /sbuild-nonexistent in sbuild.
This includes the thunderbird 60.9.1+build1 SRU tracked by bug #1850651.

[Test Case]

In a xenial/disco virtual machine:

  sudo apt install cargo
  cd `mktemp -d`
  export HOME=/nonexistent
  cargo init --name foobar
  cargo build

This should succeed. With the unpatched version currently in xenial/disco, it fails with "error: failed to acquire package cache lock".

[Regression Potential]

Low. This cherry-picks one single upstream commit that addresses only this bug.

[Original Description]

Upstream issue: https://github.com/rust-lang/cargo/issues/7147

This breaks firefox and thunderbird builds in eoan:

    export CARGO_HOME=/<<BUILDDIR>>/thunderbird-68.0+build4/third_party/cbindgen/.cargo; \
    cargo install --path . --bin cbindgen --root ../../cbindgen
    error: failed to acquire package cache lock

    Caused by:
      failed to open: /sbuild-nonexistent/.cargo/.package-cache

    Caused by:
      Permission denied (os error 13)

The following commit needs to be backported as a distro patch: https://github.com/rust-lang/cargo/commit/2b21fa68368f13b43f4c34886116df2e1b9d276e

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: cargo 0.37.0-3ubuntu1
ProcVersionSignature: Ubuntu 5.0.0-25.26-generic 5.0.18
Uname: Linux 5.0.0-25-generic x86_64
ApportVersion: 2.20.11-0ubuntu7
Architecture: amd64
Date: Fri Aug 23 14:24:46 2019
SourcePackage: cargo
UpgradeStatus: No upgrade log present (probably fresh install)

Olivier Tilloy (osomon) wrote :
description: updated
Olivier Tilloy (osomon) wrote :

I confirm https://launchpad.net/ubuntu/+source/cargo/0.37.0-3ubuntu2 fixed this on eoan.
But other stable series are affected too.
@Michael, can you please add the patch to the xenial, bionic and disco builds? Thanks!

Changed in cargo (Ubuntu):
status: New → Fix Released
Changed in cargo (Ubuntu Xenial):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Changed in cargo (Ubuntu Bionic):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Changed in cargo (Ubuntu Disco):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Michael Hudson-Doyle (mwhudson) wrote :

I've just uploaded the patch to the disco, bionic and xenial in ppa:ubuntu-mozilla-security/rust-updates

Olivier Tilloy (osomon) on 2019-10-07
Changed in cargo (Ubuntu Xenial):
status: New → Fix Committed
Changed in cargo (Ubuntu Bionic):
status: New → Fix Committed
Changed in cargo (Ubuntu Disco):
status: New → Fix Committed
Olivier Tilloy (osomon) on 2019-12-03
Changed in cargo (Ubuntu Xenial):
status: Fix Committed → In Progress
Changed in cargo (Ubuntu Disco):
status: Fix Committed → In Progress
Olivier Tilloy (osomon) on 2019-12-03
description: updated
Olivier Tilloy (osomon) wrote :
Olivier Tilloy (osomon) wrote :

Hello Olivier, or anyone else affected,

Accepted cargo into disco-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cargo/0.37.0-3ubuntu1~19.04.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-disco to verification-done-disco. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-disco. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in cargo (Ubuntu Disco):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-disco
Łukasz Zemczak (sil2100) wrote :

Hello Olivier, or anyone else affected,

Accepted cargo into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cargo/0.37.0-3ubuntu1~16.04.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in cargo (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed-xenial
Olivier Tilloy (osomon) wrote :

I ran the test case in an up-to-date xenial VM, and verified that it failed.
I then enabled xenial-proposed (universe) and installed cargo 0.37.0-3ubuntu1~16.04.2, ran the test case again, and verified that it passed.

tags: added: verification-done-xenial
removed: verification-needed-xenial
Olivier Tilloy (osomon) wrote :

I ran the test case in an up-to-date disco VM, and verified that it failed.
I then enabled disco-proposed (universe) and installed cargo 0.37.0-3ubuntu1~19.04.2, ran the test case again, and verified that it passed.

tags: added: verification-done-disco
removed: verification-needed-disco
Olivier Tilloy (osomon) wrote :

As an additional data point, thunderbird 1:60.9.1+build1-0ubuntu0.16.04.1 and 1:60.9.1+build1-0ubuntu0.19.04.1, which were FTBFS in xenial-proposed and disco-proposed because of this bug in cargo, are now successfully building (builds already completed for some of the architectures, others are still going).

J.Ar (j.ar) on 2019-12-07
Changed in cargo (Ubuntu Bionic):
status: Fix Committed → Fix Released
Olivier Tilloy (osomon) on 2019-12-07
Changed in cargo (Ubuntu Bionic):
status: Fix Released → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers