Bug 16423

Summary: AB-INT: qemu central error: drm_crtc_wait_one_vblank
Product: [QA/Testing] Runtime Testing Reporter: Mathieu Dubois-Briand <mathieu.dubois-briand>
Component: generalAssignee: Unassigned <unassigned>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Undecided CC: david.c.nystrom, richard.purdie
Version: unspecified   
Target Milestone: 0.0.0   
Hardware: x86   
OS: Multiple   
Whiteboard: AB-INT
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Attachments:
Description Flags
dmesg full log none

Description Mathieu Dubois-Briand 2026-09-11 08:12:08 UTC
Created attachment 5245 [details]
dmesg full log

I'm not sure what the issue is here, as we are only seeing a warning in kernel logs.

AssertionError: 6 != 0 : Log: /srv/pokybuild/yocto-worker/qemux86-64-ptest/build/build/tmp/work/qemux86_64-poky-linux/core-image-ptest-openssh/1.0/target_logs/dmesg_output.log
-----------------------
Central error: [    3.266523] ------------[ cut here ]------------
***********************
[    1.372278] Freeing unused kernel image (text/rodata gap) memory: 756K
[    1.374059] Freeing unused kernel image (rodata/data gap) memory: 1596K
[    1.375722] Run /sbin/init as init process
[    1.376759]   with arguments:
[    1.376760]     /sbin/init
[    1.376760]   with environment:
[    1.376761]     HOME=/
[    1.376761]     TERM=linux
[    2.204050] udevd[142]: starting version 3.2.14
[    2.207411] udevd[143]: starting eudev-3.2.14
[    3.266523] ------------[ cut here ]------------
[    3.268078] bochs-drm 0000:00:01.0: [drm] vblank wait timed out on crtc 0
[    3.270141] WARNING: /usr/src/kernel/drivers/gpu/drm/drm_vblank.c:1329 at drm_crtc_wait_one_vblank+0x1a5/0x230, CPU#0: kworker/0:1/10
[    3.273746] Modules linked in:
[    3.274709] CPU: 0 UID: 0 PID: 10 Comm: kworker/0:1 Not tainted 7.2.4-yocto-standard #1 PREEMPT(full) 
[    3.277498] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014
[    3.280841] Workqueue: events drm_fb_helper_damage_work
[    3.282431] RIP: 0010:drm_crtc_wait_one_vblank+0x1ae/0x230
[    3.284085] Code: e8 37 1e 07 00 48 8b 7b 08 4c 8b 67 50 4d 85 e4 75 03 4c 8b 27 e8 22 1e 07 00 48 8d 3d 1b 95 2c 01 44 89 e9 4c 89 e2 48 89 c6 <67> 48 0f b9 3a 44 89 ee 48 89 df 41 be 92 ff ff ff e8 7c fc ff ff
[    3.289540] RSP: 0018:ffffa85a8005bd08 EFLAGS: 00010286
[    3.291108] RAX: ffffffff86b95de4 RBX: ffff9797c18f6000 RCX: 0000000000000000
Comment 1 Mathieu Dubois-Briand 2026-09-11 08:13:04 UTC
qemux86-64-ptest alma8-vk-2 master completed at 2026-09-11 01:34:49+00:00
https://valkyrie.yocto.io/pub/non-release/20260911-8/testresults/qemux86-64-ptest/
https://autobuilder.yoctoproject.org/valkyrie/#/builders/73/builds/4538/steps/16/logs/stdio

no-x11 debian11-vk-1 master completed at 2026-09-04 17:57:58+00:00
https://autobuilder.yoctoproject.org/valkyrie/#/builders/25/builds/4577/steps/16/logs/stdio
Comment 2 David Nyström 2026-09-15 19:06:23 UTC
Normally, a WARN on caused by excessive CPU load is a CVE, due to PANIC_ON_WARN.

The DRM subsystem does not agree to above(for emulators), and patching this upstream seems unlikely, discussed here:
https://lore.kernel.org/lkml/0000000000009cd8d505bd545452@google.com/T/#m12dc6602275a453d674588dd9c95e7d147b72ff3

And referenced in commit:
https://lore.kernel.org/all/2dae83e3-6fee-4e66-964e-c7baf46eecd8@suse.de/

I somewhat suspect this is due to parallel QEMU runs on the same build machine. 
1. Reduce load on machines running QEMU. (sequential runs ?)
2. Is emulating a display essential for the testcases running ?
Comment 3 David Nyström 2026-09-15 19:14:04 UTC
Ignore comment 2. :(
Comment 4 David Nyström 2026-09-15 20:26:05 UTC
Ah, v6.19 introduced vblank usage in the bochs driver in commit:
bde44378397b1969f2be5908f41083e900eb5294
drm/bochs: Use vblank timer

Thats likely why we did not see this on v6.18. We could attempt to revert it for some time. But I guess its worth brinding this up upstream. Seems like a strange thing to do for a driver which is emulator only.

Filter the WARN, or revert the commit ?
Comment 5 David Nyström 2026-09-16 05:47:44 UTC
Demoting from WARN to something else was rejected here. We could try again, since syzbot seems to have similiar issues.

https://lore.kernel.org/all/20251003032303.16518-1-chintanlike@gmail.com/T/#m5490443bd3053462cb640fef405a93356f2fb30d
Comment 7 David Nyström 2026-09-17 08:09:18 UTC
Unassigning, since Bruce found a proper fix.
https://lore.kernel.org/all/20260917051340.1472139-5-bruce.ashfield@gmail.com/