Snap build failed with "Failed to gather results: execv() arg 2 must contain only strings"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
launchpad-buildd |
Fix Released
|
High
|
Colin Watson |
Bug Description
I encountered several errors that aren’t caused by build failure while using `snapcraft remote-build`:
```
Priming desktop-qt5
Priming launchers
Priming patching
Priming selective-checkout
Priming main
sed --file /build/
Priming scriptlets
Snapping 'featherpad' ...
Snapped featherpad_
Revoking proxy token...
Failed to gather results: execv() arg 2 must contain only stringsRUN: /usr/share/
Scanning for processes to kill in build SNAPBUILD-580422
```
Related branches
- Adam Collard (community): Approve
- Launchpad code reviewers: Pending requested
-
Diff: 127 lines (+45/-0)5 files modifieddebian/changelog (+2/-0)
lpbuildd/target/chroot.py (+6/-0)
lpbuildd/target/lxd.py (+5/-0)
lpbuildd/target/tests/test_chroot.py (+17/-0)
lpbuildd/target/tests/test_lxd.py (+15/-0)
This is because the build creates a file with a non-ASCII name at its top level in the directory that launchpad-buildd scans for output .snaps, and when running in LC_ALL=C the call to self.backend.islink for this file fails. It may be difficult to construct a good test for this, since you can only change that aspect of Python's locale handling by starting a new interpreter, but it should be easy enough to fix otherwise.