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.