← Back to issue list

Overlay packages fail to copy properly.

View original Github issue

Metadata

Project
rockcraft
Number
#1217
Type
issue
State
closed
Author
Gu1nness
Labels
Status: Triaged
Created
Updated
Closed

Current evaluation

⚠️ This summary may be outdated — the issue content or evaluation prompts have changed since this evaluation was made.

A bug in rockcraft 1.19.0 caused overlay packages to fail copying during priming due to symlink handling. The fix was merged in PR #1249 and included in the hotfix/1.19 branch, scheduled for the 1.19.1 release.

Suggested action:

No scores available.

Issue body

### Check existing issues - [x] I've verified that this bug isn't described by any existing issues. ### Bug description I have a rock that has an overlay package that fails to copy to the rock in the priming stage. Here is the full [log file](https://pastebin.canonical.com/p/GS9N7vNvP4/). Relevant log is below. The rock file is below. On top of that: [here is /root/overlay/stage_overlay](https://pastebin.canonical.com/p/SDMwfSZzGw/) If I switch the `overlay-packages` to `stage-packages` in the part `mongo-snap`, everything works as expected. I've also checked: ``` .-(11:13:39)-(~/Canonical/charmed-mongodb-rock)--------------------------------------------------------(git)-[charmed-mongodb-rock/DPE-10240-mongo-bug-fix-release-mongo-db-6-with-patched-cves-6-0-28]-(neha@vali)- `---> rockcraft pack --debug Priming _apt-upgrade :: Failed to copy '/root/stage/usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1': no such file or directory. Priming _apt-upgrade :: Full execution log: '/tmp/rockcraft.log' Launching shell on build environment... rockcraft-charmed-mongodb-amd64-43256137 ../project# ls -alh /root/stage/usr/lib/x86_64-linux-gnu/ total 3.2M drwxr-xr-x 5 root root 4.0K Jun 1 11:14 . drwxr-xr-x 8 root root 4.0K Jun 1 11:14 .. drwxr-xr-x 2 root root 4.0K Jun 1 11:14 audit drwxr-xr-x 3 root root 12K Jun 1 11:14 gconv lrwxrwxrwx 1 root root 24 Mar 23 2022 libbrotlicommon.so.1 -> libbrotlicommon.so.1.0.9 -rw-r--r-- 2 root root 135K Mar 23 2022 libbrotlicommon.so.1.0.9 lrwxrwxrwx 1 root root 21 Mar 23 2022 libbrotlidec.so.1 -> libbrotlidec.so.1.0.9 -rw-r--r-- 2 root root 51K Mar 23 2022 libbrotlidec.so.1.0.9 lrwxrwxrwx 1 root root 21 Mar 23 2022 libbrotlienc.so.1 -> libbrotlienc.so.1.0.9 -rw-r--r-- 2 root root 575K Mar 23 2022 libbrotlienc.so.1.0.9 lrwxrwxrwx 1 root root 16 Apr 29 13:35 libcurl.so.4 -> libcurl.so.4.7.0 -rw-r--r-- 2 root root 662K Apr 29 13:35 libcurl.so.4.7.0 lrwxrwxrwx 1 root root 21 May 15 2025 libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2 -rw-r--r-- 2 root root 331K May 15 2025 libgssapi_krb5.so.2.2 lrwxrwxrwx 1 root root 21 Sep 24 2025 liblber-2.5.so.0 -> liblber-2.5.so.0.1.15 -rw-r--r-- 2 root root 63K Sep 24 2025 liblber-2.5.so.0.1.15 lrwxrwxrwx 1 root root 21 Sep 24 2025 libldap-2.5.so.0 -> libldap-2.5.so.0.1.15 -rw-r--r-- 2 root root 372K Sep 24 2025 libldap-2.5.so.0.1.15 lrwxrwxrwx 1 root root 21 Apr 28 21:19 libnghttp2.so.14 -> libnghttp2.so.14.20.1 -rw-r--r-- 2 root root 163K Apr 28 21:19 libnghttp2.so.14.20.1 lrwxrwxrwx 1 root root 16 Mar 24 2022 libpopt.so.0 -> libpopt.so.0.0.1 -rw-r--r-- 2 root root 51K Mar 24 2022 libpopt.so.0.0.1 lrwxrwxrwx 1 root root 15 Mar 24 2022 libpsl.so.5 -> libpsl.so.5.3.2 -rw-r--r-- 2 root root 74K Mar 24 2022 libpsl.so.5.3.2 -rw-r--r-- 2 root root 120K Mar 25 2022 librtmp.so.1 lrwxrwxrwx 1 root root 18 Dec 12 2022 libsasl2.so.2 -> libsasl2.so.2.0.25 -rw-r--r-- 2 root root 103K Dec 12 2022 libsasl2.so.2.0.25 lrwxrwxrwx 1 root root 15 Mar 11 11:19 libssh.so.4 -> libssh.so.4.8.7 -rw-r--r-- 2 root root 436K Mar 11 11:19 libssh.so.4.8.7 drwxr-xr-x 2 root root 4.0K Jun 1 11:14 sasl2 ``` The file that is reported not to exist does exist in the directory. I tried cleaning, removing all images. It worked with rockcraft 1.17.2. ### Steps to reproduce * Use the rock file above * `rockcraft pack` ### Environment * rockcraft: 1.19.0 (snap rev 4543) * lxd: 5.21.4 LTS (snap rev 38767) * Ubuntu 24.04 ### rockcraft.yaml ```yaml # Copyright 2023 Canonical Ltd. # See LICENSE file for licensing details. name: charmed-mongodb # the name of your rock base: ubuntu@22.04 # the base environment for this rock version: "6.0.28-22" # just for humans. Semantic versioning is recommended summary: MongoDB in a rock. # 79 char long summary description: | MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON -like documents with optional schemas. license: Apache-2.0 # your application's SPDX license services: mongod: summary: Start Mongod override: replace startup: enabled command: "/bin/bash /bin/start.sh" platforms: # The platforms this rock should be built on and run on amd64: arm64: parts: mongo-snap: plugin: nil stage-snaps: - charmed-mongodb/6/edge - yq stage-packages: - ca-certificates - libssh-4 - libbrotli1 - logrotate - libldap-common non-root-user: plugin: nil after: [mongo-snap] override-overlay: | groupadd -g 584788 mongodb useradd -M -r -g mongodb -u 584788 mongodb override-prime: | craftctl default # Give permission and create the required directories mkdir -p $CRAFT_PRIME/data/db chmod 0755 $CRAFT_PRIME/data/db chown -R 584788:584788 $CRAFT_PRIME/data/db conf="etc/mongod" mongo_config_file="${conf}/mongod.conf" mongos_config_file="${conf}/mongos.conf" mkdir -p $CRAFT_PRIME/$conf cp $CRAFT_PRIME/etc/mongod.conf "${mongo_config_file}" cp $CRAFT_PRIME/etc/mongod.conf "${mongos_config_file}" yq -i ".processManagement.fork = false" "${mongo_config_file}" yq -i ".processManagement.fork = false" "${mongos_config_file}" yq -i ".net.port = 27018" "${mongos_config_file}" yq -i "del(.storage)" "${mongos_config_file}" chown -R 584788:584788 "${conf}" # enable security monitoring rocks=usr/share/rocks/ mkdir -p ${rocks} ## for deb packages declare -a arr=() arr+=('${db:Status-Abbrev},') arr+=('${binary:Package},') arr+=('${Version},') arr+=('${source:Package},') arr+=('${Source:Version}\n') dpkg-query -W -f "${arr[*]}" > ${rocks}/dpkg.query # for snap packages cp snap.charmed-mongodb/manifest.yaml ${rocks} cp snap.charmed-mongodb/snapcraft.yaml ${rocks} rock-license: plugin: dump source: licenses organize: LICENSE-rock: licenses/LICENSE-rock usr/share/doc/logrotate/copyright: licenses/COPYRIGHT-logrotate entry: plugin: dump source: scripts organize: start.sh: bin/start.sh start-mongod.sh: bin/start-mongod.sh start-mongos.sh: bin/start-mongos.sh stage: - bin/start.sh - bin/start-mongod.sh - bin/start-mongos.sh ``` ### Log output ```shell Provide any relevant logging. This field automatically renders as a log, so you don't need to add special formatting. :: 2026-06-01 11:33:39.572 Staging _apt-upgrade :: 2026-06-01 11:33:39.572 execute action _apt-upgrade:Action(part_name='_apt-upgrade', step=Step.STAGE, action_type=ActionType.RUN, reason=None, project_vars=ProjectVarInfo(root={}), properties=ActionProperties(changed_files=None, changed_dirs=None)) :: 2026-06-01 11:33:39.573 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/mongo-snap/layer :: 2026-06-01 11:33:39.573 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:39.604 check layer visibility in /root/parts/mongo-snap/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:39.754 staging overlay files :: 2026-06-01 11:33:39.754 stage overlay migration state exists, not migrating overlay data for partition None :: 2026-06-01 11:33:39.754 STAGE overlay migration state exists, not overwriting migrated overlay data :: 2026-06-01 11:33:39.757 Staging entry :: 2026-06-01 11:33:39.758 execute action entry:Action(part_name='entry', step=Step.STAGE, action_type=ActionType.RUN, reason=None, project_vars=ProjectVarInfo(root={}), properties=ActionProperties(changed_files=None, changed_dirs=None)) :: 2026-06-01 11:33:39.758 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/mongo-snap/layer :: 2026-06-01 11:33:39.759 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:39.789 check layer visibility in /root/parts/mongo-snap/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:39.933 Skipping stage for mongo-snap (already ran) :: 2026-06-01 11:33:39.934 execute action mongo-snap:Action(part_name='mongo-snap', step=Step.STAGE, action_type=ActionType.SKIP, reason='already ran', project_vars=ProjectVarInfo(root={'version': ProjectVar(value='6.0.28-22', updated=False, part_name=None), 'summary': ProjectVar(value='MongoDB in a rock.', updated=False, part_name=None), 'description': ProjectVar(value='MongoDB is a source-available cross-platform\ndocument-oriented database program. Classified\nas a NoSQL database program, MongoDB uses JSON\n-like documents with optional schemas.\n', updated=False, part_name=None)}), properties=ActionProperties(changed_files=None, changed_dirs=None)) :: 2026-06-01 11:33:39.934 Skip execution of Action(part_name='mongo-snap', step=Step.STAGE, action_type=ActionType.SKIP, reason='already ran', project_vars=ProjectVarInfo(root={'version': ProjectVar(value='6.0.28-22', updated=False, part_name=None), 'summary': ProjectVar(value='MongoDB in a rock.', updated=False, part_name=None), 'description': ProjectVar(value='MongoDB is a source-available cross-platform\ndocument-oriented database program. Classified\nas a NoSQL database program, MongoDB uses JSON\n-like documents with optional schemas.\n', updated=False, part_name=None)}), properties=ActionProperties(changed_files=None, changed_dirs=None)) (because already ran) :: 2026-06-01 11:33:39.935 Staging non-root-user :: 2026-06-01 11:33:39.935 execute action non-root-user:Action(part_name='non-root-user', step=Step.STAGE, action_type=ActionType.RUN, reason=None, project_vars=ProjectVarInfo(root={}), properties=ActionProperties(changed_files=None, changed_dirs=None)) :: 2026-06-01 11:33:39.935 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/mongo-snap/layer :: 2026-06-01 11:33:39.935 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:39.962 check layer visibility in /root/parts/mongo-snap/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:40.092 staging overlay files :: 2026-06-01 11:33:40.092 stage overlay migration state exists, not migrating overlay data for partition None :: 2026-06-01 11:33:40.092 STAGE overlay migration state exists, not overwriting migrated overlay data :: 2026-06-01 11:33:40.095 Staging pebble :: 2026-06-01 11:33:40.095 execute action pebble:Action(part_name='pebble', step=Step.STAGE, action_type=ActionType.RUN, reason=None, project_vars=ProjectVarInfo(root={}), properties=ActionProperties(changed_files=None, changed_dirs=None)) :: 2026-06-01 11:33:40.095 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/mongo-snap/layer :: 2026-06-01 11:33:40.096 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:40.150 check layer visibility in /root/parts/mongo-snap/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:40.284 Staging rock-license :: 2026-06-01 11:33:40.284 execute action rock-license:Action(part_name='rock-license', step=Step.STAGE, action_type=ActionType.RUN, reason=None, project_vars=ProjectVarInfo(root={}), properties=ActionProperties(changed_files=None, changed_dirs=None)) :: 2026-06-01 11:33:40.284 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/mongo-snap/layer :: 2026-06-01 11:33:40.285 check layer visibility in /root/parts/_apt-upgrade/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:40.310 check layer visibility in /root/parts/mongo-snap/layer, compared to /root/parts/non-root-user/layer :: 2026-06-01 11:33:40.445 Priming _apt-upgrade :: 2026-06-01 11:33:40.446 execute action _apt-upgrade:Action(part_name='_apt-upgrade', step=Step.PRIME, action_type=ActionType.RUN, reason=None, project_vars=ProjectVarInfo(root={}), properties=ActionProperties(changed_files=None, changed_dirs=None)) :: 2026-06-01 11:33:40.446 priming overlay files :: 2026-06-01 11:33:40.446 load overlay migration state file: /root/overlay/stage_overlay :: 2026-06-01 11:33:40.491 Failed to copy '/root/stage/usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1': no such file or directory. :: 2026-06-01 11:33:40.495 Traceback (most recent call last): :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/utils/file_utils.py", line 173, in copy :: 2026-06-01 11:33:40.495 shutil.copy2(source, destination, follow_symlinks=follow_symlinks) :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/current/usr/lib/python3.12/shutil.py", line 475, in copy2 :: 2026-06-01 11:33:40.495 copyfile(src, dst, follow_symlinks=follow_symlinks) :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/current/usr/lib/python3.12/shutil.py", line 258, in copyfile :: 2026-06-01 11:33:40.495 os.symlink(os.readlink(src), dst) :: 2026-06-01 11:33:40.495 FileNotFoundError: [Errno 2] No such file or directory: 'libbrotlicommon.so.1.0.9' -> '/root/prime/usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1' :: 2026-06-01 11:33:40.495 :: 2026-06-01 11:33:40.495 The above exception was the direct cause of the following exception: :: 2026-06-01 11:33:40.495 Traceback (most recent call last): :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/services/lifecycle.py", line 355, in run :: 2026-06-01 11:33:40.495 self._exec(actions) :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/services/lifecycle.py", line 379, in _exec :: 2026-06-01 11:33:40.495 aex.execute(action, stdout=stream, stderr=stream) :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/executor/executor.py", line 360, in execute :: 2026-06-01 11:33:40.495 self._executor.execute(actions, stdout=stdout, stderr=stderr) :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/executor/executor.py", line 160, in execute :: 2026-06-01 11:33:40.495 self._run_action(act, stdout=stdout, stderr=stderr) :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/executor/executor.py", line 253, in _run_action :: 2026-06-01 11:33:40.495 handler.run_action(action, stdout=stdout, stderr=stderr) :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/executor/part_handler.py", line 313, in run_action :: 2026-06-01 11:33:40.495 state = handler(step_info, stdout=stdout, stderr=stderr) :: 2026-06-01 11:33:40.495 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/executor/part_handler.py", line 608, in _run_prime :: 2026-06-01 11:33:40.495 self._migrate_overlay_files_to_prime() :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/executor/part_handler.py", line 973, in _migrate_overlay_files_to_prime :: 2026-06-01 11:33:40.495 migrated_files, migrated_dirs = migration.migrate_files( :: 2026-06-01 11:33:40.495 ^^^^^^^^^^^^^^^^^^^^^^^^ :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/executor/migration.py", line 124, in migrate_files :: 2026-06-01 11:33:40.495 file_utils.link_or_copy( :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/utils/file_utils.py", line 96, in link_or_copy :: 2026-06-01 11:33:40.495 copy(source, destination) :: 2026-06-01 11:33:40.495 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_parts/utils/file_utils.py", line 175, in copy :: 2026-06-01 11:33:40.495 raise errors.CopyFileNotFound(source) from err :: 2026-06-01 11:33:40.495 craft_parts.errors.CopyFileNotFound: Failed to copy '/root/stage/usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1': no such file or directory. 2026-06-01 11:33:40.856 Executing on host: lxc --project rockcraft config device show local:rockcraft-charmed-mongodb-amd64-43256137 2026-06-01 11:33:40.969 Executing on host: lxc --project rockcraft config device remove local:rockcraft-charmed-mongodb-amd64-43256137 disk-/root/project 2026-06-01 11:33:41.071 Executing on host: lxc --project rockcraft config device remove local:rockcraft-charmed-mongodb-amd64-43256137 disk-/tmp/craft-state 2026-06-01 11:33:41.158 Executing on host: lxc --project rockcraft stop local:rockcraft-charmed-mongodb-amd64-43256137 2026-06-01 11:33:45.025 Executing on host: lxc --project rockcraft list local: --format=yaml 2026-06-01 11:33:45.110 Executing on host: lxc --project rockcraft config set local:rockcraft-charmed-mongodb-amd64-43256137 user.craft_providers.status FINISHED 2026-06-01 11:33:45.190 Failed to run rockcraft in instance 2026-06-01 11:33:45.191 Traceback (most recent call last): 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/services/provider.py", line 587, in run_managed 2026-06-01 11:33:45.191 instance.execute_run( # pyright: ignore[reportUnknownMemberType,reportUnknownVariableType] 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_providers/lxd/lxd_instance.py", line 279, in execute_run 2026-06-01 11:33:45.191 return self.lxc.exec( 2026-06-01 11:33:45.191 ^^^^^^^^^^^^^^ 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_providers/lxd/lxc.py", line 536, in exec 2026-06-01 11:33:45.191 return runner(final_cmd, timeout=timeout, check=check, **kwargs) 2026-06-01 11:33:45.191 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-06-01 11:33:45.191 File "/snap/rockcraft/current/usr/lib/python3.12/subprocess.py", line 571, in run 2026-06-01 11:33:45.191 raise CalledProcessError(retcode, process.args, 2026-06-01 11:33:45.191 subprocess.CalledProcessError: Command '['lxc', '--project', 'rockcraft', 'exec', 'local:rockcraft-charmed-mongodb-amd64-43256137', '--cwd', '/root/project', '--', 'env', 'CRAFT_MANAGED_MODE=1', 'ROCKCRAFT_DEBUG=False', 'ROCKCRAFT_LXD_REMOTE=local', 'ROCKCRAFT_LAUNCHPAD_INSTANCE=production', 'DEBIAN_FRONTEND=noninteractive', 'DEBCONF_NONINTERACTIVE_SEEN=true', 'DEBIAN_PRIORITY=critical', 'CRAFT_PLATFORM=amd64', 'CRAFT_VERBOSITY_LEVEL=BRIEF', 'rockcraft', 'pack']' returned non-zero exit status 1. 2026-06-01 11:33:45.191 2026-06-01 11:33:45.191 The above exception was the direct cause of the following exception: 2026-06-01 11:33:45.191 Traceback (most recent call last): 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/application.py", line 693, in run 2026-06-01 11:33:45.191 return_code = self._run_inner() 2026-06-01 11:33:45.191 ^^^^^^^^^^^^^^^^^ 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/application.py", line 670, in _run_inner 2026-06-01 11:33:45.191 return_code = dispatcher.run() or os.EX_OK 2026-06-01 11:33:45.191 ^^^^^^^^^^^^^^^^ 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_cli/dispatcher.py", line 576, in run 2026-06-01 11:33:45.191 return self._loaded_command.run(self._parsed_command_args) 2026-06-01 11:33:45.191 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/commands/base.py", line 222, in run 2026-06-01 11:33:45.191 result = self._run(parsed_args, **kwargs) or result 2026-06-01 11:33:45.191 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/commands/lifecycle.py", line 663, in _run 2026-06-01 11:33:45.191 return super()._run(parsed_args=parsed_args, step_name=step_name) 2026-06-01 11:33:45.191 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/commands/lifecycle.py", line 276, in _run 2026-06-01 11:33:45.191 self._run_manager_for_build_plan(fetch_service_policy) 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/commands/lifecycle.py", line 123, in _run_manager_for_build_plan 2026-06-01 11:33:45.191 provider.run_managed(build, bool(fetch_service_policy)) 2026-06-01 11:33:45.191 File "/snap/rockcraft/4543/lib/python3.12/site-packages/craft_application/services/provider.py", line 594, in run_managed 2026-06-01 11:33:45.191 raise craft_providers.ProviderError( 2026-06-01 11:33:45.191 craft_providers.errors.ProviderError: Failed to run rockcraft in instance 2026-06-01 11:33:45.191 Full execution log: '/home/neha/.local/state/rockcraft/log/rockcraft-20260601-113242.376101.log' ```

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b A bug in rockcraft 1.19.0 caused overlay packages to fail copying during priming due to symlink handling. The fix was merged in PR #1249 and included in the hotfix/1.19 branch, scheduled for the 1.19.1 release.
qwen/qwen3.6-35b-a3b Fixed in the hotfix/1.19 channel, with a 1.19.1 release planned. The bug caused overlay packages to fail copying during priming due to symlink and part ordering issues, resolved via PR #1249.
qwen3.6-35b-a3b-mtp-q6 Fixed a rockcraft 1.19.0 bug where overlay packages failed to copy during priming due to symlink handling. Resolved in PR #1249 and merged into hotfix/1.19 for the upcoming 1.19.1 release.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1314 fix: do not collide on "similar" symlinks between overlay and install dir craft-parts merged Merged a fix for symlink collisions between overlay and install directories. The author refactored paths_collide for Rockcraft compatibility. All CI checks passed, reviews were approved, and the change resolved issue #1293.
71%