| Summary: | [CI][IGT] igt@kms_atomic_transition@plane-all-transition-nonblocking Failed assertion: ret == 0 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | DRI | Reporter: | Marta Löfstedt <marta.lofstedt> | ||||||
| Component: | DRM/Intel | Assignee: | Maarten Lankhorst <bugs> | ||||||
| Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||
| Severity: | normal | ||||||||
| Priority: | high | CC: | intel-gfx-bugs | ||||||
| Version: | DRI git | ||||||||
| Hardware: | Other | ||||||||
| OS: | All | ||||||||
| Whiteboard: | ReadyForDev | ||||||||
| i915 platform: | HSW, SNB | i915 features: | display/Other | ||||||
| Attachments: |
|
||||||||
|
Description
Marta Löfstedt
2017-09-12 07:18:07 UTC
Now also on SNB-shards: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3079/shard-snb2/igt@kms_atomic_transition@plane-all-transition-nonblocking.html This test also fail on GLK QA
igt@kms_atomic_transition@plane-all-transition-nonblocking
====================================================
Output
====================================================
. . .
**** DEBUG ****
populating plane data: B.2, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.3, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.4, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.0, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 1920 x 1080 dst = (0, 0) 1920 x 1080
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.1, fb 144
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 1920 x 1080 dst = (0, 0) 1920 x 1080
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.2, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 0 x 0 dst = (0, 0) 0 x 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.3, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 0 x 0 dst = (0, 0) 0 x 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.4, fb 143
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 256 x 256 dst = (0, 0) 256 x 256
(kms_atomic_transition:1844) igt-kms-DEBUG: display: eDP-1: preparing atomic, pipe: C
(kms_atomic_transition:1844) igt-kms-DEBUG: display: DP-1: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: HDMI-A-1: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: HDMI-A-2: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: }
(kms_atomic_transition:1844) DEBUG: Retrieved vblank seq: 73765 on unk
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.0: plane_set_fb(0)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.0: fb_set_size(1920x1080)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.0: plane_set_size (1920x1080)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.1: plane_set_fb(0)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.2: plane_set_fb(144)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.2: fb_set_size(1920x1080)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.2: plane_set_size (1920x1080)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.3: plane_set_fb(0)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.4: plane_set_fb(0)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: commit {
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.0, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.1, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.2, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.3, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.4, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.0, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.1, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.2, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.3, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.4, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.0, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 1920 x 1080 dst = (0, 0) 1920 x 1080
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.1, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 0 x 0 dst = (0, 0) 0 x 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.2, fb 144
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 1920 x 1080 dst = (0, 0) 1920 x 1080
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.3, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 0 x 0 dst = (0, 0) 0 x 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.4, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 0 x 0 dst = (0, 0) 0 x 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: eDP-1: preparing atomic, pipe: C
(kms_atomic_transition:1844) igt-kms-DEBUG: display: DP-1: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: HDMI-A-1: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: HDMI-A-2: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: }
(kms_atomic_transition:1844) DEBUG: Retrieved vblank seq: 73766 on unk
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.0: plane_set_fb(0)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.1: plane_set_fb(144)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.1: fb_set_size(1920x1080)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.1: plane_set_size (1920x1080)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.2: plane_set_fb(0)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.3: plane_set_fb(0)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.4: plane_set_fb(143)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.4: fb_set_size(256x256)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: C.4: plane_set_size (256x256)
(kms_atomic_transition:1844) igt-kms-DEBUG: display: commit {
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.0, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.1, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.2, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.3, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: A.4, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.0, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.1, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.2, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.3, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: B.4, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.0, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 0 x 0 dst = (0, 0) 0 x 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.1, fb 144
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 1920 x 1080 dst = (0, 0) 1920 x 1080
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.2, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 0 x 0 dst = (0, 0) 0 x 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.3, fb 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 0 x 0 dst = (0, 0) 0 x 0
(kms_atomic_transition:1844) igt-kms-DEBUG: display: populating plane data: C.4, fb 143
(kms_atomic_transition:1844) igt-kms-DEBUG: display: src = (0, 0) 256 x 256 dst = (0, 0) 256 x 256
(kms_atomic_transition:1844) igt-kms-DEBUG: display: eDP-1: preparing atomic, pipe: C
(kms_atomic_transition:1844) igt-kms-DEBUG: display: DP-1: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: HDMI-A-1: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: HDMI-A-2: preparing atomic, pipe: None
(kms_atomic_transition:1844) igt-kms-DEBUG: display: }
(kms_atomic_transition:1844) igt-kms-CRITICAL: Test assertion failure function igt_display_commit_atomic, file igt_kms.c:2753:
(kms_atomic_transition:1844) igt-kms-CRITICAL: Failed assertion: ret == 0
(kms_atomic_transition:1844) igt-kms-CRITICAL: Last errno: 16, Device or resource busy
(kms_atomic_transition:1844) igt-kms-CRITICAL: error: -16 != 0
(kms_atomic_transition:1844) igt-core-INFO: Stack trace:
(kms_atomic_transition:1844) igt-core-INFO: #0 [__igt_fail_assert+0x101]
(kms_atomic_transition:1844) igt-core-INFO: #1 [igt_display_commit_atomic+0x44]
(kms_atomic_transition:1844) igt-core-INFO: #2 [run_transition_test+0x7ef]
(kms_atomic_transition:1844) igt-core-INFO: #3 [__real_main863+0x544]
(kms_atomic_transition:1844) igt-core-INFO: #4 [main+0x23]
(kms_atomic_transition:1844) igt-core-INFO: #5 [__libc_start_main+0xf1]
(kms_atomic_transition:1844) igt-core-INFO: #6 [_start+0x29]
(kms_atomic_transition:1844) igt-core-INFO: #7 [<unknown>+0x29]
**** END ****
. . .
This is my configuration:
====================================================
Graphic Stack
====================================================
Component: drm
tag: libdrm-2.4.81-55-g76418c2
commit: 76418c244d4c52a8dd20809e3e8b4e70501fc76f
Component: cairo
tag: 1.15.6-38-g1220e3c
commit: 1220e3c6b8f94a00ac7afee15f21e6782655d97c
Component: intel-gpu-tools
tag: intel-gpu-tools-1.19-312-gda197b5
commit: da197b5f3cb516aaaea72d0d60b0f5c1c81081dd
Component: piglit
tag: piglit-v1
commit: 2753955998d7deb90f681cf4cb1253c4519dfd1d
======================================
Software
======================================
kernel version : 4.14.0-rc1-drm-tip-ww38-commit-ab2e3a0+
hostname : gfx-desktop
architecture : x86_64
os version : Ubuntu 16.10
os codename : yakkety
kernel driver : i915
bios revision : 62.30
bios release date : 08/22/2017
ksc : 1.48
hardware acceleration : disabled
swap partition : enabled on (/dev/sda3)
======================================
Graphic drivers
======================================
grep: /opt/X11R7/var/log/Xorg.0.log: No such file or directory
libdrm : 2.4.83
cairo : 1.15.9
intel-gpu-tools (tag) : intel-gpu-tools-1.19-312-gda197b5
intel-gpu-tools (commit) : da197b5
======================================
Hardware
======================================
platform : Geminilake
motherboard model : Geminilake
motherboard id : GLKRVP1DDR4(05)
form factor : Hand Held
manufacturer : IntelCorp.
cpu family : Pentium
cpu family id : 6
cpu information : Intel(R) Pentium(R) Silver J5005 CPU @ 1.50GHz
gpu card : Intel Corporation Device 3184 (rev 03) (prog-if 00 [VGA controller])
memory ram : 7.6 GB
max memory ram : 16 GB
cpu thread : 4
cpu core : 4
cpu model : 122
cpu stepping : 1
socket : Other
signature : Type 0, Family 6, Model 122, Stepping 1
hard drive : 111GiB (120GB)
current cd clock frequency : 316800 kHz
maximum cd clock frequency : 316800 kHz
displays connected : eDP-1 DP-1 HDMI-A-2
======================================
Firmware
======================================
dmc fw loaded : yes
dmc version : 1.4
guc fw loaded : SUCCESS
guc version wanted : 10.56
guc version found : 10.56
huc fw loaded : yes
======================================
kernel parameters
======================================
quiet splash drm.debug=0xe i915.enable_guc_submission=2 i915.enable_guc_loading=2 i915.alpha_support=1 resume=/dev/sda3
Created attachment 134374 [details]
output
Created attachment 134375 [details]
Dmesg
This test is still failing on GLK QA
Tests List:
igt@kms_atomic_transition@plane-all-transition-nonblocking
This is my configuration:
======================================
Graphic stack
======================================
Component: drm
tag: libdrm-2.4.81-56-g7c71188
commit: 7c71188610b4ceba0339c2bc884320bcb749adee
Component: cairo
tag: 1.15.6-42-gdccbed7
commit: dccbed7d78d32bd3b912e8810379451dd94e6a1f
Component: intel-gpu-tools
tag: intel-gpu-tools-1.19-332-g0a91a5e
commit: 0a91a5e9624d41d23b79e2540eda111cb56d42d9
Component: piglit
tag: piglit-v1
commit: 95e2f51a28b6cf7ff77d84e1234121c98f10ef64
======================================
Software
======================================
kernel version : 4.14.0-rc2-drm-tip-ww39-commit-d76cbbc+
hostname : GLK-2-GLKRVP1DDR405
architecture : x86_64
os version : Ubuntu 16.10
os codename : yakkety
kernel driver : i915
bios revision : 62.30
bios release date : 08/22/2017
ksc : 1.41
hardware acceleration : disabled
swap partition : enabled on (/dev/sda3)
======================================
Graphic drivers
======================================
grep: /opt/X11R7/var/log/Xorg.0.log: No such file or directory
libdrm : 2.4.83
cairo : 1.15.9
intel-gpu-tools (tag) : intel-gpu-tools-1.19-332-g0a91a5e
intel-gpu-tools (commit) : 0a91a5e
======================================
Hardware
======================================
. . .
======================================
Firmware
======================================
dmc fw loaded : yes
dmc version : 1.4
guc fw loaded : SUCCESS
guc version wanted : 10.56
guc version found : 10.56
huc fw loaded : yes
======================================
kernel parameters
======================================
quiet drm.debug=0xe pci=pcie_bus_safe i915.alpha_support=1 i915.enable_guc_loading=2 i915.enable_guc_submission=2 intel_iommu=igfx_off auto panic=1 nmi_watchdog=panic resume=/dev/sda3 fastboot
This test are passing on GLK QA
Tests List:
igt@gem_render_linear_blits@swap-thrash
====================================================
Output
====================================================
. . .
IGT-Version: 1.19-g1e99f8b (x86_64) (Linux: 4.14.0-rc3-drm-tip-ww40-commit-2f14e31+ x86_64)
Running test on pipe A with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Running test on pipe A with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Running test on pipe A with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Running test on pipe B with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Running test on pipe B with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Running test on pipe B with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Running test on pipe C with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Running test on pipe C with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Running test on pipe C with resolution 1920x1080 and sprite size 1920x1080 alpha 1
Subtest plane-all-transition-nonblocking: SUCCESS (151.835s)
. . .
This is my configuration:
======================================
Graphic stack
======================================
Component: drm
tag: libdrm-2.4.81-57-g1dd84e0
commit: 1dd84e01a972b1759839a7326009be24ab3e6de2
Component: cairo
tag: 1.15.6-42-gdccbed7
commit: dccbed7d78d32bd3b912e8810379451dd94e6a1f
Component: intel-gpu-tools
tag: intel-gpu-tools-1.19-357-g1e99f8b
commit: 1e99f8b8d2563d7f5c4e82932bab15abc5eacaef
Component: piglit
tag: piglit-v1
commit: 5aa6eea37f44f818632a3dad4c1a7478085bd56d
======================================
Software
======================================
kernel version : 4.14.0-rc3-drm-tip-ww40-commit-2f14e31+
hostname : GLK-1-GLKRVP1DDR405
architecture : x86_64
os version : Ubuntu 16.10
os codename : yakkety
kernel driver : i915
bios revision : 62.30
bios release date : 08/22/2017
ksc : 1.41
hardware acceleration : disabled
swap partition : enabled on (/dev/sda3)
======================================
Graphic drivers
======================================
libdrm : 2.4.83
cairo : 1.15.9
intel-gpu-tools (tag) : intel-gpu-tools-1.19-357-g1e99f8b
intel-gpu-tools (commit) : 1e99f8b
======================================
Hardware
======================================
platform : Geminilake
motherboard model : Geminilake
motherboard id : GLKRVP1DDR4(05)
form factor : Hand Held
manufacturer : IntelCorp.
cpu family : Other
cpu family id : 6
cpu information : Genuine Intel(R) CPU @ 1.10GHz
gpu card : Intel Corporation Device 3185 (rev 03) (prog-if 00 [VGA controller])
memory ram : 7.64 GB
max memory ram : 16 GB
cpu thread : 2
cpu core : 2
cpu model : 122
cpu stepping : 1
socket : Other
hard drive : 223GiB (240GB)
current cd clock frequency : 316800 kHz
maximum cd clock frequency : 316800 kHz
displays connected : eDP-1 DP-1 HDMI-A-2
======================================
Firmware
======================================
dmc fw loaded : yes
dmc version : 1.4
guc fw loaded : SUCCESS
guc version wanted : 10.56
guc version found : 10.56
======================================
kernel parameters
======================================
quiet drm.debug=0x1e pci=pcie_bus_safe intel_iommu=igfx_off auto panic=1 nmi_watchdog=panic i915.alpha_support=1 i915.enable_guc_loading=2 i915.enable_guc_submission=2 resume=/dev/sda3 fastboot
...since mark as pass test will removed from the list....
sorry, in the comment 7 the test run was: igt@kms_atomic_transition@plane-all-transition-nonblocking Seems to occur randomly, but I probably know what's going on now. kms_atomic_transitions.plane_all_transitions calls wm_setup_plane which indiscriminately calls igt_plane_set_fb(plane, NULL); this is fine for planes which were bound to the crtc, but for unbound planes we have a separate completion event to prevent use-after-free. This is tested in the 'plane-use-after-nonblocking-unbind' subtest. When we call igt_plane_set_fb(plane, NULL) on a disabled plane, by accident we update its properties nonblockingly. The unbound plane is not associated with a crtc, and thus has its own completion event on commit. The nonblocking update does drm_atomic_helper_wait_for_flip_done(), followed some time later by drm_atomic_helper_commit_hw_done(). The commit_hw_done signals the unbound planes, so if the new atomic commit runs between wait_for_flip_done() and hw_done(), we get the -EBUSY here. Fix is not blindly calling igt_plane_set_fb(plane, NULL) on disabled planes. After more digging, fixing igt is required but not sufficient. Kernel also had a small bug that happened to have the same failure signature. https://patchwork.freedesktop.org/series/32044/ IGT: commit ae3b166bf86fe27d165baf84494f98f4317e7726 (HEAD, origin/master, origin/HEAD) Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Tue Oct 17 11:01:43 2017 +0200 tests/kms_atomic_transition: Do not update unbound planes. Kernel: commit 4edd60847287c34222116af58f76be985ebddef7 Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Tue Oct 17 07:20:47 2017 +0200 drm/atomic: Make atomic helper track newly assigned planes correctly, v2. *** Bug 103173 has been marked as a duplicate of this bug. *** |
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.