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

Bug #1841191 reported by Olivier Tilloy
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
cargo (Ubuntu)
Fix Released
Undecided
Canonical Foundations Team
Xenial
Fix Released
Undecided
Canonical Foundations Team
Bionic
Fix Released
Undecided
Canonical Foundations Team
Disco
Won't Fix
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)

Revision history for this message
Olivier Tilloy (osomon) wrote :
description: updated
Revision history for this message
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)
Revision history for this message
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)
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)
Changed in cargo (Ubuntu Xenial):
status: Fix Committed → In Progress
Changed in cargo (Ubuntu Disco):
status: Fix Committed → In Progress
Olivier Tilloy (osomon)
description: updated
Revision history for this message
Olivier Tilloy (osomon) wrote :
Revision history for this message
Olivier Tilloy (osomon) wrote :
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

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
Revision history for this message
Ł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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
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).

Gre0 (gre0)
Changed in cargo (Ubuntu Bionic):
status: Fix Committed → Fix Released
Olivier Tilloy (osomon)
Changed in cargo (Ubuntu Bionic):
status: Fix Released → Fix Committed
Steve Langasek (vorlon)
Changed in cargo (Ubuntu Disco):
status: Fix Committed → Won't Fix
Changed in cargo (Ubuntu Xenial):
status: Fix Committed → Fix Released
Changed in cargo (Ubuntu Bionic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.