Bug 94697 - [BSW] igt / gem_reloc_vs_gpu / interruptible-hang fail
Summary: [BSW] igt / gem_reloc_vs_gpu / interruptible-hang fail
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-25 15:15 UTC by cprigent
Modified: 2016-09-12 09:12 UTC (History)
1 user (show)

See Also:
i915 platform: BSW/CHT
i915 features: GEM/Other


Attachments
BSW-gem_reloc_vs_gpu-interruptible-hang-output (14.22 KB, text/plain)
2016-03-25 15:15 UTC, cprigent
no flags Details
BSW-gem_reloc_vs_gpu-interruptible-hang_kern.log (182.65 KB, text/plain)
2016-03-25 15:16 UTC, cprigent
no flags Details

Description cprigent 2016-03-25 15:15:57 UTC
Created attachment 122553 [details]
BSW-gem_reloc_vs_gpu-interruptible-hang-output

Hardware: 
Motherboard: Aspire XC-704 
cpu model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz 
cpu model : 76 
cpu family : 6 
Graphic card: Device 22b1 (rev 21)

Software:
Bios: R01-A2
kernel nightly 4.5 10e913a  from https://cgit.freedesktop.org/cgit/?url=drm-intel/
  commit 10e913a48ca36790da9b58bed8729598ea79ebdb
  Author: Imre Deak <imre.deak@intel.com>
  Date:   Thu Mar 17 15:23:17 2016 +0200
  drm-intel-nightly: 2016y-03m-17d-13h-22m-41s UTC integration manifest
cairo 1.15.2 db8a7f1 from git://anongit.freedesktop.org/cairo
libdrm-2.4.67-7 49041c3 from git://anongit.freedesktop.org/mesa/drm
IGT 1.14 8f6ed9e from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git

Steps:
-------
1. Execute IGT test:
igt@gem_reloc_vs_gpu@interruptible-hang

Actual results
--------------
1. Tests is fail

Expected results
-----------------
1. Test is pass
Comment 1 cprigent 2016-03-25 15:16:15 UTC
Created attachment 122554 [details]
BSW-gem_reloc_vs_gpu-interruptible-hang_kern.log
Comment 2 Elio 2016-06-02 21:12:46 UTC
The test is failing showing the following error messages:

 ./gem_reloc_vs_gpu --run-subtest interruptible-hang
IGT-Version: 1.14-g303b380 (x86_64) (Linux: 4.6.0-drm-intel-nightly-ww23-commit-fb023a2+ x86_64)
(gem_reloc_vs_gpu:1316) CRITICAL: Test assertion failure function do_test, file gem_reloc_vs_gpu.c:233:
(gem_reloc_vs_gpu:1316) CRITICAL: Failed assertion: test == 0xdeadbeef
(gem_reloc_vs_gpu:1316) CRITICAL: mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef
Stack trace:
  #0 [__igt_fail_assert+0x101]
  #1 [do_test+0x957]
  #2 [<unknown>+0x957]
Subtest interruptible-hang failed.
**** DEBUG ****
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: gem_has_ring(fd, ring)
(gem_reloc_vs_gpu:1316) ioctl-wrappers-DEBUG: Test requirement passed: has_ban_period
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: has_gpu_reset(fd)
(gem_reloc_vs_gpu:1316) igt-gt-DEBUG: Test requirement passed: ctx == 0 || ring == I915_EXEC_RENDER
(gem_reloc_vs_gpu:1316) CRITICAL: Test assertion failure function do_test, file gem_reloc_vs_gpu.c:233:
(gem_reloc_vs_gpu:1316) CRITICAL: Failed assertion: test == 0xdeadbeef
(gem_reloc_vs_gpu:1316) CRITICAL: mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef
****  END  ****
Subtest interruptible-hang: FAIL (128.376s)

Configuration:

(Graphic Stack) Intel® Graphics for Linux* | 01.org

 Software information
============================================
Kernel version                  : 4.6.0-drm-intel-nightly-ww23-commit-fb023a2+
Linux distribution              : Ubuntu 16.04 LTS
Architecture                    : 64-bit
Mesa version                    : Not found << Please see the message at the bottom >>
xf86-video-intel version        : 2.99.917
Xorg-Xserver version            : 1.18.3
DRM version                     : 2.4.68
VAAPI version                   : Not found
Cairo version                   : 1.15.2
Intel GPU Tools version         : Tag [intel-gpu-tools-1.14-348-g303b380] / Commit [303b380]
Kernel driver in use            : i915
Hardware acceleration           :
Bios revision                   : 0.33
KSC revision                    : 0.16


 Hardware information
============================================
Platform                        :
Motherboard model               : 10G9000NUS
Motherboard type                : BRASWELL Desktop
Motherboard manufacturer        : LENOVO
CPU family                      : Pentium
CPU information                 : Intel(R) Pentium(R) CPU  N3700  @ 1.60GHz
GPU Card                        : Intel Corporation Device 22b1 (rev 21) (prog-if 00 [VGA controller])
Memory ram                      : 8 GB
Maximum memory ram allowed      : 8 GB
Display resolution              :
CPU's number                    : 4
Hard drive Capacity             : 120 GB

 Firmwares information
============================================
DMC fw loaded                   :
DMC version                     :
GUC fw loaded                   :
GUC version wanted              :
GUC version found               :
Comment 3 Chris Wilson 2016-09-09 17:51:56 UTC
commit 821ed7df6e2a1dbae243caebcfe21a0a4329fca0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Sep 9 14:11:53 2016 +0100

    drm/i915: Update reset path to fix incomplete requests
    
    Update reset path in preparation for engine reset which requires
    identification of incomplete requests and associated context and fixing
    their state so that engine can resume correctly after reset.
    
    The request that caused the hang will be skipped and head is reset to the
    start of breadcrumb. This allows us to resume from where we left-off.
    Since this request didn't complete normally we also need to cleanup elsp
    queue manually. This is vital if we employ nonblocking request
    submission where we may have a web of dependencies upon the hung request
    and so advancing the seqno manually is no longer trivial.


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.