Skip to content

[Bug] Unexpected subleaf error in unsupported kernels #5213

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
3 tasks done
andrewla opened this issue May 15, 2025 · 1 comment · May be fixed by #5231
Open
3 tasks done

[Bug] Unexpected subleaf error in unsupported kernels #5213

andrewla opened this issue May 15, 2025 · 1 comment · May be fixed by #5231
Assignees
Labels
Status: WIP Indicates that an issue is currently being worked on or triaged

Comments

@andrewla
Copy link
Contributor

Describe the bug

We get this error when trying to start firecracker on an old (unsupported) kernel, 5.4:

RunWithApiError error: Failed to build MicroVM from Json: Could not Start MicroVM from one single json: System configuration error: Error configuring the vcpu for boot: Failed to apply modifications to CPUID: Failed to set extended topology leaf: Unexpected subleaf: 2

This is caused by this change, part of #5084.

In the kernel this is fixed by this change, backported to 5.10.

The issue is that the change does not seem functionally necessary; it breaks previous kernels but unclear that it fixes or changes any behavior otherwise.

To Reproduce

Start a firecracker VM on a 5.4 kernel (Ubuntu 20.04 LTS in this case).

Expected behaviour

Works but isn't supported.

Ideally we would issue a patch, v1.12.1, that fixes this specific issue.

Environment

  • Firecracker version: v1.12.0
  • Host and guest kernel versions: Host is 5.4
  • Rootfs used: n/a
  • Architecture: x86_64
  • Any other relevant software versions:

Additional context

We're migrating to Ubuntu 22.04, but this has been working on 20.04 kernel 5.4 until this upgrade.

Checks

  • Have you searched the Firecracker Issues database for similar problems?
  • Have you read the existing relevant Firecracker documentation?
  • Are you certain the bug being reported is a Firecracker issue?
@roypat roypat added the Status: WIP Indicates that an issue is currently being worked on or triaged label May 21, 2025
@zulinx86
Copy link
Contributor

zulinx86 commented May 29, 2025

@andrewla Thank you for reporting the issue!

First, the change works as a guardrail to detect functional regressions when KVM makes any breaking changes around the extended topology leaves.

On the other hand, we have a test that takes a fingerprint of CPU state, saves it as baseline, and compares it with a newly captured fingerprint to detect any changes in CPUID. So without the change, we already have a way to detect the change. So I can drop the error.

However, as you already know, the kernel versions prior to 5.10 are not supported. So we won't release a patch version for unsupported kernel versions. If you want to use Firecracker, you can (1) build it from the upstream main branch and (2) fork it once the fix gets merged and build it from your downstream.

Thanks,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: WIP Indicates that an issue is currently being worked on or triaged
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants