Bug 72103 - [BDW]igt/gem_persistent_relocs/* fails
Summary: [BDW]igt/gem_persistent_relocs/* fails
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-28 07:37 UTC by Guo Jinxian
Modified: 2017-10-06 14:41 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (87.35 KB, text/plain)
2013-11-28 07:37 UTC, Guo Jinxian
no flags Details

Description Guo Jinxian 2013-11-28 07:37:45 UTC
Created attachment 89944 [details]
dmesg

System Environment:
--------------------------
Platform: Broadwell
kernel   (drm-intel-nexe-queued)8b4f49e03901e82898540bd1189333edf9588d74
Some additional commit info:
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Mon Nov 25 15:51:16 2013 -0800

    drm/i915: split fb allocation and initialization v2

    If we use a stolen buffer, our probe callback shouldn't allocate a new
    buffer; we should re-use the one from the BIOS instead if possible.

    v2: fix locking (Jesse)

Bug detailed description:
-----------------------------
Assertion failure shown while run the case.

This is the first time to run igt test on Broadwell.
 
Following cases also have this issue.
igt/gem_persistent_relocs/forked-faulting-reloc-thrashing
igt/gem_persistent_relocs/forked-interruptible-faulting-reloc
igt/gem_persistent_relocs/forked-interruptible-faulting-reloc-thrash-inactive
igt/gem_persistent_relocs/forked-interruptible-faulting-reloc-thrashing
igt/gem_persistent_relocs/forked-interruptible-thrash-inactive
igt/gem_persistent_relocs/forked-interruptible-thrashing
igt/gem_persistent_relocs/forked-thrash-inactive
igt/gem_persistent_relocs/forked-thrashing

Error log:
Test assertion failure function gem_execbuf, file drmtest.c:556:
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:556:
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:556:
Test assertion failure function gem_execbuf, file drmtest.c:556:
Failed assertion: ret == 0
Failed assertion: ret == 0
child 0 failed with exit status 99
Subtest forked-faulting-reloc-thrash-inactive: FAIL
gem_persistent_relocs: drmtest.c:1181: children_exit_handler: Assertion `kill(test_children[nc], 3) == 0' failed.
Aborted (core dumped)

Steps:
---------------------------
./gem_persistent_relocs --run-subtest forked-faulting-reloc-thrash-inactive
Comment 1 Daniel Vetter 2013-11-28 13:28:31 UTC
Just to check: The subtests which do _not_ start with forked all work (i.e. normal and interruptible)?

Also: Is the failure for the forked subtests reproducible or does it only happen occasionally?
Comment 2 Guo Jinxian 2013-11-29 03:27:39 UTC
(In reply to comment #1)
> Just to check: The subtests which do _not_ start with forked all work (i.e.
> normal and interruptible)?
> 
> Also: Is the failure for the forked subtests reproducible or does it only
> happen occasionally?

The subtests which do _not_ start with forked like igt/gem_reloc_vs_gpu/interruptible and igt/gem_reloc_vs_gpu/normal failed either.

The failure is reproducible.
Comment 3 Daniel Vetter 2013-11-29 07:17:55 UTC
(In reply to comment #2)
> The subtests which do _not_ start with forked like
> igt/gem_reloc_vs_gpu/interruptible and igt/gem_reloc_vs_gpu/normal failed
> either.

"either" doesn't parse here for me and makes your answer ambigious. So does ../interruptible and ../normal work on bdw?
Comment 4 Guo Jinxian 2013-11-29 07:44:57 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > The subtests which do _not_ start with forked like
> > igt/gem_reloc_vs_gpu/interruptible and igt/gem_reloc_vs_gpu/normal failed
> > either.
> 
> "either" doesn't parse here for me and makes your answer ambigious. So does
> ../interruptible and ../normal work on bdw?

igt/gem_reloc_vs_gpu/interruptible failed
igt/gem_reloc_vs_gpu/normal  failed
Comment 5 Ben Widawsky 2013-12-05 23:47:41 UTC
Please retest with latest IGT

Some tests are still failing for me. But many should pass now.
Comment 6 Guo Jinxian 2013-12-06 03:00:53 UTC
Retested on latest IGT(commit 8ac7b93b218af1544988331cd68c69ba4102c29f),Here is the result below. thanks.

[root@x-bdw01 tests]# ./gem_persistent_relocs
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
Subtest normal: FAIL
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
Subtest interruptible: FAIL
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
child 0 failed with exit status 99
Subtest forked: FAIL
Unhandled failure in child 0
gem_persistent_relocs: drmtest.c:1198: children_exit_handler: Assertion `ret == 0' failed.
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
Aborted (core dumped)
[root@x-bdw01 tests]# Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0
Test assertion failure function do_test, file gem_persistent_relocs.c:261:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 0: 0x00000000 instead of 0xdeadbeef at offset 0


The cases below still core dumped
igt/gem_persistent_relocs/forked-faulting-reloc-thrashing
igt/gem_persistent_relocs/forked-interruptible-faulting-reloc
igt/gem_persistent_relocs/forked-interruptible-faulting-reloc-thrash-inactive
igt/gem_persistent_relocs/forked-interruptible-faulting-reloc-thrashing
igt/gem_persistent_relocs/forked-interruptible-thrash-inactive
igt/gem_persistent_relocs/forked-interruptible-thrashing
igt/gem_persistent_relocs/forked-thrash-inactive
igt/gem_persistent_relocs/forked-thrashing
Comment 7 Guo Jinxian 2013-12-10 06:41:05 UTC
Update test result on IGT commit(3c5423b9a74fe056cae1fce41fd3ad16584e9c8d), some cases passed, thanks.

[root@x-bdw01 tests]# ./gem_persistent_relocs
Subtest normal: SUCCESS
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Subtest interruptible: FAIL
Subtest forked: SUCCESS
Subtest forked-interruptible: SUCCESS
Subtest forked-faulting-reloc: SUCCESS
Test assertion failure function gem_execbuf, file drmtest.c:559:
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
child 0 failed with exit status 99
Subtest forked-interruptible-faulting-reloc: FAIL
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Unhandled failure in child 0
gem_persistent_relocs: drmtest.c:1208: children_exit_handler: Assertion `ret == 0' failed.
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Aborted (core dumped)
Comment 8 Daniel Vetter 2013-12-10 07:28:23 UTC
Can you please retest with latest igt and attach the complete output like in comment #7? I've added some more debug output, hopefully that sheds some light on what's going wrong here.
Comment 9 Guo Jinxian 2013-12-10 07:41:35 UTC
Here is the result on IGT commit (ea8c086919041d152b957773b0071e0cfafd3f78)

[root@x-bdw01 tests]# ./gem_persistent_relocs
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Subtest normal: FAIL
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Subtest interruptible: FAIL
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
child 0 failed with exit status 99
Test assertion failure function gem_execbuf, file drmtest.c:559:
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Subtest forked: FAIL
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Unhandled failure in child 0
gem_persistent_relocs: drmtest.c:1208: children_exit_handler: Assertion `ret == 0' failed.
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:559:
Failed assertion: ret == 0
Aborted (core dumped)
Comment 10 Daniel Vetter 2013-12-10 09:53:05 UTC
Nope, the output you've pasted is definitely not from that git version. I've pushed some more updates, please use 8cd3a9d5438a5e696182 or later when retesting.
Comment 11 Guo Jinxian 2013-12-11 03:45:37 UTC
Here is the result on IGT commit (13ef9e8d5453f0902e3025981b9cfd68558ff7e1)

[root@x-bdw01 tests]# ./gem_persistent_relocs
IGT-Version: 1.5-g13ef9e8 (x86_64) (Linux: 3.13.0-rc3_drm-intel-nightly_2e66bd_20131211+ x86_64)
Subtest normal: SUCCESS
Test assertion failure function gem_execbuf, file drmtest.c:562:
Last errno: 2, No such file or directory
Failed assertion: ret == 0
Subtest interruptible: FAIL
Subtest forked: SUCCESS
Test assertion failure function gem_execbuf, file drmtest.c:562:
Last errno: 2, No such file or directory
Failed assertion: ret == 0
Test assertion failure function gem_execbuf, file drmtest.c:562:
Last errno: 2, No such file or directory
Failed assertion: ret == 0
child 2 died with signal 10, User defined signal 1
Subtest forked-interruptible: FAIL
Unhandled failure in child 0
gem_persistent_relocs: drmtest.c:1236: children_exit_handler: Assertion `ret == 0' failed.
Aborted (core dumped)
Comment 12 Ben Widawsky 2014-01-10 17:49:41 UTC
Pleaes retest with latest everything.
Comment 13 Ben Widawsky 2014-01-13 23:51:19 UTC
Ping for retest
Comment 14 Guo Jinxian 2014-01-15 01:30:16 UTC
Our Broadwell doesn't work now, we are repairing it. And I will retest this bug when the Broadwell had repaired. Thanks.
Comment 15 Guo Jinxian 2014-01-16 04:36:20 UTC
Here is the result on latest -nightly, thanks.

[root@x-bdw01 tests]# ./gem_persistent_relocs
IGT-Version: 1.5-g01eeab9 (x86_64) (Linux: 3.13.0-rc7_drm-intel-nightly_bdf609_20140116+ x86_64)
Subtest normal: SUCCESS
Subtest interruptible: SUCCESS
Subtest forked: SUCCESS
Subtest forked-interruptible: SUCCESS
Subtest forked-faulting-reloc: SUCCESS
Subtest forked-interruptible-faulting-reloc: SUCCESS
Subtest forked-thrashing: SUCCESS
Subtest forked-interruptible-thrashing: SUCCESS
Subtest forked-faulting-reloc-thrashing: SUCCESS
Subtest forked-interruptible-faulting-reloc-thrashing: SUCCESS
Subtest forked-thrash-inactive: SUCCESS
Subtest forked-interruptible-thrash-inactive: SUCCESS
Subtest forked-faulting-reloc-thrash-inactive: SUCCESS
Subtest forked-interruptible-faulting-reloc-thrash-inactive: SUCCESS
Comment 16 Guo Jinxian 2014-01-17 04:31:03 UTC
(In reply to comment #15)
> Here is the result on latest -nightly, thanks.
> 
> [root@x-bdw01 tests]# ./gem_persistent_relocs
> IGT-Version: 1.5-g01eeab9 (x86_64) (Linux:
> 3.13.0-rc7_drm-intel-nightly_bdf609_20140116+ x86_64)
> Subtest normal: SUCCESS
> Subtest interruptible: SUCCESS
> Subtest forked: SUCCESS
> Subtest forked-interruptible: SUCCESS
> Subtest forked-faulting-reloc: SUCCESS
> Subtest forked-interruptible-faulting-reloc: SUCCESS
> Subtest forked-thrashing: SUCCESS
> Subtest forked-interruptible-thrashing: SUCCESS
> Subtest forked-faulting-reloc-thrashing: SUCCESS
> Subtest forked-interruptible-faulting-reloc-thrashing: SUCCESS
> Subtest forked-thrash-inactive: SUCCESS
> Subtest forked-interruptible-thrash-inactive: SUCCESS
> Subtest forked-faulting-reloc-thrash-inactive: SUCCESS
> Subtest forked-interruptible-faulting-reloc-thrash-inactive: SUCCESS

Verified according the result on latest -nightly, thanks.
Comment 17 Elizabeth 2017-10-06 14:41:51 UTC
Closing old verified.


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.