How does and should Qubes OS handle firmware bugs which cause cpuid and APIC id mismatch?

Is this true?

It would be useful to know what hardware does this. There are some intel processors without HT, and enabling SMT in Qubes would cause it. Are there some other conditions?

1 Like

I’m afraid the explanation is as simple as it is boring: I’m not a dev, and I don’t know the answers to your questions. I’m just the community manager. I’ve been using Qubes for a long time, but my knowledge is still only that of a simple user.

A new community member asked questions to which I knew the answers, so I figured I would try to help him out by answering them. (Beginner questions are more suited to my knowledge level.) No good deed goes unpunished, I guess…

5 Likes

Looks like there’s already an open issue for this:

@marmarek, are these warnings safe to ignore?

1 Like

Yes, this is too-verbose message from Linux.

5 Likes

I recognized this ā€œfirmware bugā€ message month ago.
I had it on several intel systems:

on each system i didn“t recognized any related impact:

for example:
Intel Core 2 Ultra 255H
SMP disabled / smt=off

got the message with all cores enabled (Power Cores and Efficiency Cores)
later disabled Efficiency Cores, due issues with Sound when sys-audio is dynamically routed to Efficiency, but still the same message

[    0.000000] DMI: LENOVO 21QTCTO1WW/21QTCTO1WW, BIOS R2WET40W (1.22 ) 01/08/2026
[    1.121105] smp: Bringing up secondary CPUs ...
[    1.121193] installing Xen timer for CPU 1
[    1.121309] installing Xen timer for CPU 2
[    1.121408] installing Xen timer for CPU 3
[    1.121500] installing Xen timer for CPU 4
[    1.121598] installing Xen timer for CPU 5
[    0.093090] [Firmware Bug]: CPU   1: APIC ID mismatch. CPUID: 0x0001 APIC: 0x0008
[    1.121626] cpu 1 spinlock event irq 151
[    0.093090] [Firmware Bug]: CPU   2: APIC ID mismatch. CPUID: 0x0002 APIC: 0x0020
[    1.121626] cpu 2 spinlock event irq 152
[    0.093090] [Firmware Bug]: CPU   3: APIC ID mismatch. CPUID: 0x0003 APIC: 0x0028
[    1.121626] cpu 3 spinlock event irq 153
[    0.093090] [Firmware Bug]: CPU   4: APIC ID mismatch. CPUID: 0x0004 APIC: 0x0030
[    1.121626] cpu 4 spinlock event irq 154
[    0.093090] [Firmware Bug]: CPU   5: APIC ID mismatch. CPUID: 0x0005 APIC: 0x0038
[    1.121626] cpu 5 spinlock event irq 155
[    1.121626] smp: Brought up 1 node, 6 CPUs
host                   : dom0
release                : 6.19.5-1.qubes.fc41.x86_64
version                : #1 SMP PREEMPT_DYNAMIC Mon Mar  2 13:25:40 UTC 2026
machine                : x86_64
nr_cpus                : 6
max_cpu_id             : 5
nr_nodes               : 1
cores_per_socket       : 6
threads_per_core       : 1
cpu_mhz                : 3686.384
hw_caps                : bfebfbff:77faf3ff:2c100800:00000121:0000000f:239ca7eb:9940078c:00000100
virt_caps              : pv hvm hvm_directio pv_directio hap iommu_hap_pt_share vmtrace gnttab-v1
total_memory           : 97780
free_memory            : 54925
sharing_freed_memory   : 0
sharing_used_memory    : 0
outstanding_claims     : 0
free_cpus              : 0
xen_major              : 4
xen_minor              : 19
xen_extra              : .4
xen_version            : 4.19.4
xen_caps               : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
xen_scheduler          : credit2
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : 
xen_commandline        : placeholder console=none dom0_mem=min:1024M dom0_mem=max:4096M ucode=scan smt=off gnttab_max_frames=2048 gnttab_max_maptrack_frames=4096 no-real-mode edd=off
cc_compiler            : gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4)
cc_compile_by          : mockbuild
cc_compile_domain      : [unknown]
cc_compile_date        : Fri Apr 17 19:26:17 UTC 2026
build_id               : e2843bbb2ec07ef1191daa452d7a5a72ebca6b94
xend_config_format     : 4

i can provide further systems with the same kind of information, if someone wishes…

2 Likes

@topperharly

That is a useful addition:

It seems the CPU has no HT/SMT, but shows the APIC mismatch warning. Maybe it is related to the extra Economy cores…
The BIOS is almost the most recent (one exists from april), and kernel is also.

1 Like

My ā€œexcessiveā€ consumption of resources had nothing to do with this ā€œbugā€ which, in fact, has existed for quite a long time but which is purely esthetic. It was just a mistake on my part, a poorly designed script that used too many resources. Now everything is ok :slight_smile:

3 Likes

Not fully sure if this is related.
I have a laptop which has a lot of these APIC bugs and the compatibility broke with Qubes 4.3. After investigating a very long time, I found that it was because Qubes 4.3 is using Debian 13. Then I found that the laptop is compatible with Debian 12 but not with Debian 13. And after investigating more, I found that my hardware bug came with recent versions of Linux kernels (I am note sure, around linux v6.12). Debian 12 with recent intel-microcode versions works, Debian 13 without intel-microcode also works. But in fact that’s probably a mix of recent Linux kernel versions and recent intel-microcode versions which provokes these APIC bugs.

1 Like

Ok… i will finish contributing in this thread.
I think this has a flavour of trolling and AI Hypnotics…

Last comment from my side:

Qubes OS 4.3.0 uses via Default
Linux Kernel 6.12 and Fedora 41 with Xen 4.19

Qubes 4.3.0 Release Announcement

1 Like

I must have mixed you up with someone with a similar name.
I’m guessing others did the same mistake since no one pointed out that you are not a developer.
It’s funny though how simply you still solved it by just tagging marmarek after everyone has been having a hard time figuring this out for a long time.

It’s great that we now have an answer from a qualified developer
.
I hope it gets added to the documentation next because this topic shows how challenging it can be when information is spread out on several different domains and technologies. It becomes easy to miss some useful info.
I’m sure there will be many more people wondering what this error means, so lets make it easier for them by adding it to the docs.

1 Like

Here’s the guide for how to do so, in case you’re not already familiar with the process:

1 Like

For a simple first step, just mark Marmarek’s post as Solution.

A solved thread is already documentation.

1 Like