← Back to issue list

Broken spread tests on 20.04 and 22.04

View original Github issue

Metadata

Project
imagecraft
Number
#99
Type
issue
State
closed
Author
upils
Labels
—
Created
Updated
Closed

Current evaluation

Ubuntu 20.04/22.04 spread failures were fixed by merged PR #110 (commit 00f1348), correcting legacy LXD client handling in spread setup.

Resolution: closed resolved

Reason: Maintainer @upils stated that the failures were fixed in canonical/imagecraft#110. The PR merged as commit 00f1348 and corrected 20.04 LXD client handling.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### Bug Description Spread tests are failing on ubuntu 20.04 and 22.04. ### To Reproduce See https://github.com/canonical/imagecraft/actions/runs/13626866157/job/38086522544?pr=94 ### Environment N/A ### imagecraft.yaml ```shell N/A ``` ### Relevant log output ```shell 2025-03-03 09:05:59.954 Executing on host: lxc --project default profile show local:default 2025-03-03 09:06:00.004 Failed to show profile 'default'. 2025-03-03 09:06:00.004 Detailed information: * Command that failed: 'lxc --project default profile show local:default' * Command exit code: 1 * Command standard error output: b'cmd_run.go:1276: WARNING: cannot create user data directory: cannot get the current user: getent returned an error: "getent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.36\' not found (required by getent)\\ngetent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_ABI_DT_RELR\' not found (required by getent)\\ngetent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38\' not found (required by getent)\\n"\ncmd_run.go:1281: WARNING: cannot copy user Xauthority file: cannot get the current user: getent returned an error: "getent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.36\' not found (required by getent)\\ngetent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_ABI_DT_RELR\' not found (required by getent)\\ngetent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38\' not found (required by getent)\\n"\nmkdir: cannot create directory \xe2\x80\x98/root/snap/imagecraft/common/config\xe2\x80\x99: Permission denied\n' 2025-03-03 09:06:00.006 Traceback (most recent call last): 2025-03-03 09:06:00.006 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_providers/lxd/lxc.py", line 850, in profile_show 2025-03-03 09:06:00.007 proc = self._run_lxc(command, capture_output=True, project=project) 2025-03-03 09:06:00.007 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-03-03 09:06:00.007 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_providers/lxd/lxc.py", line 104, in _run_lxc 2025-03-03 09:06:00.007 return subprocess.run(lxc_cmd, check=check, stdin=stdin.value, **kwargs) 2025-03-03 09:06:00.007 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-03-03 09:06:00.007 File "/snap/imagecraft/current/usr/lib/python3.12/subprocess.py", line 571, in run 2025-03-03 09:06:00.007 raise CalledProcessError(retcode, process.args, 2025-03-03 09:06:00.007 subprocess.CalledProcessError: Command '['lxc', '--project', 'default', 'profile', 'show', 'local:default']' returned non-zero exit status 1. 2025-03-03 09:06:00.007 2025-03-03 09:06:00.007 The above exception was the direct cause of the following exception: 2025-03-03 09:06:00.007 Traceback (most recent call last): 2025-03-03 09:06:00.007 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_application/application.py", line 668, in run 2025-03-03 09:06:00.007 return_code = self._run_inner() 2025-03-03 09:06:00.007 ^^^^^^^^^^^^^^^^^ 2025-03-03 09:06:00.007 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_application/application.py", line 652, in _run_inner 2025-03-03 09:06:00.007 self.run_managed(platform, build_for) 2025-03-03 09:06:00.007 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_application/application.py", line 447, in run_managed 2025-03-03 09:06:00.007 with self.services.provider.instance( 2025-03-03 09:06:00.007 File "/snap/imagecraft/current/usr/lib/python3.12/contextlib.py", line 137, in __enter__ 2025-03-03 09:06:00.007 return next(self.gen) 2025-03-03 09:06:00.007 ^^^^^^^^^^^^^^ 2025-03-03 09:06:00.007 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_application/services/provider.py", line 147, in instance 2025-03-03 09:06:00.007 provider.ensure_provider_is_available() 2025-03-03 09:06:00.007 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_providers/lxd/lxd_provider.py", line 80, in ensure_provider_is_available 2025-03-03 09:06:00.008 ensure_lxd_is_ready() 2025-03-03 09:06:00.008 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_providers/lxd/installer.py", line 188, in ensure_lxd_is_ready 2025-03-03 09:06:00.008 if not is_initialized(lxc=lxc, remote=remote): 2025-03-03 09:06:00.008 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-03-03 09:06:00.008 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_providers/lxd/installer.py", line 94, in is_initialized 2025-03-03 09:06:00.008 devices = lxc.profile_show(profile="default", remote=remote).get("devices") 2025-03-03 09:06:00.008 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-03-03 09:06:00.008 File "/snap/imagecraft/x1/lib/python3.12/site-packages/craft_providers/lxd/lxc.py", line 852, in profile_show 2025-03-03 09:06:00.008 raise LXDError( 2025-03-03 09:06:00.008 craft_providers.lxd.errors.LXDError: Failed to show profile 'default'. 2025-03-03 09:06:00.008 * Command that failed: 'lxc --project default profile show local:default' 2025-03-03 09:06:00.008 * Command exit code: 1 2025-03-03 09:06:00.008 * Command standard error output: b'cmd_run.go:1276: WARNING: cannot create user data directory: cannot get the current user: getent returned an error: "getent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.36\' not found (required by getent)\\ngetent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_ABI_DT_RELR\' not found (required by getent)\\ngetent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38\' not found (required by getent)\\n"\ncmd_run.go:1281: WARNING: cannot copy user Xauthority file: cannot get the current user: getent returned an error: "getent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.36\' not found (required by getent)\\ngetent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_ABI_DT_RELR\' not found (required by getent)\\ngetent: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38\' not found (required by getent)\\n"\nmkdir: cannot create directory \xe2\x80\x98/root/snap/imagecraft/common/config\xe2\x80\x99: Permission denied\n' 2025-03-03 09:06:00.008 Full execution log: '/root/.local/state/imagecraft/log/imagecraft-20250303-090559.747200.log' ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Ubuntu 20.04/22.04 spread failures were fixed by merged PR #110 (commit 00f1348), correcting legacy LXD client handling in spread setup.
stealth/space-bunny-alpha — closed resolved Ubuntu 20.04/22.04 spread failures were resolved by merged PR canonical/imagecraft#110 (commit 00f1348), adding overlay support and spread coverage.
stealth/space-bunny-alpha — closed resolved Ubuntu 20.04/22.04 spread failures were fixed by merged PR canonical/imagecraft#110 (commit 00f1348), adding overlay support and spread coverage.
stealth/space-bunny-alpha — closed resolved Spread tests on Ubuntu 20.04/22.04 were fixed by merged PR #110 (commit 00f1348), which added overlay support and spread coverage.
qwen/qwen3.6-35b-a3b — — Spread tests on Ubuntu 20.04 and 22.04 failed due to LXC profile errors and GLIBC version mismatches. The problem was resolved and closed after the fix was merged in pull request #110.
qwen/qwen3.6-35b-a3b — — Fixed in https://github.com/canonical/imagecraft/pull/110
qwen/qwen3.6-35b-a3b — — Spread tests on Ubuntu 20.04 and 22.04 failed due to LXC GLIBC version mismatches. The problem was resolved and merged in pull request #110.
qwen3.6-35b-a3b-mtp-q6 — — Spread tests on Ubuntu 20.04 and 22.04 failed due to GLIBC compatibility errors in LXC commands. Resolved and merged in pull request #110.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/imagecraft#110 (confidence 99%)

    Cited by the maintainer as the fix and merged as commit 00f1348.

  • Related To: canonical/imagecraft#94 (confidence 95%)

    Its CI run was the failing reproduction linked from issue #99.

Related issues

Issue Project State Summary Similarity
#4140 Flaky spread tests snapcraft closed Flaky LXD spread-test timeouts were addressed by PR #4141 and commit 4b20c8435, which improved the resilience of the core18 lxd-type-base test.
78%
#5856 fix(spread): pack with lxd for core20 base tests snapcraft merged Merged PR #5856 (commit 66b9ae9f4) updated Spread core20-base tests to pack with LXD.
77%
#694 tests(spread): use LXD from `5.21/candidate` rockcraft merged Merged PR #694 in commit 90bc9b34, pinning spread tests to LXD 5.21/candidate to restore main and strengthen LTS regression coverage.
76%
#54 Add basic spread tests imagecraft merged PR #54 merged as e5eb5f4, adding amd64 and arm64 spread tests for 20.04/22.04/24.04 (commits 819603b, 514868e). Later fixed by #127 (cd43de1) for 20.04 failures.
76%
#1155 test(spread): add Ubuntu 26.04/26.10 support to spread backends craft-application merged Merged in canonical/craft-application#1155 via commit c8a68947, adding Ubuntu 26.04/26.10 to Spread backends, updating distro-support, and removing the disabled LXD backend.
76%
#467 test(spread): use LXD provider for spread tests imagecraft closed PR closed without merge; spread LXD provider changes were implemented across follow-up PRs (#483, #485, #486, #487, #488, #495)
75%
#2983 tests: add LXD spread test snapcraft merged Merged PR #2983 as 4b8522a14, adding spread coverage that builds the LXD package with LXD and destructive/host providers; installation checks were deferred.
74%
#2631 spread tests: enable LXD build provider tests snapcraft merged Merged PR #2631 enabled LXD build-provider spread tests and reused early-prepared LXD setup, reducing repeated setup and image-download overhead.
73%
#302 test(spread): switch to testing in destructive mode imagecraft merged Merged PR #302 as commit f6aae5e, switching spread tests to destructive mode while LXD lacks required loop-device support.
72%
#2525 test(spread): enable Ubuntu 25.10 and 26.04 spread runners charmcraft merged Merged PR #2525 as commit 8beb372d, adding Ubuntu 25.10 and 26.04 Spread runners and resolving #2480.
72%