← Back to issue list

patchelf fails on i386 vscode

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1798881
Type
issue
State
open
Author
~popey
Labels
—
Created
Updated
Closed
—

Current evaluation

The i386 VS Code build hit a patchelf 0.9 ELF underrun; Snapcraft later changed its Go ELF handling, but the Launchpad issue remains open.

Suggested action: close resolved

Reason: Commit e39d2404c (snapcraft#2519), titled "go plugin, elf: use patchelf 0.10 and relink dynamic go binaries," directly addresses the reported .note.go.buildid stripping and address-space underrun. The report also identifies the exact binary, patchelf command, and exit code, so it can be closed as resolved.

Evaluated by: mr-cal-bot

Impact: 30 Quick Win: 9 Complexity: 55 Confidence: 86 Actionability: 70

Issue body

https://launchpadlibrarian.net/393792896/buildlog_snap_ubuntu_xenial_i386_8530e5f76cb0f52c411b1e115ff18a11-xenial_BUILDING.txt.gz Seems the i386 build of vscode hasn't built for a while due to patchelf failure. Staging electron-launch Staging vscode Priming electron-launch Priming vscode virtual address space underrun! Failed to update '/build/vscode/prime/usr/share/code/code'. Retrying after stripping the .note.go.buildid from the elf file. virtual address space underrun! An attempt to patch '/build/vscode/prime/usr/share/code/code' so that it would work correctly in diverse environments was made and failed. To disable this behavior set `build-attributes: [no-patchelf]` for the part. '/build/vscode/prime/usr/share/code/code' cannot be patched to function properly in a classic confined snap: /usr/bin/patchelf --set-interpreter /snap/core/current/lib/ld-linux.so.2 --force-rpath --set-rpath $ORIGIN/lib/:$ORIGIN/../../lib/i386-linux-gnu:$ORIGIN/../../../lib/i386-linux-gnu:$ORIGIN:/snap/core/current/usr/lib/i386-linux-gnu:/snap/core/current/lib/i386-linux-gnu /tmp/tmpk1puj0w0 failed with exit code 1. 'patchelf 0.9' may be too old. A newer version of patchelf may be required. Try adding the `after: [patchelf]` and a `patchelf` part that would filter out files from prime `prime: [-*]` or `build-snaps: [patchelf/latest/edge]` to the failing part in your `snapcraft.yaml` to use a newer patchelf. Build failed Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/lpbuildd/target/build_snap.py", line 229, in run self.build() File "/usr/lib/python2.7/dist-packages/lpbuildd/target/build_snap.py", line 218, in build env=env) File "/usr/lib/python2.7/dist-packages/lpbuildd/target/build_snap.py", line 75, in run_build_command return self.backend.run(args, env=full_env, **kwargs) File "/usr/lib/python2.7/dist-packages/lpbuildd/target/lxd.py", line 460, in run subprocess.check_call(cmd, **kwargs) File "/usr/lib/python2.7/subprocess.py", line 541, in check_call raise CalledProcessError(retcode, cmd) CalledProcessError: Command '['lxc', 'exec', 'lp-xenial-i386', '--env', 'LANG=C.UTF-8', '--env', 'SHELL=/bin/sh', '--env', 'SNAPCRAFT_BUILD_INFO=1', '--env', 'SNAPCRAFT_IMAGE_INFO={"build_url": "https://launchpad.net/~build.snapcraft.io/+snap/8530e5f76cb0f52c411b1e115ff18a11-xenial/+build/355956"}', '--env', 'http_proxy=http://10.10.10.1:8222/', '--env', 'https_proxy=http://10.10.10.1:8222/', '--env', 'GIT_PROXY_COMMAND=/usr/local/bin/snap-git-proxy', '--', '/bin/sh', '-c', 'cd /build/vscode && linux32 snapcraft']' returned non-zero exit status 2 Revoking proxy token... RUN: /usr/share/launchpad-buildd/slavebin/in-target scan-for-processes --backend=lxd --series=xenial --arch=i386 SNAPBUILD-355956 Scanning for processes to kill in build SNAPBUILD-355956

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 30
Quick Win: 9
Complexity: 55
Confidence: 86
Actionability: 70
close resolved The i386 VS Code build hit a patchelf 0.9 ELF underrun; Snapcraft later changed its Go ELF handling, but the Launchpad issue remains open.
stealth/space-bunny-alpha
Impact: 44
Quick Win: 9
Complexity: 67
Confidence: 79
Actionability: 64
keep open PatchELF 0.9 underruns while rewriting the i386 VS Code ELF; Snapcraft edge/core18 reproduced the failure, but no verified fix or regression test is linked.
qwen/qwen3.6-35b-a3b
Impact: 20
Quick Win: 6
Complexity: 30
Confidence: 60
Actionability: 40
close stale patchelf fails on i386 vscode snap build with virtual address space underrun; issue is 8+ years old with no maintainer response
qwen/qwen3.8-27b
Impact: 30
Quick Win: 14
Staleness: 95
Complexity: 55
Confidence: 60
Support Request: 25
close stale i386 vscode snap build fails because patchelf 0.9 cannot patch the 32-bit ELF (virtual address space underrun); no maintainer response, unlabelled, ~7.5 years old.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 20
Confidence: 90
Support Request: 10
close stale Build failure on i386 due to patchelf 0.9 address space underrun during snapcraft packaging. Issue is over 7 years old with no activity.
qwen/qwen3.6-35b-a3b
Staleness: 100
Complexity: 20
Confidence: 95
Support Request: 0
close stale patchelf fails on i386 vscode build due to virtual address space underrun. Issue is 2832 days old, inactive for 2652 days, and likely obsolete due to age and architecture deprecation.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 15
Confidence: 95
Support Request: 10
close stale vscode snap build fails on i386 due to patchelf 0.9 virtual address space underrun. Inactive for over 7 years with no maintainer response. Likely obsolete due to outdated toolchain and deprecated i386 support.

Update history

Date Change
created

Related work

  • Likely Fixed By: snapcraft#2519 (confidence 88%)

    Commit e39d2404c upgrades to patchelf 0.10 and relinks dynamic Go binaries, matching this build-ID and ELF-patching failure.

  • Related To: snapcraft#1798 (confidence 82%)

    Commit fa8b7b174 added stripping of .note.go.buildid, but the report says that retry still produced an underrun.

Related issues

Issue Project State Summary Similarity
#1669 patchelf with ld-linux from the future snapcraft closed Resolved by commit bdaf0b7f1, which added Snapcraft handling for PatchELF and ELF files when the built glibc/linker does not match the base.
72%
#1753995 patchelf warning / binary segfaults snapcraft (launchpad) open PatchELF corrupted Go-built Telegraf classic snaps into runtime segfaults; no-patchelf avoided the crash, but a 2019 Snapcraft 3.8 reproduction remains unverified on current code.
72%