[CI] igt@kms_cursor_legacy@*flip-vs-cursor-* Failed assertion: get_vblank(display->drm_fd, pipe, 0) == *
Submitted by Marta Löfstedt
Assigned to Default DRI bug account
Link to original bug (#102670)
Description
On CI_DRM_3074 HSW-shard:
(kms_cursor_legacy:1579) CRITICAL: Test assertion failure function flip_vs_cursor, file kms_cursor_legacy.c:833:
(kms_cursor_legacy:1579) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start + 1
(kms_cursor_legacy:1579) CRITICAL: error: 1068 != 1067
Subtest flip-vs-cursor-toggle failed.
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3074/shard-hsw1/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
- Show closed items
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Bugzilla Migration User added priority::medium severity::major + 1 deleted label
added priority::medium severity::major + 1 deleted label
Jani Saarinen said:This has failed only once so far. And based on priority drop it major.
Marta Löfstedt said:Now also on the igt@kms_cursor_legacy@flip-vs-cursor-legacy
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3104/shard-hsw5/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html Marta Löfstedt said:https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3345/shard-hsw5/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
(kms_cursor_legacy:4316) CRITICAL: Test assertion failure function flip_vs_cursor, file kms_cursor_legacy.c:747:
(kms_cursor_legacy:4316) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start + 1
(kms_cursor_legacy:4316) CRITICAL: error: 22978 != 22977
Subtest flip-vs-cursor-varying-size failed. Marta Löfstedt said:https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3368/shard-apl7/igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size.html
(kms_cursor_legacy:7572) CRITICAL: Test assertion failure function basic_flip_cursor, file kms_cursor_legacy.c:525:
(kms_cursor_legacy:7572) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start
(kms_cursor_legacy:7572) CRITICAL: error: 35891 != 35889
Subtest basic-flip-after-cursor-varying-size failed. Marta Löfstedt said:https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3495/shard-snb5/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
(kms_cursor_legacy:1351) CRITICAL: Test assertion failure function flip_vs_cursor, file kms_cursor_legacy.c:747:
(kms_cursor_legacy:1351) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start + 1
(kms_cursor_legacy:1351) CRITICAL: error: 1148 != 1147
Subtest flip-vs-cursor-toggle failed. Marta Löfstedt said:https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4141/shard-apl1/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions-varying-size.html
(kms_cursor_legacy:1786) CRITICAL: Test assertion failure function basic_flip_cursor, file kms_cursor_legacy.c:525:
(kms_cursor_legacy:1786) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start
(kms_cursor_legacy:1786) CRITICAL: error: 8766 != 8765
Subtest short-flip-after-cursor-atomic-transitions-varying-size failed. Marta Löfstedt said:https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3683/shard-apl7/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html
(kms_cursor_legacy:2734) CRITICAL: Test assertion failure function flip_vs_cursor_crc, file kms_cursor_legacy.c:1259:
(kms_cursor_legacy:2734) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start + 1
(kms_cursor_legacy:2734) CRITICAL: error: 7789 != 7787
Subtest flip-vs-cursor-crc-atomic failed. Marta Löfstedt said:This issue has only been reproduced on HSW-shards within reasonable time. I cleared out some impact from cibuglog.
Marta Löfstedt said:https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_7/fi-skl-6770hq/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
(kms_cursor_legacy:1947) CRITICAL: Test assertion failure function flip_vs_cursor, file ../tests/kms_cursor_legacy.c:746:
(kms_cursor_legacy:1947) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start + 1
(kms_cursor_legacy:1947) CRITICAL: error: 9723 != 9722
Subtest flip-vs-cursor-toggle failed. Marta Löfstedt said:https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_7/fi-cfl-s3/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
(kms_cursor_legacy:2984) CRITICAL: Test assertion failure function flip_vs_cursor, file ../tests/kms_cursor_legacy.c:738:
(kms_cursor_legacy:2984) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start
(kms_cursor_legacy:2984) CRITICAL: error: 6101 != 6100
Subtest flip-vs-cursor-legacy failed. Marta Löfstedt said:https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3986/shard-hsw4/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html
(kms_cursor_legacy:6438) CRITICAL: Test assertion failure function flip_vs_cursor_crc, file ../tests/kms_cursor_legacy.c:1259:
(kms_cursor_legacy:6438) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) == vblank_start + 1
(kms_cursor_legacy:6438) CRITICAL: error: 28717 != 28716
Subtest flip-vs-cursor-crc-atomic failed. Francesco Balestrieri said:Marteen, are you looking at this?
Jani Saarinen said:Lowering priority, low occurrence
Lakshmi said:https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_146/fi-gdg-551/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
Starting subtest: flip-vs-cursor-toggle
(kms_cursor_legacy:1103) CRITICAL: Test assertion failure function flip_vs_cursor, file ../tests/kms_cursor_legacy.c:741:
(kms_cursor_legacy:1103) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) <= vblank_start + 1
(kms_cursor_legacy:1103) CRITICAL: error: 4631 > 4630
Subtest flip-vs-cursor-toggle failed.
**** DEBUG ****
(kms_cursor_legacy:1103) DEBUG: Test requirement passed: found
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: VGA-1: set_pipe(A)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: VGA-1: Selecting pipe A
(kms_cursor_legacy:1103) igt_fb-DEBUG: igt_create_fb_with_bo_size(width=1024, height=768, format=0x34325258, tiling=0x0, size=0)
(kms_cursor_legacy:1103) igt_fb-DEBUG: igt_create_fb_with_bo_size(handle=1, pitch=4096)
(kms_cursor_legacy:1103) ioctl_wrappers-DEBUG: Test requirement passed: igt_has_fb_modifiers(fd)
(kms_cursor_legacy:1103) igt_fb-DEBUG: Test requirement passed: cairo_surface_status(fb->cairo_surface) == CAIRO_STATUS_SUCCESS
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: A.0: plane_set_fb(42)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: A.0: plane_set_size (1024x768)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: A.0: fb_set_position(0,0)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: A.0: fb_set_size(1024x768)
(kms_cursor_legacy:1103) DEBUG: Test requirement passed: set_fb_on_crtc(display, pipe, &fb_info)
(kms_cursor_legacy:1103) igt_fb-DEBUG: igt_create_fb_with_bo_size(width=64, height=64, format=0x34325241, tiling=0x0, size=0)
(kms_cursor_legacy:1103) igt_fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=256)
(kms_cursor_legacy:1103) ioctl_wrappers-DEBUG: Test requirement passed: igt_has_fb_modifiers(fd)
(kms_cursor_legacy:1103) igt_fb-DEBUG: Test requirement passed: cairo_surface_status(fb->cairo_surface) == CAIRO_STATUS_SUCCESS
(kms_cursor_legacy:1103) DEBUG: Test requirement passed: cursor
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: A.1: plane_set_fb(51)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: A.1: plane_set_size (64x64)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: A.1: fb_set_position(0,0)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: A.1: fb_set_size(64x64)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: commit {
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: VGA-1: SetCrtc pipe A, fb 42, src (0, 0), mode 1024x768
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: SetCursor pipe A, fb 2 64x64
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: MoveCursor pipe A, (0, 0)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: SetCrtc pipe B, disabling
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: SetCursor pipe B, disabling
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: MoveCursor pipe B, (0, 0)
(kms_cursor_legacy:1103) igt_kms-DEBUG: display: }
(kms_cursor_legacy:1103) igt_debugfs-DEBUG: Opening debugfs directory '/sys/kernel/debug/dri/0'
(kms_cursor_legacy:1103) DEBUG: Test requirement passed: target > 1
(kms_cursor_legacy:1103) DEBUG: Using a target of 32 cursor updates per quarter-vblank
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) igt_kms-DEBUG: Test requirement passed: plane_idx >= 0 && plane_idx< pipe->
n_planes
(kms_cursor_legacy:1103) CRITICAL: Test assertion failure function flip_vs_cursor, file ../tests/kms_cursor_legacy.c:741:
(kms_cursor_legacy:1103) CRITICAL: Failed assertion: get_vblank(display->drm_fd, pipe, 0) <= vblank_start + 1
(kms_cursor_legacy:1103) CRITICAL: error: 4631 > 4630
(kms_cursor_legacy:1103) igt_core-INFO: Stack trace:
(kms_cursor_legacy:1103) igt_core-INFO: #0 ../lib/igt_core.c:1467 __igt_fail_assert()
(kms_cursor_legacy:1103) igt_core-INFO: #1 ../tests/kms_cursor_legacy.c:743 flip_vs_cursor()
(kms_cursor_legacy:1103) igt_core-INFO: #2 ../tests/kms_cursor_legacy.c:1494 __real_main1358()
(kms_cursor_legacy:1103) igt_core-INFO: #3 (closed) ../tests/kms_cursor_legacy.c:1358 main()
(kms_cursor_legacy:1103) igt_core-INFO: #4 (closed) ../csu/libc-start.c:344 __libc_start_main()
(kms_cursor_legacy:1103) igt_core-INFO: #5 (closed) [_start+0x2a]
**** END ****
Subtest flip-vs-cursor-toggle: FAIL (13.472s) Arek Hiler said:The test seems to be very prone to race conditions and this may explain the sporadic failures we see (few instances every week, affects all the machines):
- we try to figure out experimentally how many cursor updates we can squeeze between vblanks, by starting with a high number and lowering it until we fit. Our target is a quarter of that
- we pin our process to a CPU and fork a busy loop with sched_yield();
- 150 loops of trying to squeeze target cursor updates within one vblank
This doesn't take power and thermal budged into account and makes a lot of assumptions about process scheduling on a non-RTOS.
User impact is low. We loose some coverage. Test needs to be reworked.
Immediate steps:
1. log the delta between vblanks, so we can regain some coverage by having better filters
2. log our target
3. don't exit early, show how many iterations of the 150 had failed
This is related and it makes sense to work on both together: https://bugs.freedesktop.org/show_bug.cgi?id=103355- we try to figure out experimentally how many cursor updates we can squeeze between vblanks, by starting with a high number and lowering it until we fit. Our target is a quarter of that
- Bugzilla Migration User mentioned in issue #15 (closed)
mentioned in issue #15 (closed)
- Bugzilla Migration User mentioned in issue #17 (closed)
mentioned in issue #17 (closed)