Bug 85582

Summary: [All Bisected]igt/testdisplay causes testdisplay.c:789: Failed assertion: ret
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Daniel Vetter <daniel>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: high CC: intel-gfx-bugs, przanoni
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Guo Jinxian 2014-10-29 04:17:38 UTC
==System Environment==
--------------------------
Regression: Yes.
It's a igt regression issue.
Good commit on igt: a124b1a430bf47f31fcff0614dbc00dbe2794dcf
Bad commit on igt: 15972aa8666781ad557f17ed4b5d689cdb657d78

Non-working platforms: All

==kernel==
--------------------------
origin/drm-intel-nightly: 32cefad9992e67b4ee7487adf465bd7e189c9c1c(fails)
    drm-intel-nightly: 2014y-10m-27d-11h-39m-04s UTC integration manifest
origin/drm-intel-next-queued: 9d34570b5dae6c0c389d6a99dbc52b62beef25b2(fails)
    drm/i915: Remove unnecessary test on the gen in intel_do_mmio_flip()
origin/drm-intel-fixes: 6be1e3d3ea29354d7c834a3936e796e185d5c73b(fails)
    drm/i915: Fix GMBUSFREQ on vlv/chv

==Bug detailed description==
igt/testdisplay causes testdisplay.c:789: Failed assertion: ret

Output:
[root@x-hsw27 intel-gpu-tools]# ./testdisplay -i
Connectors:
id      encoder status          type    size (mm)       modes
18      19      connected       VGA     470x300         11
  modes:
  name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot flags type clock
[0]  1680x1050 60 1680 1784 1960 2240 1050 1053 1059 1089 0x6 0x48 146250
[1]  1280x1024 75 1280 1296 1440 1688 1024 1025 1028 1066 0x5 0x40 135000
[2]  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x40 108000
[3]  1152x864 75 1152 1216 1344 1600 864 865 868 900 0x5 0x40 108000
[4]  1024x768 75 1024 1040 1136 1312 768 769 772 800 0x5 0x40 78800
[5]  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
[6]  800x600 75 800 816 896 1056 600 601 604 625 0x5 0x40 49500
[7]  800x600 60 800 840 968 1056 600 601 605 628 0x5 0x40 40000
[8]  640x480 75 640 656 720 840 480 481 484 500 0xa 0x40 31500
[9]  640x480 60 640 656 752 800 480 490 492 525 0xa 0x40 25200
[10]  720x400 70 720 738 846 900 400 412 414 449 0x6 0x40 28320
21      0       disconnected    HDMI-A  0x0             0
26      0       disconnected    HDMI-A  0x0             0
28      0       disconnected    DP      0x0             0
32      0       disconnected    HDMI-A  0x0             0

CRTCs:
id      fb      pos     size
8       47      (0,0)   (1680x1050)
  1680x1050 60 1680 1784 1960 2240 1050 1053 1059 1089 0x6 0x48 146250
12      0       (0,0)   (0x0)
   0 0 0 0 0 0 0 0 0 0x0 0x0 0
16      0       (0,0)   (0x0)
   0 0 0 0 0 0 0 0 0 0x0 0x0 0

Test assertion failure function main, file testdisplay.c:789:
Failed assertion: ret

==Reproduce steps==
---------------------------- 
1. ./testdisplay -i

==Bisect results==
----------------------------

4306538d1d3f60877866c39c9ca953cc5e541dae is the first bad commit
commit 4306538d1d3f60877866c39c9ca953cc5e541dae
Author:     Daniel Vetter <daniel.vetter@ffwll.ch>
AuthorDate: Thu Oct 2 11:18:20 2014 +0200
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Thu Oct 2 11:34:55 2014 +0200


    tests: Sprinkle missing igt_exit() where needed.

    Yay for breaking piles of tests.

    This regression has been introduced with

    commit 5782eca1e19e85a04ad402fa4094aa1b5f9c53ce
    Author: Tim Gore <tim.gore@intel.com>
    Date:   Wed Oct 1 13:25:20 2014 +0100

        lib/igt_core.c: disable lowmemorykiller during tests

    Cc: Tim Gore <tim.gore@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

:040000 040000 f4553fcabc3e4bdd1f81543b0eba3e627dabd556 90119303d04767b2a4c9b10b8c0348df27e0c02d M      tests
Comment 1 Paulo Zanoni 2014-10-29 12:59:40 UTC
Bug fixed by the following IGT commits:
- tests/testdisplay: Fix test status check fumble
- tests: Reenable testdisplay

Thanks for the report and the fixes. If you think the bug is still there, please reopen.

I'm also starting an offline discussion about how you could have noticed this bug since testdisplay was not being built.
Comment 2 Yi Sun 2014-10-30 02:04:31 UTC
(In reply to Paulo Zanoni from comment #1)
> Bug fixed by the following IGT commits:
> - tests/testdisplay: Fix test status check fumble
> - tests: Reenable testdisplay
> 
> Thanks for the report and the fixes. If you think the bug is still there,
> please reopen.
> 
> I'm also starting an offline discussion about how you could have noticed
> this bug since testdisplay was not being built.

As to disabling testdisplay by default, I'm wondering the reason. Though I noticed Chris said it's related to 64bit relocation address, it still doesn't make sense for me. What we should is fix testdisplay to fit for 64bit relocation address, but not disable its building

Testdisplay is a mandatory tool to verify each display interfaces mode setting. I think we should build testdisplay by default, but kick it out of automated test cases scope.
Comment 3 Guo Jinxian 2014-11-06 06:40:05 UTC
Verified on latest igt(a973aabed04bb00686b9fd4ce4c1d83ad9b8b0e7)

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./testdisplay -i
Connectors:
id      encoder status          type    size (mm)       modes
19      18      connected       eDP     280x160         2
  modes:
  name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot flags type clock
[0]  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
[1]  1920x1080 40 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x40 92520
28      0       disconnected    DP      0x0             0
32      0       disconnected    HDMI-A  0x0             0
35      0       disconnected    HDMI-A  0x0             0

CRTCs:
id      fb      pos     size
8       38      (0,0)   (1920x1080)
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
12      0       (0,0)   (0x0)
   0 0 0 0 0 0 0 0 0 0x0 0x0 0
16      0       (0,0)   (0x0)
   0 0 0 0 0 0 0 0 0 0x0 0x0 0
Comment 4 Elizabeth 2017-10-06 14:34:19 UTC
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.