Bug 97125 - [IVB] operation not permitted when limiting file descriptors and no kernel log when running gem_fd_exhaustion
Summary: [IVB] operation not permitted when limiting file descriptors and no kernel l...
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: Daniel Vetter
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-29 08:52 UTC by cprigent
Modified: 2017-03-01 16:51 UTC (History)
1 user (show)

See Also:
i915 platform: IVB
i915 features: GEM/Other


Attachments
IVG-gem_fd_exhaustion-kern.log (105.31 KB, text/plain)
2016-07-29 08:52 UTC, cprigent
no flags Details

Description cprigent 2016-07-29 08:52:03 UTC
Created attachment 125395 [details]
IVG-gem_fd_exhaustion-kern.log

Platform: IVB
CPU: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz (family 6, model 58, stepping 9)
Motherboard version: DH77EB
GPU: Intel® HD Graphics 4000 - Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
Software
Bios: EBH7710H.86A.0096.2012.1012.1645
Linux distribution: Ubuntu 16.04 64 bits
Kernel: 4.7.0-rc7 7eeb04a from http://cgit.freedesktop.org/drm-intel/
  commit 7eeb04a101316645916d4d9df058a9341797f1af
  Author: Chris Wilson <chris@chris-wilson.co.uk>
  Date:   Sun Jul 24 11:00:31 2016 +0100
  drm-intel-nightly: 2016y-07m-24d-09h-59m-54s UTC integration manifest
drm: libdrm-2.4.70 0caa84c from git://anongit.freedesktop.org/mesa/drm
mesa: mesa-11.2.2 3a9f628from git://anongit.freedesktop.org/mesa/mesa
cairo: 1.15.2 db8a7f1 from git://anongit.freedesktop.org/cairo
xserver: xorg-server-1.18.0-497 0b2f308 from git://git.freedesktop.org/git/xorg/xserver
xf86-video-intel: 2.99.917-687 6988b87 from git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
libva: libva-1.7.0-26 c36971c from git://git.freedesktop.org/git/vaapi/libva
vaapi-intel-driver: 1.7.0-58 e554446 from git://git.freedesktop.org/git/vaapi/intel-driver
Intel-Gpu-Tools 1.15-140 e3abb20 from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git

Steps:
------
1. Execute IGT test:
# ./gem_fd_exhaustion

Actual result:
--------------
1. Test is fail:
# ./gem_fd_exhaustion
IGT-Version: 1.15-ge3abb20 (x86_64) (Linux: 4.7.0-nightly+ x86_64)
System limit for open files is 3259721
(gem_fd_exhaustion:4188) CRITICAL: Test assertion failure function __real_main41, file gem_fd_exhaustion.c:55:
(gem_fd_exhaustion:4188) CRITICAL: Failed assertion: setrlimit(RLIMIT_NOFILE, &rlim) == 0
(gem_fd_exhaustion:4188) CRITICAL: Last errno: 1, Operation not permitted
Stack trace:
  #0 [__igt_fail_assert+0xf1]
  #1 [main+0x1d0]
  #2 [__libc_start_main+0xf0]
  #3 [_start+0x29]
  #4 [<unknown>+0x29]
Test gem_fd_exhaustion failed.
**** DEBUG ****
(gem_fd_exhaustion:4188) INFO: System limit for open files is 3259721
(gem_fd_exhaustion:4188) CRITICAL: Test assertion failure function __real_main41, file gem_fd_exhaustion.c:55:
(gem_fd_exhaustion:4188) CRITICAL: Failed assertion: setrlimit(RLIMIT_NOFILE, &rlim) == 0
(gem_fd_exhaustion:4188) CRITICAL: Last errno: 1, Operation not permitted
****  END  ****
FAIL (0.019s)

Expected result:
----------------
1. Test is Pass
Comment 1 Chris Wilson 2016-07-29 15:32:07 UTC
This should at least downgrade the fail to a skip:

commit 53b4dfdf157b38e459f5c0a6d30a3356b158a127
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Jul 29 14:51:34 2016 +0100

    tests: Skip if we cannot reserve infinite fd for ourselves
    
    A few tests rely on being able to allocate an "infinite" number of fd,
    but current assert instead of skip on more restrictive kernels.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=97125
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

I don't know why some machines don't like us setting "unlimited" rlimits.
Comment 2 Jari Tahvanainen 2017-03-01 15:07:06 UTC
Test is now skip, works as expected I assume...
igt@gem_fd_exhaustion - skip


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.