Summary: | [ALL regression]igt/kms_cursor_crc cursor position range checking broken | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Guo Jinxian <jinxianx.guo> | ||||||
Component: | DRM/Intel | Assignee: | Matt Roper <matthew.d.roper> | ||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||
Severity: | normal | ||||||||
Priority: | high | CC: | hengx.ding, huax.lu, intel-gfx-bugs | ||||||
Version: | unspecified | ||||||||
Hardware: | Other | ||||||||
OS: | All | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Test on BYT with latest -nightly kernel, it sporadically fails. output: root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_cursor_crc --run-subtest cursor-256x256-onscreen IGT-Version: 1.8-ge622850 (x86_64) (Linux: 3.18.0-rc3_drm-intel-nightly_f56717_20141105+ x86_64) Beginning cursor-256x256-onscreen on pipe A, connector eDP-1 ............................ cursor-256x256-onscreen on pipe A, connector eDP-1: PASSED Beginning cursor-256x256-onscreen on pipe B, connector eDP-1 ............................ cursor-256x256-onscreen on pipe B, connector eDP-1: PASSED Subtest cursor-256x256-onscreen: SUCCESS (115.736s) root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_cursor_crc --run-subtest cursor-256x256-onscreen IGT-Version: 1.8-ge622850 (x86_64) (Linux: 3.18.0-rc3_drm-intel-nightly_f56717_20141105+ x86_64) Beginning cursor-256x256-onscreen on pipe A, connector eDP-1 ..Test assertion failure function do_single_test, file kms_cursor_crc.c:131: Failed assertion: igt_crc_equal(&crc, &ref_crc) Subtest cursor-256x256-onscreen: FAIL (5.051s) root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_cursor_crc --run-subtest cursor-256x256-onscreen IGT-Version: 1.8-ge622850 (x86_64) (Linux: 3.18.0-rc3_drm-intel-nightly_f56717_20141105+ x86_64) Beginning cursor-256x256-onscreen on pipe A, connector eDP-1 ..Test assertion failure function do_single_test, file kms_cursor_crc.c:131: Failed assertion: igt_crc_equal(&crc, &ref_crc) Subtest cursor-256x256-onscreen: FAIL (5.058s) Please retest with latest igt, specifically commit 57259d714d3fe1170cf931af72648219856a9918 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Mon Nov 24 16:08:32 2014 +0100 lib/igt_debugfs: Don't setup crc in _new Created attachment 111147 [details]
dmesg
Test on latest -nightly kernel and igt.
It still sporadically fails, Fail rate 1/4.
output:
IGT-Version: 1.9-gc537cdb (x86_64) (Linux: 3.18.0_drm-intel-nightly_4fa231_20141222+ x86_64)
Beginning cursor-128x128-random on pipe A, connector eDP-1
................Test assertion failure function do_single_test, file kms_cursor_crc.c:139:
Failed assertion: igt_crc_equal(&crc, &ref_crc)
Subtest cursor-128x128-random: FAIL (3.343s)
Looks like it still happens: [root@jbarnes-byt tests]$ ./kms_cursor_crc --run-subtest cursor-128x128-offscreen IGT-Version: 1.10-g590e47c (x86_64) (Linux: 4.0.0-rc6+ x86_64) Beginning cursor-128x128-offscreen on pipe A, connector HDMI-A-1 .........................................................Test assertion failure function do_fail_test, file kms_cursor_crc.c:188: Failed assertion: ret == expect error: 0 != -34 Stack trace: #0 [__igt_fail_assert+0xfc] #1 [test_crc_offscreen+0x355] #2 [run_test.constprop.3+0x212] #3 [run_test_generic.constprop.1+0x5f2] #4 [__real_main556+0x133] #5 [main+0x21] #6 [__libc_start_main+0xf5] #7 [_start+0x29] #8 [<unknown>+0x29] Subtest cursor-128x128-offscreen failed. **** DEBUG **** HDMI-A-1: SetCursor pipe A, fb 1 128x128 display: HDMI-A-1: MoveCursor pipe A, (2147483519, 2147483519) display: } display: A.3: plane_set_fb(0) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, disabling display: } display: commit { display: HDMI-A-1: Selecting pipe A display: } display: A.3: plane_set_fb(64) display: A.3: plane_set_size(128,128) display: A.3: plane_set_position(-2147483648,2147483519) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, fb 1 128x128 display: HDMI-A-1: MoveCursor pipe A, (-2147483648, 2147483519) display: } display: A.3: plane_set_fb(0) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, disabling display: } display: commit { display: HDMI-A-1: Selecting pipe A display: } display: A.3: plane_set_fb(64) display: A.3: plane_set_size(128,128) display: A.3: plane_set_position(-32768,-32768) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, fb 1 128x128 display: HDMI-A-1: MoveCursor pipe A, (-32768, -32768) display: } display: A.3: plane_set_fb(0) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, disabling display: } display: commit { display: HDMI-A-1: Selecting pipe A display: } display: A.3: plane_set_fb(64) display: A.3: plane_set_size(128,128) display: A.3: plane_set_position(32767,-32768) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, fb 1 128x128 display: HDMI-A-1: MoveCursor pipe A, (32767, -32768) display: } display: A.3: plane_set_fb(0) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, disabling display: } display: commit { display: HDMI-A-1: Selecting pipe A display: } display: A.3: plane_set_fb(64) display: A.3: plane_set_size(128,128) display: A.3: plane_set_position(32767,32767) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, fb 1 128x128 display: HDMI-A-1: MoveCursor pipe A, (32767, 32767) display: } display: A.3: plane_set_fb(0) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, disabling display: } display: commit { display: HDMI-A-1: Selecting pipe A display: } display: A.3: plane_set_fb(64) display: A.3: plane_set_size(128,128) display: A.3: plane_set_position(-32768,32767) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, fb 1 128x128 display: HDMI-A-1: MoveCursor pipe A, (-32768, 32767) display: } display: A.3: plane_set_fb(0) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, disabling display: } display: commit { display: HDMI-A-1: Selecting pipe A display: } display: A.3: plane_set_fb(64) display: A.3: plane_set_size(128,128) display: A.3: plane_set_position(2147483520,2147483520) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, fb 1 128x128 display: HDMI-A-1: MoveCursor pipe A, (2147483520, 2147483520) display: } display: A.3: plane_set_position(0,0) display: A.3: plane_set_fb(0) display: commit { display: HDMI-A-1: Selecting pipe A display: HDMI-A-1: SetCursor pipe A, disabling display: HDMI-A-1: MoveCursor pipe A, (0, 0) display: } Test assertion failure function do_fail_test, file kms_cursor_crc.c:188: Failed assertion: ret == expect error: 0 != -34 **** END **** Subtest cursor-128x128-offscreen: FAIL (38.532s) It appears the universal plane code doesn't check for bounds in the same way as the old cursor code. Matt, is this still valid? *** Bug 89528 has been marked as a duplicate of this bug. *** *** Bug 89630 has been marked as a duplicate of this bug. *** (In reply to Jesse Barnes from comment #4) ... > It appears the universal plane code doesn't check for bounds in the same way > as the old cursor code. Matt, is this still valid? I think this patch should fix it: http://patchwork.freedesktop.org/patch/46469/ Please re-open if the problem still exists. (In reply to Matt Roper from comment #7) > (In reply to Jesse Barnes from comment #4) > ... > > It appears the universal plane code doesn't check for bounds in the same way > > as the old cursor code. Matt, is this still valid? > > I think this patch should fix it: > http://patchwork.freedesktop.org/patch/46469/ > > Please re-open if the problem still exists. Matt, has this patch been committed? We should change the status to RESOLVED-FIXED after the patch landed. (In reply to Gordon Jin from comment #8) > (In reply to Matt Roper from comment #7) > > (In reply to Jesse Barnes from comment #4) > > ... > > > It appears the universal plane code doesn't check for bounds in the same way > > > as the old cursor code. Matt, is this still valid? > > > > I think this patch should fix it: > > http://patchwork.freedesktop.org/patch/46469/ > > > > Please re-open if the problem still exists. > > Matt, has this patch been committed? We should change the status to > RESOLVED-FIXED after the patch landed. Sorry, no; I jumped the gun on this one. I'll set it back to assigned for now until it has been merged. (In reply to Matt Roper from comment #9) > (In reply to Gordon Jin from comment #8) > > (In reply to Matt Roper from comment #7) > > > (In reply to Jesse Barnes from comment #4) > > > ... > > > > It appears the universal plane code doesn't check for bounds in the same way > > > > as the old cursor code. Matt, is this still valid? > > > > > > I think this patch should fix it: > > > http://patchwork.freedesktop.org/patch/46469/ > > > > > > Please re-open if the problem still exists. > > > > Matt, has this patch been committed? We should change the status to > > RESOLVED-FIXED after the patch landed. > > Sorry, no; I jumped the gun on this one. I'll set it back to assigned for > now until it has been merged. Okay, fix merged for real now: http://patchwork.freedesktop.org/patch/47031/ 1.igt/kms_cursor_crc/cursor-128x128-offscreen 2.igt/kms_cursor_crc/cursor-128x128-onscreen 3.igt/kms_cursor_crc/cursor-128x128-random 4.igt/kms_cursor_crc/cursor-128x128-sliding 5.igt/kms_cursor_crc/cursor-256x256-offscreen 6.igt/kms_cursor_crc/cursor-64x64-offscreen 7.igt/kms_cursor_crc/cursor-64x64-onscreen 8.igt/kms_cursor_crc/cursor-64x64-random 9.igt/kms_cursor_crc/cursor-64x64-sliding Result: Above 9 cases pass on both BSW and BYT. ---------------------------- 1. igt/kms_cursor_crc/cursor-256x256-onscreen 2. igt/kms_cursor_crc/cursor-256x256-random 3. igt/kms_cursor_crc/cursor-256x256-sliding2. Result: These three tests fail on the BSW, but pass on BYT. IGT-Version: 1.10-g992f9f6 (x86_64) (Linux: 4.0.0_drm-intel-nightly_5ea91d_20150415+ x86_64) Beginning cursor-256x256-onscreen on pipe A, connector eDP-1 .Test assertion failure function igt_assert_crc_equal, file igt_debugfs.c:207: Failed assertion: a->crc[i] == b->crc[i] error: 0x3220ae != 0x506a68 Stack trace: #0 [__igt_fail_assert+0xfc] #1 [igt_assert_crc_equal+0x82] #2 [do_single_test+0x138] #3 [do_test+0x1e] #4 [test_crc_onscreen+0x4d] #5 [run_test.constprop.3+0x212] #6 [run_test_generic.constprop.1+0x572] #7 [__real_main556+0x120] #8 [main+0x21] #9 [__libc_start_main+0xf5] #10 [_start+0x29] #11 [<unknown>+0x29] Subtest cursor-256x256-onscreen failed. **** DEBUG **** Test requirement passed: cursor_w <= data->cursor_max_w && cursor_h <= data->cursor_max_h display: eDP-1: set_pipe(A) display: A.3: plane_set_fb(0) display: commit { display: eDP-1: Selecting pipe A display: eDP-1: SetCursor pipe A, disabling display: } igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0x0, size=0 igt_create_fb_with_bo_size(handle=2, pitch=7680) display: A.0: plane_set_fb(53) display: commit { display: eDP-1: Selecting pipe A display: eDP-1: SetCrtc pipe A, fb 53, panning (0, 0), mode 1920x1080 display: } display: A.3: plane_set_fb(0) Beginning cursor-256x256-onscreen on pipe A, connector eDP-1 display: A.3: plane_set_fb(51) display: A.3: plane_set_size(256,256) display: A.3: plane_set_position(0,0) display: commit { display: eDP-1: Selecting pipe A display: eDP-1: SetCursor pipe A, fb 1 256x256 display: eDP-1: MoveCursor pipe A, (0, 0) display: } display: A.3: plane_set_fb(0) display: commit { display: eDP-1: Selecting pipe A display: eDP-1: SetCursor pipe A, disabling display: } display: commit { display: eDP-1: Selecting pipe A display: } Test assertion failure function igt_assert_crc_equal, file igt_debugfs.c:207: Failed assertion: a->crc[i] == b->crc[i] error: 0x3220ae != 0x506a68 **** END **** Subtest cursor-256x256-onscreen: FAIL (2.700s) > 1. igt/kms_cursor_crc/cursor-256x256-onscreen
> 2. igt/kms_cursor_crc/cursor-256x256-random
> 3. igt/kms_cursor_crc/cursor-256x256-sliding2.
>
> Result:
> These three tests fail on the BSW, but pass on BYT.
This looks like a new bug, unrelated to the previous issues. We should probably open a new bugzilla entry for this, especially since the new problem seems to be platform-specific.
For this looks like a new bug,I open a new bugzilla entry for it . And the bugzilla entry is : Bug 90507 - [BSW] igt/kms_cursor_crc some subcases fail Closing old verified. |
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.
Created attachment 106768 [details] dmesg ==System Environment== -------------------------- Regression: No. They are new cases. Non-working platforms: BYT BSW ==kernel== -------------------------- origin/drm-intel-nightly: 1c38dbc94bc61e685c72994cc9e634d4eb8c4da1(fails) drm-intel-nightly: 2014y-09m-23d-14h-26m-24s UTC integration manifest origin/drm-intel-next-queued: 9adccc6063d1cf6ba38a5a26b87001554105be18(fails) drm/i915: add SW tracking to FBC enabling origin/drm-intel-fixes: c84db77010877da6c5da119868ed54c43d59e726(fails) drm/i915/hdmi: fix hdmi audio state readout ==Bug detailed description== ----------------------------- igt/kms_cursor_crc some subcases fail Case lise: igt/kms_cursor_crc/cursor-128x128-offscreen igt/kms_cursor_crc/cursor-128x128-onscreen igt/kms_cursor_crc/cursor-128x128-random igt/kms_cursor_crc/cursor-128x128-sliding igt/kms_cursor_crc/cursor-256x256-offscreen igt/kms_cursor_crc/cursor-256x256-onscreen igt/kms_cursor_crc/cursor-256x256-random igt/kms_cursor_crc/cursor-256x256-sliding igt/kms_cursor_crc/cursor-64x64-offscreen igt/kms_cursor_crc/cursor-64x64-onscreen igt/kms_cursor_crc/cursor-64x64-random igt/kms_cursor_crc/cursor-64x64-sliding Output: root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_cursor_crc --run-subtest cursor-128x128-offscreen IGT-Version: 1.8-g4b81e9c (x86_64) (Linux: 3.17.0-rc6_drm-intel-nightly_1c38db_20140924+ x86_64) Beginning cursor-128x128-offscreen on pipe A, connector eDP-1 .Test assertion failure function do_single_test, file kms_cursor_crc.c:132: Failed assertion: igt_crc_equal(&crc, &ref_crc) Subtest cursor-128x128-offscreen: FAIL (3.260s) ==Reproduce steps== ---------------------------- 1. ./kms_cursor_crc --run-subtest cursor-128x128-offscree