Skip to content

alpine-container-disk-demo VM image's kernel not compatible with latest AMD Zen3 microarchitecture node #44

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

Closed
pbxqdown opened this issue Nov 16, 2022 · 2 comments

Comments

@pbxqdown
Copy link

What happened:
When trying to run alpine-container-disk-demo VM on a AMD Zen3 node with INVPCID feature, the VM has kernel panic during startup.
The VM's kernel log is as follows:

[    0.020000] ------------[ cut here ]------------
[    0.020000] kernel BUG at /home/buildozer/aports/main/linux-hardened/src/linux-4.9/arch/x86/kernel/alternative.c:793!
[    0.020000] invalid opcode: 0000 [#1] SMP
[    0.020000] Modules linked in:
[    0.020000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.9.65-1-virthardened #2-Alpine
[    0.020000] task: ffffffff81806200 task.stack: ffffffff81800000
[    0.020000] RIP: 0010:[<ffffffff810370e5>]  [<ffffffff810370e5>] text_poke+0x2d1/0x324
[    0.020000] RSP: 0000:ffffffff81803e00  EFLAGS: 00010003
[    0.020000] RAX: 0000000000000000 RBX: 0000000000000800 RCX: 00000000fffa3203
[    0.020000] RDX: 00000000078bfbcc RSI: 0000000000000000 RDI: ffffffffff57a000
[    0.020000] RBP: ffffffff81803e38 R08: 0000000000000000 R09: 0000000000000001
[    0.020000] R10: ffffffff81803e00 R11: 0000000000000003 R12: ffffffff810af4fe
[    0.020000] R13: 0000000000000001 R14: ffffffff81803e4f R15: ffffea0000042c00
[    0.020000] FS:  0000000000000000(0000) GS:ffff88007f800000(0000) knlGS:0000000000000000
[    0.020000] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.020000] CR2: ffff880001ac1000 CR3: 00000000018b7000 CR4: 00000000000406b0
[    0.020000] Stack:
[    0.020000]  0000160000000000 0000000000000286 ffffffff810af4fe 0000000000000005
[    0.020000]  ffffffff81803e8b ffffffff810af4ff ffffffff818a4000 ffffffff81803e78
[    0.020000]  ffffffff8103757e cc00000000000000 3198eda23198eda0 ffffffff818a0b30
[    0.020000] Call Trace:
[    0.020000]  [<ffffffff810af4fe>] ? sched_clock_stable+0x4/0x32
[    0.020000]  [<ffffffff810af4ff>] ? sched_clock_stable+0x5/0x32
[    0.020000]  [<ffffffff8103757e>] text_poke_bp+0x5f/0x147
[    0.020000]  [<ffffffff81033ebe>] arch_jump_label_transform+0x11d/0x181
[    0.020000]  [<ffffffff8114efae>] __jump_label_update+0x6f/0x9a
[    0.020000]  [<ffffffff8114f079>] jump_label_update+0xa0/0xc5
[    0.020000]  [<ffffffff8114f1b8>] static_key_slow_inc+0xa0/0x100
[    0.020000]  [<ffffffff810af55f>] __set_sched_clock_stable+0x33/0x53
[    0.020000]  [<ffffffff810af849>] sched_clock_init+0x99/0xd2
[    0.020000]  [<ffffffff8190a9c9>] start_kernel+0x761/0x92c
[    0.020000]  [<ffffffff81909120>] ? early_idt_handler_array+0x120/0x120
[    0.020000]  [<ffffffff819093dc>] x86_64_start_reservations+0x51/0x71
[    0.020000]  [<ffffffff8190953a>] x86_64_start_kernel+0x13e/0x17f
[    0.020000] Code: d0 eb 09 07 6e 9d db ff ff ff ff cc ff 14 25 d8 cb 77 81 b8 01 00 00 00 0f a2 31 c0 4c 39 e8 74 11 41 8a 14 06 41 38 14 04 74 02 <0f> 0b 48 ff c0 eb ea 48 8b 7d d0 eb 09 7c 43 fa d5 ff ff ff ff 
[    0.020000] RIP  [<ffffffff810370e5>] text_poke+0x2d1/0x324
[    0.020000]  RSP <ffffffff81803e00>
[    0.020000] ---[ end trace 21291e070b1f1c47 ]---
[    0.020000] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.020000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

Cause of the issue:
The old kernel in the VM is not handling the new Zen3 INVPCID feature.
The kernel version is 4.9.65-1 and is missing this patch: https://www.spinics.net/lists/stable/msg453918.html

Environment:

  • KubeVirt version (use virtctl version): N/A
  • Kubernetes version (use kubectl version): N/A
  • VM or VMI specifications: N/A
  • Cloud provider or hardware configuration: N/A
  • OS (e.g. from /etc/os-release): N/A
  • Kernel (e.g. uname -a): 4.18.0-348.20.1.el8.1653519607.fda72e83b1.x86_64(host node)
  • Install tools: N/A
  • Others: N/A
@rmohr
Copy link
Member

rmohr commented Dec 5, 2022

@pbxqdown hey, the containerdisk-demo images are not coming from this repo (they are part of kubevirt/kubevirt). Also note that kubevirt stopped using floating tags a long time ago, so the latest image is probably super-old. You could probably use the v0.57.0 tag or something like that ,but as said they are just for kubevirt/kubevirt development.

You can checkout supported images here: https://quay.io/organization/containerdisks/

@pbxqdown
Copy link
Author

Thanks for the clarification. I found that latest image is used a lot in the test. maybe it is because 0.50 version is not up-to-date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants