← Back to issue list

Broken core20 armhf builds on launchpad

View original Github issue

Metadata

Project
snapcraft
Number
#5077
Type
issue
State
closed
Author
Hook25
Labels
—
Created
Updated
Closed

Current evaluation

Fixed the cryptography/OpenSSL failure on core20 armhf Launchpad builds in Snapcraft 8.4.2 via #5084; the fix was also backported to 7.5.8 in #5105.

Resolution: closed resolved

Reason: The maintainer marked the report fixed via #5084 and confirmed it shipped in 8.4.2. They later confirmed #5105 backported the fix to Snapcraft 7.5.8.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### Bug Description When building on launchpad via remote-build a core20 snap for armhf, the traceback in this output is printed. This happens deterministically in our daily builds that are dispatched via snapcraft 7. ### To Reproduce I think this should happen building any core20 snap via remote-build (as there is nothing special in what we do and if fails to run as soon as it is picked up for any core20 armhf snap we build) ```shell git clone https://github.com/canonical/checkbox cd checkbox/checkbox-snap ./prepare.sh series_classic20 snap refresh snapcraft --channel=7 snapcraft remote-build --build-for=armhf ``` ### Environment Workflow: https://github.com/canonical/checkbox/blob/main/.github/workflows/checkbox-snap-daily-builds.yml ### snapcraft.yaml ```yaml name: checkbox summary: Checkbox test runner description: | Checkbox is a flexible test automation software. It’s the main tool used in Ubuntu Certification program. adopt-info: version-calculator grade: stable confinement: classic base: core20 apps: checkbox-cli: command-chain: [bin/wrapper_local] command: bin/checkbox-cli-wrapper test-runner: command-chain: [bin/wrapper_local] command: bin/test-runner sru: command-chain: [bin/wrapper_local] command: bin/sru client-cert-iot-server: command-chain: [bin/wrapper_local] command: bin/client-cert-iot-server odm-certification: command-chain: [bin/wrapper_local] command: bin/odm-certification-app configure: command: bin/configure agent: command-chain: [bin/wrapper_local] command: bin/checkbox-cli-wrapper run-agent daemon: simple restart-condition: always restart-delay: 1s shell: command-chain: [bin/wrapper_local] command: bin/shell-wrapper passthrough: hooks: configure: command-chain: [bin/wrapper_local] parts: version-calculator: plugin: dump source: . override-pull: | snapcraftctl pull # version.txt created by prepare.sh export version=`cat $SNAPCRAFT_PART_SRC/version.txt` [ $version ] || exit 1 snapcraftctl set-version $version stage: - version.txt launchers: plugin: dump source: launchers/ organize: '*': bin/ config-variables: plugin: dump source: . stage: [config_vars] workaround-automated-review-issue: plugin: nil override-build: | # This is a workaround for an upstream bug in the automated snap review tool # remove this once this issue is resolved: # https://bugs.launchpad.net/review-tools/+bug/2049093 # Note: this cats /dev/urandom because the squashfs will collapse any # predictable output to less than the desired size making this # ineffective echo "This file is a workaround for a bug in the automated snap review tool" > $SNAPCRAFT_PART_INSTALL/size_workaround echo "this only contains random bytes to pad the snap to 16kb" >> $SNAPCRAFT_PART_INSTALL/size_workaround echo "see: https://bugs.launchpad.net/review-tools/+bug/2049093" >> $SNAPCRAFT_PART_INSTALL/size_workaround head -c 16384 /dev/urandom >> $SNAPCRAFT_PART_INSTALL/size_workaround ``` ### Relevant log output ```shell Traceback (most recent call last): File "<string>", line 2, in <module> File "/snap/snapcraft/12614/lib/python3.10/site-packages/snapcraft_legacy/__init__.py", line 352, in <module> from snapcraft_legacy._store import ( # noqa File "/snap/snapcraft/12614/lib/python3.10/site-packages/snapcraft_legacy/_store.py", line 30, in <module> import craft_store File "/snap/snapcraft/12614/lib/python3.10/site-packages/craft_store/__init__.py", line 23, in <module> from .auth import Auth File "/snap/snapcraft/12614/lib/python3.10/site-packages/craft_store/auth.py", line 33, in <module> from keyring.backends import SecretService File "/snap/snapcraft/12614/lib/python3.10/site-packages/keyring/backends/SecretService.py", line 16, in <module> import secretstorage File "/snap/snapcraft/12614/lib/python3.10/site-packages/secretstorage/__init__.py", line 13, in <module> from secretstorage.collection import Collection, create_collection, \ File "/snap/snapcraft/12614/lib/python3.10/site-packages/secretstorage/collection.py", line 24, in <module> from secretstorage.item import Item File "/snap/snapcraft/12614/lib/python3.10/site-packages/secretstorage/item.py", line 17, in <module> from secretstorage.util import DBusAddressWrapper, \ File "/snap/snapcraft/12614/lib/python3.10/site-packages/secretstorage/util.py", line 23, in <module> from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes File "/snap/snapcraft/12614/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py", line 11, in <module> from cryptography.hazmat.primitives.ciphers.base import ( File "/snap/snapcraft/12614/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 10, in <module> from cryptography.hazmat.bindings._rust import openssl as rust_openssl RuntimeError: OpenSSL 3.0's legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this error, you have likely made a mistake with your OpenSSL configuration. ``` ### Additional context See it failing here: https://github.com/canonical/checkbox/actions/workflows/daily-builds.yml Relevant logs: [checkbox_armhf.txt](https://github.com/user-attachments/files/17185713/checkbox_armhf.txt) [checkbox_armhf.4.txt](https://github.com/user-attachments/files/17185714/checkbox_armhf.4.txt) [checkbox_armhf.3.txt](https://github.com/user-attachments/files/17185715/checkbox_armhf.3.txt) [checkbox_armhf.2.txt](https://github.com/user-attachments/files/17185716/checkbox_armhf.2.txt) [checkbox_armhf.1.txt](https://github.com/user-attachments/files/17185717/checkbox_armhf.1.txt)

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Fixed the cryptography/OpenSSL failure on core20 armhf Launchpad builds in Snapcraft 8.4.2 via #5084; the fix was also backported to 7.5.8 in #5105.
stealth/space-bunny-alpha — closed resolved Core20 armhf Launchpad builds were fixed via #5084 in Snapcraft 8.4.2, with the fix also released for 7.5.8 by #5105.
qwen/qwen3.6-35b-a3b — — Fixed core20 armhf Launchpad build failures caused by an OpenSSL 3.0 legacy provider error. Resolved via snapcraft PR #5084 (v8.4.2) and PR #5105 (v7.5.8).
qwen/qwen3.6-35b-a3b — — Fixed OpenSSL 3.0 legacy provider error breaking core20 armhf builds. Resolved via craft-store PR #221 and snapcraft PRs #5084 (v8.4.2) and #5105 (v7.5.8). Released to stable.
qwen3.6-35b-a3b-mtp-q6 — — Fixed core20 armhf build failures caused by OpenSSL 3.0 legacy provider errors. Resolved via snapcraft PR #5084 and craft-store PR #221, released in snapcraft 8.4.2 and 7.5.8.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/snapcraft#5084 (confidence 100%)

    Primary fix reported by the maintainer and included in Snapcraft 8.4.2.

  • Likely Fixed By: canonical/snapcraft#5105 (confidence 100%)

    Backported the fix to the Snapcraft 7.5.8 release.

  • Likely Fixed By: canonical/craft-store#221 (confidence 95%)

    Upstream craft-store fix cited as the basis for the Snapcraft resolution.

Related issues

Issue Project State Summary Similarity
#2064639 snapcraft remote-build core20 armhf openssl error snapcraft (launchpad) closed armhf/riscv64/ppc64el/s390x remote-build failed on core20 after cryptography 42.0.5 broke the OpenSSL legacy provider. Fixed by merged PR canonical/snapcraft#4784 (commit 7aeffed19), setting CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 in the snap manifest; LP#2064639 closed as fixed.
78%
#1976221 Missing linker base while building with core22 base snapcraft (launchpad) closed Resolved by upgrading from legacy Snapcraft to Snapcraft 7.x, which correctly builds core22 snaps; no code fix or linked PR was recorded.
70%
#1984227 Snapcraft 7.1.1 does not build with core22 on riscv64 snapcraft (launchpad) closed Fixed in Snapcraft 7.1.2, which added the missing riscv64 support needed to build core22 snaps.
70%