Bug 105454 - [CI] igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic - fail - Test assertion failure function two_screens_flip_vs_cursor - Failed assertion: vblank_matches
Summary: [CI] igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic - fai...
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Nischala Yelchuri
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-12 11:51 UTC by Marta Löfstedt
Modified: 2019-04-10 13:40 UTC (History)
3 users (show)

See Also:
i915 platform: CFL, CNL, GLK, ICL, KBL, SKL
i915 features: display/Other


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marta Löfstedt 2018-03-12 11:51:57 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3903/fi-cnl-y3/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html

(kms_cursor_legacy:1229) CRITICAL: Test assertion failure function two_screens_flip_vs_cursor, file kms_cursor_legacy.c:1013:
(kms_cursor_legacy:1229) CRITICAL: Failed assertion: vblank_matches
(kms_cursor_legacy:1229) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_cursor_legacy:1229) CRITICAL: During modeset at least 1 page flip needs to match!
Subtest 2x-long-nonblocking-modeset-vs-cursor-atomic failed.
Comment 1 Marta Löfstedt 2018-03-12 12:35:31 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3903/fi-cfl-s2/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

(kms_cursor_legacy:1664) CRITICAL: Test assertion failure function two_screens_flip_vs_cursor, file kms_cursor_legacy.c:1013:
(kms_cursor_legacy:1664) CRITICAL: Failed assertion: vblank_matches
(kms_cursor_legacy:1664) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_cursor_legacy:1664) CRITICAL: During modeset at least 1 page flip needs to match!
Subtest 2x-nonblocking-modeset-vs-cursor-atomic failed.
Comment 2 Marta Löfstedt 2018-03-16 07:47:23 UTC
Now we have more data from shardlist on BAT machines:
(kms_cursor_legacy:2899) CRITICAL: Test assertion failure function two_screens_flip_vs_cursor, file ../tests/kms_cursor_legacy.c:1013:
(kms_cursor_legacy:2899) CRITICAL: Failed assertion: vblank_matches
(kms_cursor_legacy:2899) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_cursor_legacy:2899) CRITICAL: During modeset at least 1 page flip needs to match!

https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-skl-6770hq/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-skl-6770hq/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_1/fi-kbl-7500u/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
Comment 3 Marta Löfstedt 2018-03-19 08:12:41 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_2/fi-skl-6700k2/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

(kms_cursor_legacy:3829) CRITICAL: Test assertion failure function two_screens_flip_vs_cursor, file ../tests/kms_cursor_legacy.c:1013:
(kms_cursor_legacy:3829) CRITICAL: Failed assertion: vblank_matches
(kms_cursor_legacy:3829) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_cursor_legacy:3829) CRITICAL: During modeset at least 1 page flip needs to match!
Subtest 2x-nonblocking-modeset-vs-cursor-atomic failed.
Comment 4 Marta Löfstedt 2018-03-19 15:03:32 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_3/fi-skl-guc/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html	

(kms_cursor_legacy:1983) CRITICAL: Test assertion failure function two_screens_flip_vs_cursor, file ../tests/kms_cursor_legacy.c:1013:
(kms_cursor_legacy:1983) CRITICAL: Failed assertion: vblank_matches
(kms_cursor_legacy:1983) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_cursor_legacy:1983) CRITICAL: During modeset at least 1 page flip needs to match!
Subtest 2x-nonblocking-modeset-vs-cursor-atomic failed.
Comment 5 Marta Löfstedt 2018-03-27 09:57:03 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_7/fi-cfl-s3/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

(kms_cursor_legacy:2041) CRITICAL: Test assertion failure function two_screens_flip_vs_cursor, file ../tests/kms_cursor_legacy.c:1013:
(kms_cursor_legacy:2041) CRITICAL: Failed assertion: vblank_matches
(kms_cursor_legacy:2041) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_cursor_legacy:2041) CRITICAL: During modeset at least 1 page flip needs to match!
Subtest 2x-nonblocking-modeset-vs-cursor-atomic failed.
Comment 7 Martin Peres 2018-10-15 10:05:45 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_127/fi-icl-u2/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

Starting subtest: 2x-nonblocking-modeset-vs-cursor-atomic
(kms_cursor_legacy:2133) CRITICAL: Test assertion failure function two_screens_flip_vs_cursor, file ../tests/kms_cursor_legacy.c:1014:
(kms_cursor_legacy:2133) CRITICAL: Failed assertion: vblank_matches
(kms_cursor_legacy:2133) CRITICAL: Last errno: 25, Inappropriate ioctl for device
(kms_cursor_legacy:2133) CRITICAL: During modeset at least 1 page flip needs to match!
Subtest 2x-nonblocking-modeset-vs-cursor-atomic failed.
Comment 8 Maarten Lankhorst 2018-12-11 12:57:41 UTC
How frequently does this trip?
Comment 9 Nischala Yelchuri 2019-03-02 00:12:15 UTC
This change fixes the failure:

--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -976,7 +976,7 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
                if (!modeset)
                        igt_assert_eq(vbl.sequence, vblank_start + 1);

-               if (vblank_start && vbl.sequence == vblank_start + 1)
+               if (vblank_start && vbl.sequence >= vblank_start + 1)
                        vblank_matches = true;

The test says: "During modeset at least 1 page flip needs to match!" I am not sure if this is the right fix.
Comment 10 Jani Saarinen 2019-03-07 07:17:58 UTC
Is patch sent for review?
Comment 11 Nischala Yelchuri 2019-03-07 07:34:29 UTC
(In reply to Jani Saarinen from comment #10)
> Is patch sent for review?

Yes, I have posted it for review.
Comment 12 Martin Peres 2019-04-10 13:40:02 UTC
Thanks for driving this bug down! Please include the commit that fixes the bug before closing.

In this case, it appears to be:

commit 09796413394c5490c4adfc5cded5d4344af6af17
Author: Nischala Yelchuri <nischala.yelchuri@intel.com>
Date:   Wed Mar 13 13:16:35 2019 -0700

    tests/kms_cursor_legacy: Fix assertion failure due to vblank mismatch
    
    For the !modeset case, after a pageflip is performed on both crtc's,
    vblank counter is advanced by 1 when compared to its original value.
    
    For the modeset case, when pageflips and modesets are interleaved,
    vblank counter does not always advance by 1 as nonblocking modeset
    could fail, in which case we do not need vblank_matches.
    
    v2: Remove the assert statement instead of changing the condition
    
    Cc: Maarten Lankhorst <maarten.lankhorst@intel.com>
    Signed-off-by: Nischala Yelchuri <nischala.yelchuri@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105454
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

No failures happened after this patch landed. Thanks!
Comment 13 CI Bug Log 2019-04-10 13:40:11 UTC
The CI Bug Log issue associated to this bug has been archived.

New failures matching the above filters will not be associated to this bug anymore.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.