Bug 106744

Summary: [CI] igt@gem_persistent_relocs@forked-faulting-reloc-thrashing - fail - Failed assertion: __gem_execbuf(fd, execbuf) == 0
Product: DRI Reporter: Martin Peres <martin.peres>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED WORKSFORME QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard: ReadyForDev
i915 platform: BSW/CHT, BYT i915 features: GEM/Other

Description Martin Peres 2018-05-30 23:00:40 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_54/fi-bsw-n3050/igt@gem_persistent_relocs@forked-faulting-reloc-thrashing.html

(gem_persistent_relocs:1525) ioctl_wrappers-CRITICAL: Test assertion failure function gem_execbuf, file ../lib/ioctl_wrappers.c:605:
(gem_persistent_relocs:1525) ioctl_wrappers-CRITICAL: Failed assertion: __gem_execbuf(fd, execbuf) == 0
(gem_persistent_relocs:1525) ioctl_wrappers-CRITICAL: error: -22 != 0
Subtest forked-faulting-reloc-thrashing failed.
No log.
Comment 1 Martin Peres 2018-06-11 14:20:38 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4515/fi-byt-n2820/igt@gem_exec_gttfill@basic.html

(gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: Test assertion failure function gem_execbuf, file ../lib/ioctl_wrappers.c:605:
(gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: Failed assertion: __gem_execbuf(fd, execbuf) == 0
(gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: error: -16 != 0
Subtest basic failed.
Comment 2 Chris Wilson 2018-06-11 14:27:37 UTC
(In reply to Martin Peres from comment #1)
> https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4515/fi-byt-n2820/
> igt@gem_exec_gttfill@basic.html
> 
> (gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: Test assertion failure
> function gem_execbuf, file ../lib/ioctl_wrappers.c:605:
> (gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: Failed assertion:
> __gem_execbuf(fd, execbuf) == 0
> (gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: error: -16 != 0
> Subtest basic failed.

That is a very different error. EINVAL (original bug) is an igt bug, EBUSY here is a kernel bug.
Comment 3 Chris Wilson 2018-06-21 10:38:43 UTC
(In reply to Chris Wilson from comment #2)
> (In reply to Martin Peres from comment #1)
> > https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4515/fi-byt-n2820/
> > igt@gem_exec_gttfill@basic.html
> > 
> > (gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: Test assertion failure
> > function gem_execbuf, file ../lib/ioctl_wrappers.c:605:
> > (gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: Failed assertion:
> > __gem_execbuf(fd, execbuf) == 0
> > (gem_exec_gttfill:1501) ioctl_wrappers-CRITICAL: error: -16 != 0
> > Subtest basic failed.
> 
> That is a very different error. EINVAL (original bug) is an igt bug, EBUSY
> here is a kernel bug.

Gone.

commit 827db9d8bb4a01314f214065e3f18c8345c5fc9f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 21 08:32:05 2018 +0100

    drm/i915: Ignore applying the self-relocation BIAS if no relocations
    
    We only need to apply the BIAS for self-relocations into the batchbuffer
    iff the execobject has any relocations.
    
    This suppresses some warnings we may get with a full gtt (so the batch
    object has wound up at 0 from a previous invocation), but doesn't fix
    the underlying problem of how we tried to move a pinned batch vma (how
    we have a pinned user vma outside of execbuf, I do not know, though this
    being on an aliasing ppgtt means it could be a spurious pinning via the
    global gtt). One step at a time...
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=106744#c1
    Testcase: igt/gem_exec_gttfill # byt (sporadic)
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180621073205.26701-1-chris@chris-wilson.co.uk
Comment 4 Chris Wilson 2018-06-21 10:39:10 UTC
commit d20ac620f0010f9cdcbbe8408e5f22aae3c49faa
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 21 09:01:50 2018 +0100

    drm/i915: Redefine EINVAL for debugging
    
    To aide debugging spurious EINVALs, include a debug message every time
    we emit one from execbuf.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=106744
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180621080150.8110-1-ch
ris@chris-wilson.co.uk
Comment 5 Chris Wilson 2018-09-06 19:35:09 UTC
To test CI bug snooping.
Comment 6 Martin Peres 2018-09-07 16:22:35 UTC
(In reply to Chris Wilson from comment #5)
> To test CI bug snooping.

Last seen in https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_4370_99/fi-byt-n2820/igt@gem_exec_gttfill@basic.html, 1 month and 2 weeks ago. It used to be seen every single run, so it is safe to say it is fixed!

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.