← Back to issue list

Identical `parts` in different snaps contain different contents

View original Github issue

Metadata

Project
snapcraft
Number
#4541
Type
issue
State
open
Author
dilyn-corner
Labels
—
Created
Updated
Closed
—

Current evaluation

A reported core24 build produced different stage_packages for ostensibly identical netplan parts; the original reproducer is detailed, but a later core22 test could not reproduce it and no triage followed.

Suggested action: needs triage

Reason: The report provides a core24 destructive-mode reproducer, but its only follow-up says the behavior was not reproducible on core22. The listings do not establish that both source parts are truly identical, and the issue has no labels or maintainer assessment, so it needs triage rather than closure.

Evaluated by: mr-cal-bot

Impact: 32 Quick Win: 10 Complexity: 46 Confidence: 82 Actionability: 58

Issue body

### Bug Description When a part `foo` in a snap is copied to another different snap, different content will be found in both snap's `parts/foo/` directories, namely contents in `{build,install,src,stage_packages}`. ### To Reproduce Perform the following actions. <details> <summary>nb</summary> <br> Similar steps for reproduction probably exist, but this is the example I was given :) For the example in question, `mknod` usage is required -- this is only possible when using a privileged container or, as we do here, a VM. This will be default use KVM, but I don't think there's a particular reason to choose LXD as the VM host. QEMU should work, or a laptop you don't particularly enjoy running 23.10 :) We're building a `base: core24` snap in a 23.10 VM using `--destructive-mode` -- these were the conditions under which the issue was first observed. There may be simpler reproduction instructions (e.g. snapcraft 7.x using `base: core22`) but these have not (yet) been tested. </details> ```shell lxc launch ubuntu:23.10 testing-vm --vm lxc shell testing-vm apt update snap install --revision 10445 --classic snapcraft git clone -b nucleus --depth 1 https://github.com/kubiko/core-base cd core-base snapcraft --destructive-mode ``` The build may fail at some part but that shouldn't matter so much in this case; the `netplan` part should be fully built/prime/staged at that point anyways. Create a netplan snap using the `snapcraft.yaml` as specified in the later section, and run the build with the same command. That build will probably also fail, or time out, or something. That's fine, the `parts/netplan/stage_packages` directory should exist at that point. Compare the two `parts/netplan` directories. ### Environment Ubuntu 23.10 VM stood up with LXD snapcraft revision 10445 ### snapcraft.yaml ```shell name: netplan version: "0.2" summary: Netplan description: | Netplan confinement: strict type: app base: core24 grade: stable parts: netplan: plugin: nil stage-packages: - libnetplan0 - libpython3-stdlib - libpython3.11-minimal - libpython3.11-stdlib - netplan.io - python3.11-minimal - python3-minimal - python3 - python3-dbus - python3-netifaces - python3-yaml ``` ### Relevant log output <details> <summary>core-base snap</summary> <br> ```shell root@testing-vm:~/core-base# ls -lh parts/netplan/stage_packages/ total 29M -rw-r--r-- 2 root root 123K Jan 9 2023 debconf_1.5.82_all.deb -rw-r--r-- 2 root root 1.4M Aug 31 21:47 dpkg_1.22.0ubuntu1_amd64.deb -rw-r--r-- 2 root root 43K Sep 24 18:13 gcc-13-base_13.2.0-4ubuntu3_amd64.deb -rw-r--r-- 2 root root 1.1M Feb 14 2023 iproute2_6.1.0-1ubuntu2_amd64.deb -rw-r--r-- 2 root root 17K Jan 18 2023 libacl1_2.3.1-3_amd64.deb -rw-r--r-- 2 root root 47K Sep 23 06:09 libapparmor1_4.0.0~alpha2-0ubuntu5_amd64.deb -rw-r--r-- 2 root root 20K May 2 2023 libargon2-1_0~20190702+dfsg-3_amd64.deb -rw-r--r-- 2 root root 5.3K Jul 10 2023 libaudit-common_3.1.1-1_all.deb -rw-r--r-- 2 root root 46K Jul 10 2023 libaudit1_3.1.1-1_amd64.deb -rw-r--r-- 2 root root 119K Oct 7 10:59 libblkid1_2.39.1-4ubuntu2_amd64.deb -rw-r--r-- 2 root root 155K Aug 4 23:24 libbpf1_1.2.2-2_amd64.deb -rw-r--r-- 2 root root 41K Mar 9 2023 libbsd0_0.11.7-4_amd64.deb -rw-r--r-- 2 root root 34K Mar 24 2022 libbz2-1.0_1.0.8-5build1_amd64.deb -rw-r--r-- 2 root root 3.1M Oct 3 19:58 libc6_2.38-1ubuntu6_amd64.deb -rw-r--r-- 2 root root 15K Feb 28 2023 libcap-ng0_0.8.3-1build2_amd64.deb -rw-r--r-- 2 root root 34K May 26 2023 libcap2-bin_2.66-4ubuntu1_amd64.deb -rw-r--r-- 2 root root 29K May 26 2023 libcap2_2.66-4ubuntu1_amd64.deb -rw-r--r-- 2 root root 22K Jul 26 19:42 libcom-err2_1.47.0-2ubuntu1_amd64.deb -rw-r--r-- 2 root root 81K Jul 29 23:39 libcrypt1_4.4.36-2_amd64.deb -rw-r--r-- 2 root root 237K Sep 12 12:20 libcryptsetup12_2.6.1-4ubuntu3_amd64.deb -rw-r--r-- 2 root root 720K Aug 6 23:44 libdb5.3_5.3.28+dfsg2-2_amd64.deb -rw-r--r-- 2 root root 204K Sep 15 13:14 libdbus-1-3_1.14.10-1ubuntu1_amd64.deb -rw-r--r-- 2 root root 136K Jun 8 2023 libdevmapper1.02.1_1.02.185-2ubuntu1_amd64.deb -rw-r--r-- 2 root root 55K Jul 5 2023 libelf1_0.189-4_amd64.deb -rw-r--r-- 2 root root 84K Jun 15 2023 libexpat1_2.5.0-2_amd64.deb -rw-r--r-- 2 root root 142K Oct 7 10:59 libfdisk1_2.39.1-4ubuntu2_amd64.deb -rw-r--r-- 2 root root 24K Nov 6 2022 libffi8_3.4.4-1_amd64.deb -rw-r--r-- 2 root root 61K Sep 24 18:13 libgcc-s1_13.2.0-4ubuntu3_amd64.deb -rw-r--r-- 2 root root 520K Oct 2 17:16 libgcrypt20_1.10.2-3ubuntu1_amd64.deb -rw-r--r-- 2 root root 1.5M Sep 18 00:04 libglib2.0-0_2.78.0-2_amd64.deb -rw-r--r-- 2 root root 69K Aug 15 17:19 libgpg-error0_1.47-2_amd64.deb -rw-r--r-- 2 root root 139K Aug 24 19:09 libgssapi-krb5-2_1.20.1-3ubuntu1_amd64.deb -rw-r--r-- 2 root root 22K Jul 21 2023 libip4tc2_1.8.9-2ubuntu2_amd64.deb -rw-r--r-- 2 root root 35K Aug 16 23:46 libjson-c5_0.17-1_amd64.deb -rw-r--r-- 2 root root 80K Aug 24 19:09 libk5crypto3_1.20.1-3ubuntu1_amd64.deb -rw-r--r-- 2 root root 9.2K Dec 20 2022 libkeyutils1_1.6.3-2_amd64.deb -rw-r--r-- 2 root root 51K Aug 22 16:43 libkmod2_30+20230519-1ubuntu3_amd64.deb -rw-r--r-- 2 root root 338K Aug 24 19:09 libkrb5-3_1.20.1-3ubuntu1_amd64.deb -rw-r--r-- 2 root root 33K Aug 24 19:09 libkrb5support0_1.20.1-3ubuntu1_amd64.deb -rw-r--r-- 2 root root 62K Nov 6 2022 liblz4-1_1.9.4-1_amd64.deb -rw-r--r-- 2 root root 123K Feb 13 2023 liblzma5_5.4.1-0.2_amd64.deb -rw-r--r-- 2 root root 27K Jun 14 2023 libmd0_1.1.0-1_amd64.deb -rw-r--r-- 2 root root 13K Aug 4 2022 libmnl0_1.0.4-3ubuntu1_amd64.deb -rw-r--r-- 2 root root 130K Oct 7 10:59 libmount1_2.39.1-4ubuntu2_amd64.deb -rw-r--r-- 2 root root 146K Jul 24 2023 libncursesw6_6.4+20230625-2_amd64.deb -rw-r--r-- 3 root root 118K Nov 21 10:35 libnetplan0_0.107-5ubuntu0.2_amd64.deb -rw-r--r-- 2 root root 42K Mar 24 2022 libnsl2_1.3.0-2build2_amd64.deb -rw-r--r-- 2 root root 294K Aug 21 23:14 libp11-kit0_0.25.0-4ubuntu1_amd64.deb -rw-r--r-- 2 root root 65K Jan 17 18:10 libpam0g_1.5.2-6ubuntu1.1_amd64.deb -rw-r--r-- 2 root root 223K Aug 30 11:35 libpcre2-8-0_10.42-4_amd64.deb -rw-r--r-- 3 root root 9.3K Jul 5 2023 libpython3-stdlib_3.11.4-5_amd64.deb -rw-r--r-- 3 root root 820K Oct 8 15:24 libpython3.11-minimal_3.11.6-3_amd64.deb -rw-r--r-- 3 root root 1.9M Oct 8 15:24 libpython3.11-stdlib_3.11.6-3_amd64.deb -rw-r--r-- 2 root root 148K Jan 14 2023 libreadline8_8.2-1.3_amd64.deb -rw-r--r-- 2 root root 48K Feb 28 2023 libseccomp2_2.5.4-1ubuntu3_amd64.deb -rw-r--r-- 2 root root 77K Jul 10 2023 libselinux1_3.5-1_amd64.deb -rw-r--r-- 2 root root 62K Oct 7 10:59 libsmartcols1_2.39.1-4ubuntu2_amd64.deb -rw-r--r-- 2 root root 656K Jan 3 18:06 libsqlite3-0_3.42.0-1ubuntu0.1_amd64.deb -rw-r--r-- 2 root root 1.9M Oct 24 15:30 libssl3_3.0.10-1ubuntu2.1_amd64.deb -rw-r--r-- 2 root root 1.8M Oct 26 15:44 libsystemd-shared_253.5-1ubuntu6.1_amd64.deb -rw-r--r-- 2 root root 399K Oct 26 15:44 libsystemd0_253.5-1ubuntu6.1_amd64.deb -rw-r--r-- 2 root root 106K Jul 24 2023 libtinfo6_6.4+20230625-2_amd64.deb -rw-r--r-- 2 root root 7.7K Aug 11 2022 libtirpc-common_1.3.3+ds-1_all.deb -rw-r--r-- 2 root root 79K Aug 11 2022 libtirpc3_1.3.3+ds-1_amd64.deb -rw-r--r-- 2 root root 157K Oct 26 15:44 libudev1_253.5-1ubuntu6.1_amd64.deb -rw-r--r-- 2 root root 33K Oct 7 10:59 libuuid1_2.39.1-4ubuntu2_amd64.deb -rw-r--r-- 2 root root 34K Jul 21 2023 libxtables12_1.8.9-2ubuntu2_amd64.deb -rw-r--r-- 2 root root 52K Jul 16 2022 libyaml-0-2_0.2.5-1_amd64.deb -rw-r--r-- 2 root root 288K Jul 6 2023 libzstd1_1.5.5+dfsg2-1ubuntu2_amd64.deb -rw-r--r-- 2 root root 27K Jul 14 2023 media-types_10.1.0_all.deb -rw-r--r-- 2 root root 115K Oct 7 10:59 mount_2.39.1-4ubuntu2_amd64.deb -rw-r--r-- 2 root root 57K Nov 21 10:35 netplan-generator_0.107-5ubuntu0.2_amd64.deb -rw-r--r-- 3 root root 54K Nov 21 10:35 netplan.io_0.107-5ubuntu0.2_amd64.deb -rw-r--r-- 2 root root 75K Mar 1 2023 python3-cffi-backend_1.15.1-5build1_amd64.deb -rw-r--r-- 3 root root 97K Jul 26 17:44 python3-dbus_1.3.2-5_amd64.deb -rw-r--r-- 2 root root 57K Jun 19 2023 python3-markdown-it_3.0.0-2_all.deb -rw-r--r-- 2 root root 9.5K Nov 6 2022 python3-mdurl_0.1.2-1_all.deb -rw-r--r-- 3 root root 27K Jul 5 2023 python3-minimal_3.11.4-5_amd64.deb -rw-r--r-- 3 root root 18K Mar 1 2023 python3-netifaces_0.11.0-2build1_amd64.deb -rw-r--r-- 2 root root 22K Nov 21 10:35 python3-netplan_0.107-5ubuntu0.2_amd64.deb -rw-r--r-- 2 root root 164K Oct 4 10:04 python3-pkg-resources_68.1.2-2_all.deb -rw-r--r-- 2 root root 802K May 2 2023 python3-pygments_2.15.1+dfsg-1_all.deb -rw-r--r-- 2 root root 184K Sep 16 00:04 python3-rich_13.3.1-2_all.deb -rw-r--r-- 3 root root 119K Jul 23 2023 python3-yaml_6.0.1-1_amd64.deb -rw-r--r-- 3 root root 2.1M Oct 8 15:24 python3.11-minimal_3.11.6-3_amd64.deb -rw-r--r-- 2 root root 566K Oct 8 15:24 python3.11_3.11.6-3_amd64.deb -rw-r--r-- 3 root root 23K Jul 5 2023 python3_3.11.4-5_amd64.deb -rw-r--r-- 2 root root 55K Jan 14 2023 readline-common_8.2-1.3_all.deb -rw-r--r-- 2 root root 78K Oct 26 15:44 systemd-dev_253.5-1ubuntu6.1_all.deb -rw-r--r-- 2 root root 3.0M Oct 26 15:44 systemd_253.5-1ubuntu6.1_amd64.deb -rw-r--r-- 2 root root 286K Dec 10 23:50 tar_1.34+dfsg-1.2ubuntu1.1_amd64.deb -rw-r--r-- 2 root root 268K Jan 6 00:18 tzdata_2023d-0ubuntu0.23.10_all.deb -rw-r--r-- 2 root root 62K Aug 3 10:29 zlib1g_1.2.13.dfsg-1ubuntu5_amd64.deb ``` </details> <details> <summary>netplan snap</summary> <br> ```shell root@testing-vm:~/core-base# ls -lh netplan/parts/netplan/stage_packages/ total 5.2M -rw-r--r-- 3 root root 118K Nov 21 10:35 libnetplan0_0.107-5ubuntu0.2_amd64.deb -rw-r--r-- 3 root root 9.3K Jul 5 2023 libpython3-stdlib_3.11.4-5_amd64.deb -rw-r--r-- 3 root root 820K Oct 8 15:24 libpython3.11-minimal_3.11.6-3_amd64.deb -rw-r--r-- 3 root root 1.9M Oct 8 15:24 libpython3.11-stdlib_3.11.6-3_amd64.deb -rw-r--r-- 3 root root 54K Nov 21 10:35 netplan.io_0.107-5ubuntu0.2_amd64.deb -rw-r--r-- 3 root root 97K Jul 26 17:44 python3-dbus_1.3.2-5_amd64.deb -rw-r--r-- 3 root root 27K Jul 5 2023 python3-minimal_3.11.4-5_amd64.deb -rw-r--r-- 3 root root 18K Mar 1 2023 python3-netifaces_0.11.0-2build1_amd64.deb -rw-r--r-- 3 root root 119K Jul 23 2023 python3-yaml_6.0.1-1_amd64.deb -rw-r--r-- 3 root root 2.1M Oct 8 15:24 python3.11-minimal_3.11.6-3_amd64.deb -rw-r--r-- 3 root root 23K Jul 5 2023 python3_3.11.4-5_amd64.deb ``` </details> ### Additional context _No response_

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 32
Quick Win: 10
Complexity: 46
Confidence: 82
Actionability: 58
needs triage A reported core24 build produced different stage_packages for ostensibly identical netplan parts; the original reproducer is detailed, but a later core22 test could not reproduce it and no triage followed.
qwen/qwen3.6-35b-a3b
Impact: 45
Quick Win: 12
Complexity: 55
Confidence: 60
Actionability: 60
keep open Identical parts across different snaps have different stage_packages contents with core24; not reproducible with core22
qwen/qwen3.8-27b
Impact: 45
Quick Win: 14
Staleness: 78
Complexity: 70
Confidence: 55
Support Request: 10
needs triage Bug report: identical `parts` (e.g. a `netplan` nil-plugin part with the same stage-packages) in two different snaps produce different `parts/<part>/` contents (build/install/src/stage_packages). Reported on snapcraft 10445 with base core24 in a 23.10 VM; author later noted they could not reproduce with base core22 in a Jammy VM. Open, no labels, no maintainer response.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 40
Confidence: 60
Support Request: 30
close stale Reports identical parts in different snaps having different contents, specifically stage_packages. Author could not reproduce with core22. Issue is very old with no maintainer response.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 55
Confidence: 70
Support Request: 10
close stale Identical snap parts contain different stage_packages during builds. Untriaged, over two years old, with author noting non-reproducibility on core22.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.