Overlay packages fail to copy properly.
Metadata
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. |