Skip to content

Snapcraft 9: snapcraftctl errors in core22 snaps #6336

Description

@ThibF

Check existing issues

  • I've verified that this bug isn't described by any existing issues.

Bug description

While running a new build of a kernel snap for core 22, there was no significant changes on the snapcraft.yaml but it leaded to a build failure.
The only major difference was the jump from snapcraft 8.14.5 to 9.0.1.
The build-base is core 22.

Steps to reproduce

Prepare a snapcraft core 22.
Use snapcraftctl build in an override-build stage.
Trigger a build on launchpad.

Environment

This error popped up in launchpad snap building service

snapcraft.yaml

name: XXXX-a-m1-kernel
adopt-info: kernel
summary: Ubuntu XXXX Linux Kernel
description: The XXXX Ubuntu kernel package as a snap for XXXX project
type: kernel
confinement: strict
build-base: core22


environment:
  LD_LIBRARY_PATH: ${SNAP}/usr/lib

hooks:
  fde-setup:
    plugs:
      - tee
      - home

parts:
  kernel:
    plugin: nil
    build-packages:
      - kmod
    stage-packages:
      - linux-image-uc22-XXXX
      - linux-image-XXXX
      - linux-XXXX-firmware
    organize:
      boot: ./
      lib/firmware: firmware
      lib/modules: modules
      usr/share/doc: doc
    override-build: |
      craftctl set version="$(apt show linux-image-uc22-XXXX 2>/dev/null | sed -n 's/^Version: //p' | head -n1)"
      rm -f "$SNAPCRAFT_PART_INSTALL"/boot/vmlinuz-* "$SNAPCRAFT_PART_INSTALL"/boot/fit-*-nofde
      mv "$SNAPCRAFT_PART_INSTALL"/boot/fit-*-fde "$SNAPCRAFT_PART_INSTALL"/boot/kernel.img
      depmod -b "$SNAPCRAFT_PART_INSTALL" $(basename "$SNAPCRAFT_PART_INSTALL"/lib/modules/*)
      ls .
      ls /
      if [ -e /usr/lib/ubuntu-core-initramfs/main/usr/lib/snapd/info ]; then
          cp /usr/lib/ubuntu-core-initramfs/main/usr/lib/snapd/info "$SNAPCRAFT_PART_INSTALL"/snapd-info;
      elif [ -e /usr/lib/snapd/info ]; then
          cp /usr/lib/snapd/info "$SNAPCRAFT_PART_INSTALL"/snapd-info;
      elif [ -e chroot/usr/lib/snapd/info ]; then
          cp chroot/usr/lib/snapd/info "$SNAPCRAFT_PART_INSTALL"/snapd-info;
      else
          echo "ERROR: no snapd-info found" 1>&2;
          exit 1;
      fi
      craftctl default
    stage:
      - -doc/crda
      - -doc/linux-base
      - -doc/iw
      - -etc
      - -firmware/amd
      - -firmware/amdgpu
      - -firmware/asihpi
      - -firmware/cavium
      - -firmware/cxgb3
      - -firmware/cxgb4
      - -firmware/dpaa2
      - -firmware/i915
      - -firmware/intel
      - -firmware/iwlwifi-*
      - -firmware/liquidio
      - -firmware/matrox
      - -firmware/mellanox
      - -firmware/mrvl
      - -firmware/moxa
      - -firmware/netronome
      - -firmware/nvidia
      - -firmware/qed
      - -firmware/radeon
      - -firmware/rockchip
      - -firmware/ath10k/QCA9377/hw1.0/firmware-5.bin
      - -firmware/ath3k-1.fw
      - -firmware/qca/htbtfw20.tlv
      - -firmware/qcom
      - -firmware/s5p*
      - -lib
      - -sbin
      - -usr

  fdehook:
    plugin: nil
    build-packages:
      - oem-fdehelper-optee
    override-build: |
      mkdir -p "$SNAPCRAFT_PART_INSTALL"/meta/hooks "$SNAPCRAFT_PART_INSTALL"/usr/lib
      cp -a /usr/bin/fde-setup "$SNAPCRAFT_PART_INSTALL"/meta/hooks
      cp -a /usr/lib/libteec* "$SNAPCRAFT_PART_INSTALL"/usr/lib

Log output

snapcraft 9.0.1 from Canonical** installed
Running repo phase...
Cloning into 'XXXXX-kernel'...
[12/Jul/2026:22:36:16 +0000] "CONNECT git.launchpad.net:443 HTTP/1.1" 200 4520178 "-" "git/2.34.1"
Running pull phase...
Traceback (most recent call last):
  File "/snap/snapcraft/18519/bin/snapcraft", line 12, in <module>
    sys.exit(main())
             ^^^^^^
  File "/snap/snapcraft/18519/lib/python3.12/site-packages/snapcraft/application.py", line 358, in main
    return cli.run()
           ^^^^^^^^^
  File "/snap/snapcraft/18519/lib/python3.12/site-packages/snapcraft/cli.py", line 258, in run
    _run_dispatcher(dispatcher, global_args)
  File "/snap/snapcraft/18519/lib/python3.12/site-packages/snapcraft/cli.py", line 231, in _run_dispatcher
    dispatcher.run()
  File "/snap/snapcraft/18519/lib/python3.12/site-packages/craft_cli/dispatcher.py", line 576, in run
    return self._loaded_command.run(self._parsed_command_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/snapcraft/18519/lib/python3.12/site-packages/snapcraft/commands/core22/lifecycle.py", line 118, in run
    parts_lifecycle.run(self.name, parsed_args)
  File "/snap/snapcraft/18519/lib/python3.12/site-packages/snapcraft/parts/lifecycle.py", line 99, in run
    project = models.Project.unmarshal(yaml_data_for_arch)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/snapcraft/18519/lib/python3.12/site-packages/snapcraft/models/project.py", line 2120, in unmarshal
    return pydantic.TypeAdapter(SnapcraftProject).validate_python(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/snap/snapcraft/18519/lib/python3.12/site-packages/pydantic/type_adapter.py", line 441, in validate_python
    return self.validator.validate_python(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for function-before[_validate_type(), tagged-union[tagged-union[function-after[_validate_platforms_and_architectures(), function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), Core22Project]]]],function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), Core24Project]]],function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), Core26Project]]],function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), DevelBaseProject]]],tagged-union[function-after[_validate_platforms_and_architectures(), function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), BareCore22Project]]]],function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), BareCore24Project]]],function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), BareCore26Project]]],function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), BareDevelProject]]]]],tagged-union[function-after[_validate_platforms_and_architectures(), function-after[_validate_no_base(), function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), _BaselessCore22Project]]]]],function-after[_validate_no_base(), function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), _BaselessProject]]]],function-after[_validate_no_base(), function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), _BaselessProject]]]],function-after[_validate_no_base(), function-after[_validate_grade_and_build_base(), function-after[_validate_adoptable_fields(), function-after[_validate_bare_base_requires_build_base(), _BaselessProject]]]]]]]
baseless.core22.parts
  Value error, Can't use 'snapcraftctl' in the override-build script for part 'kernel'. Use 'craftctl' instead. [type=value_error, input_value={'kernel': {'plugin': 'ni...RT_INSTALL"/usr/lib\n'}}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.12/v/value_error
Build failed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 341, in run
    self.pull()
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 264, in pull
    self.run_build_command(
  File "/usr/lib/python3/dist-packages/lpbuildd/target/operation.py", line 70, in run_build_command
    return self.backend.run(args, cwd=cwd, env=full_env, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 736, in run
    subprocess.check_call(cmd, **kwargs)
  File "/usr/lib/python3.12/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['lxc', 'exec', 'lp-jammy-arm64', '--env', 'LANG=C.UTF-8', '--env', 'SHELL=/bin/sh', '--env', 'http_proxy=http://10.10.10.1:8222/', '--env', 'https_proxy=http://10.10.10.1:8222/', '--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/lpbuildd-git-proxy', '--env', 'SNAPPY_STORE_NO_CDN=1', '--env', 'LAUNCHPAD_INSTANCE=production', '--env', 'LAUNCHPAD_SERVER_URL=launchpad.net', '--env', 'SNAPCRAFT_LOCAL_SOURCES=1', '--env', 'SNAPCRAFT_SETUP_CORE=1', '--env', 'SNAPCRAFT_IMAGE_INFO={"build-request-id": "lp-115638100", "build-request-timestamp": "2026-07-10T13:33:56Z", "build_url": "https://launchpad.net/~XXXXX-team/XXXXXX/+snap/XXXXXX-01/+build/3212660"}', '--env', 'SNAPCRAFT_BUILD_ENVIRONMENT=host', '--', '/bin/sh', '-c', 'cd /build/XXXXX-kernel && linux64 snapcraft pull']' returned non-zero exit status 1.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions