All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
@ 2020-02-02 18:56 Chris Wilson
  2020-02-02 19:28 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-02 18:56 UTC (permalink / raw)
  To: igt-dev

Ensure that we tidy up all the excess children left behind by a failing
subtest, we do not want them loitering into the next!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 lib/igt_core.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index a0bf29408..65c80fbba 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1362,6 +1362,10 @@ static void exit_subtest(const char *result)
 
 	igt_terminate_spins();
 
+	for (int c = 0; c < num_test_children; c++)
+		kill(test_children[c], SIGKILL);
+	num_test_children = 0;
+
 	if (!in_dynamic_subtest)
 		_igt_dynamic_tests_executed = -1;
 
-- 
2.25.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for lib: Kill residual children at the end of a subtest
  2020-02-02 18:56 [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest Chris Wilson
@ 2020-02-02 19:28 ` Patchwork
  2020-02-03 11:13 ` [igt-dev] [PATCH i-g-t] " Petri Latvala
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-02 19:28 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: lib: Kill residual children at the end of a subtest
URL   : https://patchwork.freedesktop.org/series/72885/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_7857 -> IGTPW_4072
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_4072 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_4072, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_4072:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live_execlists:
    - fi-kbl-x1275:       [PASS][1] -> [TIMEOUT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7857/fi-kbl-x1275/igt@i915_selftest@live_execlists.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/fi-kbl-x1275/igt@i915_selftest@live_execlists.html

  
Known issues
------------

  Here are the changes found in IGTPW_4072 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_chamelium@dp-edid-read:
    - fi-cml-u2:          [PASS][3] -> [FAIL][4] ([i915#217] / [i915#976])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7857/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/fi-cml-u2/igt@kms_chamelium@dp-edid-read.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-4770:        [PASS][5] -> [FAIL][6] ([i915#49])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7857/fi-hsw-4770/igt@kms_frontbuffer_tracking@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/fi-hsw-4770/igt@kms_frontbuffer_tracking@basic.html

  
#### Possible fixes ####

  * igt@i915_selftest@live_blt:
    - fi-hsw-4770r:       [DMESG-FAIL][7] ([i915#553] / [i915#725]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7857/fi-hsw-4770r/igt@i915_selftest@live_blt.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/fi-hsw-4770r/igt@i915_selftest@live_blt.html
    - fi-hsw-4770:        [DMESG-FAIL][9] ([i915#553] / [i915#725]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7857/fi-hsw-4770/igt@i915_selftest@live_blt.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/fi-hsw-4770/igt@i915_selftest@live_blt.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-cfl-guc:         [INCOMPLETE][11] ([fdo#106070] / [i915#424]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7857/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][13] ([fdo#111096] / [i915#323]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7857/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Warnings ####

  * igt@gem_exec_parallel@fds:
    - fi-byt-n2820:       [FAIL][15] ([i915#694]) -> [TIMEOUT][16] ([fdo#112271] / [i915#1084])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7857/fi-byt-n2820/igt@gem_exec_parallel@fds.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/fi-byt-n2820/igt@gem_exec_parallel@fds.html

  
  [fdo#106070]: https://bugs.freedesktop.org/show_bug.cgi?id=106070
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1084]: https://gitlab.freedesktop.org/drm/intel/issues/1084
  [i915#217]: https://gitlab.freedesktop.org/drm/intel/issues/217
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
  [i915#976]: https://gitlab.freedesktop.org/drm/intel/issues/976


Participating hosts (47 -> 43)
------------------------------

  Additional (4): fi-skl-6770hq fi-bdw-5557u fi-bwr-2160 fi-bsw-nick 
  Missing    (8): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-whl-u fi-blb-e6850 fi-byt-clapper fi-bdw-samus fi-kbl-r 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5411 -> IGTPW_4072

  CI-20190529: 20190529
  CI_DRM_7857: 8ec40a15b9a930df9e445f17c5e01cdb6f80353a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4072: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/index.html
  IGT_5411: 86c6ab8a0b6696bdb2153febd350af7fa02fbb00 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4072/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-02 18:56 [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest Chris Wilson
  2020-02-02 19:28 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
@ 2020-02-03 11:13 ` Petri Latvala
  2020-02-03 11:21   ` Chris Wilson
  2020-02-03 13:03 ` [igt-dev] [PATCH i-g-t v2] " Chris Wilson
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Petri Latvala @ 2020-02-03 11:13 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

On Sun, Feb 02, 2020 at 06:56:49PM +0000, Chris Wilson wrote:
> Ensure that we tidy up all the excess children left behind by a failing
> subtest, we do not want them loitering into the next!
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  lib/igt_core.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index a0bf29408..65c80fbba 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -1362,6 +1362,10 @@ static void exit_subtest(const char *result)
>  
>  	igt_terminate_spins();
>  
> +	for (int c = 0; c < num_test_children; c++)
> +		kill(test_children[c], SIGKILL);
> +	num_test_children = 0;

Are the children wait()ed for somewhere?


-- 
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-03 11:13 ` [igt-dev] [PATCH i-g-t] " Petri Latvala
@ 2020-02-03 11:21   ` Chris Wilson
  2020-02-03 11:50     ` Petri Latvala
  0 siblings, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2020-02-03 11:21 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

Quoting Petri Latvala (2020-02-03 11:13:44)
> On Sun, Feb 02, 2020 at 06:56:49PM +0000, Chris Wilson wrote:
> > Ensure that we tidy up all the excess children left behind by a failing
> > subtest, we do not want them loitering into the next!
> > 
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > ---
> >  lib/igt_core.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > index a0bf29408..65c80fbba 100644
> > --- a/lib/igt_core.c
> > +++ b/lib/igt_core.c
> > @@ -1362,6 +1362,10 @@ static void exit_subtest(const char *result)
> >  
> >       igt_terminate_spins();
> >  
> > +     for (int c = 0; c < num_test_children; c++)
> > +             kill(test_children[c], SIGKILL);
> > +     num_test_children = 0;
> 
> Are the children wait()ed for somewhere?

Would be very hard to do from inside the dead subtest. We can leave them
as zombies, otherwise how long do you want to wait? As far as the CPU
side of things go, they will not make any further progress.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-03 11:21   ` Chris Wilson
@ 2020-02-03 11:50     ` Petri Latvala
  2020-02-03 11:54       ` Chris Wilson
  2020-02-03 12:00       ` Chris Wilson
  0 siblings, 2 replies; 15+ messages in thread
From: Petri Latvala @ 2020-02-03 11:50 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

On Mon, Feb 03, 2020 at 11:21:56AM +0000, Chris Wilson wrote:
> Quoting Petri Latvala (2020-02-03 11:13:44)
> > On Sun, Feb 02, 2020 at 06:56:49PM +0000, Chris Wilson wrote:
> > > Ensure that we tidy up all the excess children left behind by a failing
> > > subtest, we do not want them loitering into the next!
> > > 
> > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > > ---
> > >  lib/igt_core.c | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > > 
> > > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > > index a0bf29408..65c80fbba 100644
> > > --- a/lib/igt_core.c
> > > +++ b/lib/igt_core.c
> > > @@ -1362,6 +1362,10 @@ static void exit_subtest(const char *result)
> > >  
> > >       igt_terminate_spins();
> > >  
> > > +     for (int c = 0; c < num_test_children; c++)
> > > +             kill(test_children[c], SIGKILL);
> > > +     num_test_children = 0;
> > 
> > Are the children wait()ed for somewhere?
> 
> Would be very hard to do from inside the dead subtest. We can leave them
> as zombies, otherwise how long do you want to wait? As far as the CPU
> side of things go, they will not make any further progress.

igt_exit() does an assert that waitpid(-1, ...) errors with
ECHILD. The exit handler that does call wait() only does it if
num_test_children is nonzero.

All tests that fork stuff are already supposed to call
igt_waitchildren(), right? Should we call igt_waitchildren_timeout()
here instead, with a 1s timeout? Or __igt_waitchildren() after firing
off some SIGKILLs.

Care to beef up lib/tests/igt_fork.c to make sure this is all done
gracefully at subtest level, currently it only checks that the state
is sane at exit() time?


-- 
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-03 11:50     ` Petri Latvala
@ 2020-02-03 11:54       ` Chris Wilson
  2020-02-03 12:01         ` Petri Latvala
  2020-02-03 12:00       ` Chris Wilson
  1 sibling, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2020-02-03 11:54 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

Quoting Petri Latvala (2020-02-03 11:50:07)
> On Mon, Feb 03, 2020 at 11:21:56AM +0000, Chris Wilson wrote:
> > Quoting Petri Latvala (2020-02-03 11:13:44)
> > > On Sun, Feb 02, 2020 at 06:56:49PM +0000, Chris Wilson wrote:
> > > > Ensure that we tidy up all the excess children left behind by a failing
> > > > subtest, we do not want them loitering into the next!
> > > > 
> > > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > > > ---
> > > >  lib/igt_core.c | 4 ++++
> > > >  1 file changed, 4 insertions(+)
> > > > 
> > > > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > > > index a0bf29408..65c80fbba 100644
> > > > --- a/lib/igt_core.c
> > > > +++ b/lib/igt_core.c
> > > > @@ -1362,6 +1362,10 @@ static void exit_subtest(const char *result)
> > > >  
> > > >       igt_terminate_spins();
> > > >  
> > > > +     for (int c = 0; c < num_test_children; c++)
> > > > +             kill(test_children[c], SIGKILL);
> > > > +     num_test_children = 0;
> > > 
> > > Are the children wait()ed for somewhere?
> > 
> > Would be very hard to do from inside the dead subtest. We can leave them
> > as zombies, otherwise how long do you want to wait? As far as the CPU
> > side of things go, they will not make any further progress.
> 
> igt_exit() does an assert that waitpid(-1, ...) errors with
> ECHILD. The exit handler that does call wait() only does it if
> num_test_children is nonzero.

Hah. That doesn't work :) Since it doesn't wait, the children aren't
dead by that point.

> All tests that fork stuff are already supposed to call
> igt_waitchildren(), right? Should we call igt_waitchildren_timeout()
> here instead, with a 1s timeout? Or __igt_waitchildren() after firing
> off some SIGKILLs.

The test does call wait, but it has failed before it can do so. If only
we had some subtest closures :)
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-03 11:50     ` Petri Latvala
  2020-02-03 11:54       ` Chris Wilson
@ 2020-02-03 12:00       ` Chris Wilson
  2020-02-03 12:23         ` Petri Latvala
  1 sibling, 1 reply; 15+ messages in thread
From: Chris Wilson @ 2020-02-03 12:00 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

Quoting Petri Latvala (2020-02-03 11:50:07)
> Care to beef up lib/tests/igt_fork.c to make sure this is all done
> gracefully at subtest level, currently it only checks that the state
> is sane at exit() time?

Something evil like:

pid_t *children = mmap(4096, SHARED);

igt_subtest() {
	igt_fork(child, 4096/sizeof(pid_t)) {
		children[child] = getpid();
	}
	/* leak the children */
}

for (int i = 0; i < 4096/sizeof(pid_t); i++)
	assert(kill(children[i], 0) == -1);
munmap(children, 4096);

Is that legal?
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-03 11:54       ` Chris Wilson
@ 2020-02-03 12:01         ` Petri Latvala
  2020-02-03 12:03           ` Chris Wilson
  0 siblings, 1 reply; 15+ messages in thread
From: Petri Latvala @ 2020-02-03 12:01 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

On Mon, Feb 03, 2020 at 11:54:28AM +0000, Chris Wilson wrote:
> Quoting Petri Latvala (2020-02-03 11:50:07)
> > On Mon, Feb 03, 2020 at 11:21:56AM +0000, Chris Wilson wrote:
> > > Quoting Petri Latvala (2020-02-03 11:13:44)
> > > > On Sun, Feb 02, 2020 at 06:56:49PM +0000, Chris Wilson wrote:
> > > > > Ensure that we tidy up all the excess children left behind by a failing
> > > > > subtest, we do not want them loitering into the next!
> > > > > 
> > > > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > > > > ---
> > > > >  lib/igt_core.c | 4 ++++
> > > > >  1 file changed, 4 insertions(+)
> > > > > 
> > > > > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > > > > index a0bf29408..65c80fbba 100644
> > > > > --- a/lib/igt_core.c
> > > > > +++ b/lib/igt_core.c
> > > > > @@ -1362,6 +1362,10 @@ static void exit_subtest(const char *result)
> > > > >  
> > > > >       igt_terminate_spins();
> > > > >  
> > > > > +     for (int c = 0; c < num_test_children; c++)
> > > > > +             kill(test_children[c], SIGKILL);
> > > > > +     num_test_children = 0;
> > > > 
> > > > Are the children wait()ed for somewhere?
> > > 
> > > Would be very hard to do from inside the dead subtest. We can leave them
> > > as zombies, otherwise how long do you want to wait? As far as the CPU
> > > side of things go, they will not make any further progress.
> > 
> > igt_exit() does an assert that waitpid(-1, ...) errors with
> > ECHILD. The exit handler that does call wait() only does it if
> > num_test_children is nonzero.
> 
> Hah. That doesn't work :) Since it doesn't wait, the children aren't
> dead by that point.
> 
> > All tests that fork stuff are already supposed to call
> > igt_waitchildren(), right? Should we call igt_waitchildren_timeout()
> > here instead, with a 1s timeout? Or __igt_waitchildren() after firing
> > off some SIGKILLs.
> 
> The test does call wait, but it has failed before it can do so. If only
> we had some subtest closures :)

Which test is that? All the tests I checked (a whopping two of them)
follow the pattern of

igt_fork(..) {
 ..
}
igt_waitchildren()



-- 
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-03 12:01         ` Petri Latvala
@ 2020-02-03 12:03           ` Chris Wilson
  0 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-03 12:03 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

Quoting Petri Latvala (2020-02-03 12:01:03)
> Which test is that? All the tests I checked (a whopping two of them)
> follow the pattern of

gem_exec_balancer/bonded-slice, the background load gets trapped in an
infinite loop.
-Chris
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-03 12:00       ` Chris Wilson
@ 2020-02-03 12:23         ` Petri Latvala
  2020-02-03 12:25           ` Chris Wilson
  0 siblings, 1 reply; 15+ messages in thread
From: Petri Latvala @ 2020-02-03 12:23 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

On Mon, Feb 03, 2020 at 12:00:35PM +0000, Chris Wilson wrote:
> Quoting Petri Latvala (2020-02-03 11:50:07)
> > Care to beef up lib/tests/igt_fork.c to make sure this is all done
> > gracefully at subtest level, currently it only checks that the state
> > is sane at exit() time?
> 
> Something evil like:
> 
> pid_t *children = mmap(4096, SHARED);
> 
> igt_subtest() {
> 	igt_fork(child, 4096/sizeof(pid_t)) {
> 		children[child] = getpid();
> 	}
> 	/* leak the children */
> }
> 
> for (int i = 0; i < 4096/sizeof(pid_t); i++)
> 	assert(kill(children[i], 0) == -1);
> munmap(children, 4096);
> 
> Is that legal?

Do we need crazy? lib-tests get run on qemu'd mips and arm,
and anyway fork-bombing on gitlab is not very nice.

Otherwise looks exactly what we want to test.


-- 
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest
  2020-02-03 12:23         ` Petri Latvala
@ 2020-02-03 12:25           ` Chris Wilson
  0 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-03 12:25 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

Quoting Petri Latvala (2020-02-03 12:23:05)
> On Mon, Feb 03, 2020 at 12:00:35PM +0000, Chris Wilson wrote:
> > Quoting Petri Latvala (2020-02-03 11:50:07)
> > > Care to beef up lib/tests/igt_fork.c to make sure this is all done
> > > gracefully at subtest level, currently it only checks that the state
> > > is sane at exit() time?
> > 
> > Something evil like:
> > 
> > pid_t *children = mmap(4096, SHARED);
> > 
> > igt_subtest() {
> >       igt_fork(child, 4096/sizeof(pid_t)) {
> >               children[child] = getpid();
> >       }
> >       /* leak the children */
> > }
> > 
> > for (int i = 0; i < 4096/sizeof(pid_t); i++)
> >       assert(kill(children[i], 0) == -1);
> > munmap(children, 4096);
> > 
> > Is that legal?
> 
> Do we need crazy? lib-tests get run on qemu'd mips and arm,
> and anyway fork-bombing on gitlab is not very nice.

Bah, it's not that crazy. 1024 processes, barely a scratch :)

I didn't think it's particularly onerous, but I don't have much
experience with the gitlab-ci targets.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] [PATCH i-g-t v2] lib: Kill residual children at the end of a subtest
  2020-02-02 18:56 [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest Chris Wilson
  2020-02-02 19:28 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
  2020-02-03 11:13 ` [igt-dev] [PATCH i-g-t] " Petri Latvala
@ 2020-02-03 13:03 ` Chris Wilson
  2020-02-03 13:11 ` [igt-dev] [PATCH i-g-t v3] " Chris Wilson
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-03 13:03 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

Ensure that we tidy up all the excess children left behind by a failing
subtest, we do not want them loitering into the next!

v2: Behead the undead plague, and throw in a bonus lib/tests

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala@intel.com>
---
 lib/igt_core.c       |  7 +++++++
 lib/tests/igt_fork.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index a0bf29408..510417934 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1362,6 +1362,13 @@ static void exit_subtest(const char *result)
 
 	igt_terminate_spins();
 
+	/* If the subtest aborted, it may have left children behind */
+	for (int c = 0; c < num_test_children; c++) {
+		kill(test_children[c], SIGKILL);
+		waitpid(test_children[c], NULL, 0); /* don't leave zombies! */
+	}
+	num_test_children = 0;
+
 	if (!in_dynamic_subtest)
 		_igt_dynamic_tests_executed = -1;
 
diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index 7e8b4f9b5..36597553d 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -107,6 +107,48 @@ static int do_fork(void (*test_to_run)(void))
 	}
 }
 
+static int do_subtest(void (*test_to_run)(void))
+{
+	int pid, status;
+	int argc;
+
+	switch (pid = fork()) {
+	case -1:
+		internal_assert(0);
+	case 0:
+		argc = ARRAY_SIZE(argv_run);
+		igt_subtest_init(argc, argv_run);
+		test_to_run();
+		igt_exit();
+	default:
+		while (waitpid(pid, &status, 0) == -1 &&
+		       errno == EINTR)
+			;
+
+		return status;
+	}
+}
+
+static void subtest_leak(void)
+{
+	pid_t *children =
+		mmap(0, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+	const int num_children = 4096 / sizeof(*children);
+
+	igt_subtest("fork-leak") {
+		igt_fork(child, num_children)
+			children[child] = getpid();
+
+		/* leak the children */
+		igt_assert(0);
+	}
+
+	/* We expect the exit_subtest to cleanup after the igt_fork */
+	for (int i = 0; i < num_children; i++)
+		assert(kill(children[i], 0) == -1 && errno == ESRCH);
+
+	munmap(children, 4096);
+}
 
 int main(int argc, char **argv)
 {
@@ -131,4 +173,6 @@ int main(int argc, char **argv)
 	/* check that any other process leaks are caught*/
 	ret = do_fork(plain_fork_leak);
 	internal_assert_wsignaled(ret, SIGABRT);
+
+	do_subtest(subtest_leak);
 }
-- 
2.25.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [igt-dev] [PATCH i-g-t v3] lib: Kill residual children at the end of a subtest
  2020-02-02 18:56 [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest Chris Wilson
                   ` (2 preceding siblings ...)
  2020-02-03 13:03 ` [igt-dev] [PATCH i-g-t v2] " Chris Wilson
@ 2020-02-03 13:11 ` Chris Wilson
  2020-02-03 14:36 ` [igt-dev] ✓ Fi.CI.BAT: success for lib: Kill residual children at the end of a subtest (rev3) Patchwork
  2020-02-05 22:58 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Chris Wilson @ 2020-02-03 13:11 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

Ensure that we tidy up all the excess children left behind by a failing
subtest, we do not want them loitering into the next!

v2: Behead the undead plague, and throw in a bonus lib/tests

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala@intel.com>
---
 lib/igt_core.c       |  7 +++++++
 lib/tests/igt_fork.c | 45 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index a0bf29408..510417934 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1362,6 +1362,13 @@ static void exit_subtest(const char *result)
 
 	igt_terminate_spins();
 
+	/* If the subtest aborted, it may have left children behind */
+	for (int c = 0; c < num_test_children; c++) {
+		kill(test_children[c], SIGKILL);
+		waitpid(test_children[c], NULL, 0); /* don't leave zombies! */
+	}
+	num_test_children = 0;
+
 	if (!in_dynamic_subtest)
 		_igt_dynamic_tests_executed = -1;
 
diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index 7e8b4f9b5..e30584fd2 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -107,6 +107,48 @@ static int do_fork(void (*test_to_run)(void))
 	}
 }
 
+static int do_subtest(void (*test_to_run)(void))
+{
+	int pid, status;
+	int argc;
+
+	switch (pid = fork()) {
+	case -1:
+		internal_assert(0);
+	case 0:
+		argc = ARRAY_SIZE(argv_run);
+		igt_subtest_init(argc, argv_run);
+		test_to_run();
+		igt_exit();
+	default:
+		while (waitpid(pid, &status, 0) == -1 &&
+		       errno == EINTR)
+			;
+
+		return status;
+	}
+}
+
+static void subtest_leak(void)
+{
+	pid_t *children =
+		mmap(0, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+	const int num_children = 4096 / sizeof(*children);
+
+	igt_subtest("fork-leak") {
+		igt_fork(child, num_children)
+			children[child] = getpid();
+
+		/* leak the children */
+		igt_assert(0);
+	}
+
+	/* We expect the exit_subtest to cleanup after the igt_fork */
+	for (int i = 0; i < num_children; i++)
+		assert(kill(children[i], 0) == -1 && errno == ESRCH);
+
+	munmap(children, 4096);
+}
 
 int main(int argc, char **argv)
 {
@@ -131,4 +173,7 @@ int main(int argc, char **argv)
 	/* check that any other process leaks are caught*/
 	ret = do_fork(plain_fork_leak);
 	internal_assert_wsignaled(ret, SIGABRT);
+
+	ret = do_subtest(subtest_leak);
+	internal_assert_wexited(ret, IGT_EXIT_FAILURE); /* not asserted! */
 }
-- 
2.25.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for lib: Kill residual children at the end of a subtest (rev3)
  2020-02-02 18:56 [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest Chris Wilson
                   ` (3 preceding siblings ...)
  2020-02-03 13:11 ` [igt-dev] [PATCH i-g-t v3] " Chris Wilson
@ 2020-02-03 14:36 ` Patchwork
  2020-02-05 22:58 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-03 14:36 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: lib: Kill residual children at the end of a subtest (rev3)
URL   : https://patchwork.freedesktop.org/series/72885/
State : success

== Summary ==

CI Bug Log - changes from IGT_5414 -> IGTPW_4079
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/index.html

Known issues
------------

  Here are the changes found in IGTPW_4079 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_parallel@contexts:
    - fi-byt-n2820:       [PASS][1] -> [FAIL][2] ([i915#694])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-byt-n2820/igt@gem_exec_parallel@contexts.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-byt-n2820/igt@gem_exec_parallel@contexts.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-tgl-y:           [PASS][3] -> [FAIL][4] ([CI#94])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-tgl-y/igt@gem_exec_suspend@basic-s4-devices.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-tgl-y/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@i915_getparams_basic@basic-subslice-total:
    - fi-tgl-y:           [PASS][5] -> [DMESG-WARN][6] ([CI#94] / [i915#402]) +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html

  * igt@i915_selftest@live_blt:
    - fi-ivb-3770:        [PASS][7] -> [DMESG-FAIL][8] ([i915#725])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-ivb-3770/igt@i915_selftest@live_blt.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-ivb-3770/igt@i915_selftest@live_blt.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-byt-n2820:       [PASS][9] -> [DMESG-FAIL][10] ([i915#1052])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html

  
#### Possible fixes ####

  * igt@gem_exec_parallel@fds:
    - fi-byt-n2820:       [TIMEOUT][11] ([fdo#112271]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-byt-n2820/igt@gem_exec_parallel@fds.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-byt-n2820/igt@gem_exec_parallel@fds.html

  * igt@i915_selftest@live_gem_contexts:
    - fi-cfl-8700k:       [INCOMPLETE][13] ([i915#424]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html
    - fi-hsw-peppy:       [DMESG-FAIL][15] ([i915#722]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html
    - fi-hsw-4770r:       [DMESG-FAIL][17] ([i915#722]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-hsw-4770r/igt@i915_selftest@live_gem_contexts.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-hsw-4770r/igt@i915_selftest@live_gem_contexts.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][19] ([fdo#111096] / [i915#323]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@vgem_basic@unload:
    - fi-tgl-y:           [DMESG-WARN][21] ([CI#94] / [i915#402]) -> [PASS][22] +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/fi-tgl-y/igt@vgem_basic@unload.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/fi-tgl-y/igt@vgem_basic@unload.html

  
  [CI#94]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/94
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1052]: https://gitlab.freedesktop.org/drm/intel/issues/1052
  [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722
  [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725


Participating hosts (54 -> 47)
------------------------------

  Missing    (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5414 -> IGTPW_4079

  CI-20190529: 20190529
  CI_DRM_7859: b7b84e9f2d009d833774aa851d2dd3f78ba6a8c5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4079: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/index.html
  IGT_5414: afd48dacf43b2a4f93337af3dcab5228ffd3acad @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [igt-dev] ✗ Fi.CI.IGT: failure for lib: Kill residual children at the end of a subtest (rev3)
  2020-02-02 18:56 [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest Chris Wilson
                   ` (4 preceding siblings ...)
  2020-02-03 14:36 ` [igt-dev] ✓ Fi.CI.BAT: success for lib: Kill residual children at the end of a subtest (rev3) Patchwork
@ 2020-02-05 22:58 ` Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2020-02-05 22:58 UTC (permalink / raw)
  To: Chris Wilson; +Cc: igt-dev

== Series Details ==

Series: lib: Kill residual children at the end of a subtest (rev3)
URL   : https://patchwork.freedesktop.org/series/72885/
State : failure

== Summary ==

CI Bug Log - changes from IGT_5414_full -> IGTPW_4079_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_4079_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_4079_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_4079_full:

### IGT changes ###

#### Possible regressions ####

  * igt@runner@aborted:
    - shard-hsw:          NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-hsw4/igt@runner@aborted.html

  
Known issues
------------

  Here are the changes found in IGTPW_4079_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_busy@busy-vcs1:
    - shard-iclb:         [PASS][2] -> [SKIP][3] ([fdo#112080]) +13 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb4/igt@gem_busy@busy-vcs1.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb8/igt@gem_busy@busy-vcs1.html

  * igt@gem_exec_schedule@in-order-bsd:
    - shard-iclb:         [PASS][4] -> [SKIP][5] ([fdo#112146]) +6 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb3/igt@gem_exec_schedule@in-order-bsd.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb1/igt@gem_exec_schedule@in-order-bsd.html

  * igt@gem_exec_schedule@pi-distinct-iova-bsd:
    - shard-iclb:         [PASS][6] -> [SKIP][7] ([i915#677]) +2 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb8/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb4/igt@gem_exec_schedule@pi-distinct-iova-bsd.html

  * igt@gem_exec_schedule@preempt-contexts-bsd2:
    - shard-iclb:         [PASS][8] -> [SKIP][9] ([fdo#109276]) +16 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb2/igt@gem_exec_schedule@preempt-contexts-bsd2.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb8/igt@gem_exec_schedule@preempt-contexts-bsd2.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-apl:          [PASS][10] -> [FAIL][11] ([i915#644])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-apl1/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-apl1/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@gem_pwrite@big-cpu-fbr:
    - shard-hsw:          [PASS][12] -> [INCOMPLETE][13] ([CI#80] / [i915#61])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-hsw2/igt@gem_pwrite@big-cpu-fbr.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-hsw7/igt@gem_pwrite@big-cpu-fbr.html

  * igt@gem_userptr_blits@sync-unmap:
    - shard-snb:          [PASS][14] -> [DMESG-WARN][15] ([fdo#111870] / [i915#478])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-snb6/igt@gem_userptr_blits@sync-unmap.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-snb2/igt@gem_userptr_blits@sync-unmap.html

  * igt@i915_pm_rps@reset:
    - shard-iclb:         [PASS][16] -> [FAIL][17] ([i915#413])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb2/igt@i915_pm_rps@reset.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb2/igt@i915_pm_rps@reset.html

  * igt@kms_big_fb@linear-64bpp-rotate-180:
    - shard-iclb:         [PASS][18] -> [SKIP][19] ([i915#1140]) +1 similar issue
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb5/igt@kms_big_fb@linear-64bpp-rotate-180.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb6/igt@kms_big_fb@linear-64bpp-rotate-180.html

  * igt@kms_cursor_legacy@pipe-a-forked-bo:
    - shard-glk:          [PASS][20] -> [DMESG-WARN][21] ([i915#118] / [i915#95])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-glk3/igt@kms_cursor_legacy@pipe-a-forked-bo.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-glk6/igt@kms_cursor_legacy@pipe-a-forked-bo.html

  * igt@kms_flip@2x-flip-vs-expired-vblank:
    - shard-glk:          [PASS][22] -> [FAIL][23] ([i915#46])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-glk3/igt@kms_flip@2x-flip-vs-expired-vblank.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-kbl:          [PASS][24] -> [FAIL][25] ([i915#79])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-kbl1/igt@kms_flip@flip-vs-expired-vblank.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-kbl4/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
    - shard-kbl:          [PASS][26] -> [DMESG-WARN][27] ([i915#180]) +4 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-kbl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [PASS][28] -> [SKIP][29] ([fdo#109441]) +1 similar issue
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb7/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_setmode@basic:
    - shard-hsw:          [PASS][30] -> [FAIL][31] ([i915#31])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-hsw7/igt@kms_setmode@basic.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-hsw8/igt@kms_setmode@basic.html

  * igt@perf_pmu@cpu-hotplug:
    - shard-hsw:          [PASS][32] -> [INCOMPLETE][33] ([i915#61])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-hsw8/igt@perf_pmu@cpu-hotplug.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-hsw4/igt@perf_pmu@cpu-hotplug.html

  
#### Possible fixes ####

  * igt@gem_exec_schedule@fifo-bsd:
    - shard-iclb:         [SKIP][34] ([fdo#112146]) -> [PASS][35] +3 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb2/igt@gem_exec_schedule@fifo-bsd.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb6/igt@gem_exec_schedule@fifo-bsd.html

  * igt@gem_exec_schedule@fifo-bsd1:
    - shard-iclb:         [SKIP][36] ([fdo#109276]) -> [PASS][37] +13 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb7/igt@gem_exec_schedule@fifo-bsd1.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb4/igt@gem_exec_schedule@fifo-bsd1.html

  * igt@gem_exec_schedule@pi-common-bsd:
    - shard-iclb:         [SKIP][38] ([i915#677]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb1/igt@gem_exec_schedule@pi-common-bsd.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb8/igt@gem_exec_schedule@pi-common-bsd.html

  * igt@gem_exec_store@pages-vcs1:
    - shard-iclb:         [SKIP][40] ([fdo#112080]) -> [PASS][41] +8 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb7/igt@gem_exec_store@pages-vcs1.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb2/igt@gem_exec_store@pages-vcs1.html

  * igt@gem_partial_pwrite_pread@reads-snoop:
    - shard-hsw:          [FAIL][42] ([i915#694]) -> [PASS][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-hsw7/igt@gem_partial_pwrite_pread@reads-snoop.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-hsw5/igt@gem_partial_pwrite_pread@reads-snoop.html

  * igt@i915_suspend@forcewake:
    - shard-kbl:          [DMESG-WARN][44] ([i915#180]) -> [PASS][45] +3 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-kbl1/igt@i915_suspend@forcewake.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-kbl3/igt@i915_suspend@forcewake.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-iclb:         [SKIP][46] ([i915#1140]) -> [PASS][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb8/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb5/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_cursor_crc@pipe-c-cursor-256x85-onscreen:
    - shard-apl:          [FAIL][48] ([i915#54]) -> [PASS][49]
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-apl4/igt@kms_cursor_crc@pipe-c-cursor-256x85-onscreen.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-apl8/igt@kms_cursor_crc@pipe-c-cursor-256x85-onscreen.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          [FAIL][50] ([i915#72]) -> [PASS][51]
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-glk7/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled:
    - shard-snb:          [DMESG-WARN][52] ([i915#478]) -> [PASS][53]
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-snb6/igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-snb6/igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          [FAIL][54] ([i915#79]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-glk5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [DMESG-WARN][56] ([i915#180]) -> [PASS][57] +1 similar issue
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-iclb:         [INCOMPLETE][58] -> [PASS][59]
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [SKIP][60] ([fdo#109642] / [fdo#111068]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb5/igt@kms_psr2_su@page_flip.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [SKIP][62] ([fdo#109441]) -> [PASS][63] +1 similar issue
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][64] ([i915#31]) -> [PASS][65]
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-apl2/igt@kms_setmode@basic.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-apl6/igt@kms_setmode@basic.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [INCOMPLETE][66] ([fdo#103665]) -> [PASS][67]
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-kbl2/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-kbl6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@perf@gen12-mi-rpc:
    - shard-tglb:         [TIMEOUT][68] ([fdo#112271] / [i915#1085] / [i915#472]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-tglb5/igt@perf@gen12-mi-rpc.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-tglb7/igt@perf@gen12-mi-rpc.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv-switch:
    - shard-iclb:         [SKIP][70] ([fdo#112080]) -> [FAIL][71] ([IGT#28])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb3/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html

  * igt@gem_tiled_blits@interruptible:
    - shard-hsw:          [FAIL][72] ([i915#818]) -> [FAIL][73] ([i915#694])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-hsw8/igt@gem_tiled_blits@interruptible.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-hsw1/igt@gem_tiled_blits@interruptible.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-tglb:         [FAIL][74] ([i915#454]) -> [SKIP][75] ([i915#468])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-tglb1/igt@i915_pm_dc@dc6-dpms.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-tglb2/igt@i915_pm_dc@dc6-dpms.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][76] ([fdo#109349]) -> [DMESG-WARN][77] ([fdo#107724])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5414/shard-iclb5/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  
  [CI#80]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/80
  [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
  [i915#1085]: https://gitlab.freedesktop.org/drm/intel/issues/1085
  [i915#1140]: https://gitlab.freedesktop.org/drm/intel/issues/1140
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
  [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#46]: https://gitlab.freedesktop.org/drm/intel/issues/46
  [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
  [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472
  [i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61
  [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694
  [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#818]: https://gitlab.freedesktop.org/drm/intel/issues/818
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


Participating hosts (8 -> 8)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_5414 -> IGTPW_4079

  CI-20190529: 20190529
  CI_DRM_7859: b7b84e9f2d009d833774aa851d2dd3f78ba6a8c5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4079: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/index.html
  IGT_5414: afd48dacf43b2a4f93337af3dcab5228ffd3acad @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4079/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-02-05 22:58 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-02 18:56 [igt-dev] [PATCH i-g-t] lib: Kill residual children at the end of a subtest Chris Wilson
2020-02-02 19:28 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2020-02-03 11:13 ` [igt-dev] [PATCH i-g-t] " Petri Latvala
2020-02-03 11:21   ` Chris Wilson
2020-02-03 11:50     ` Petri Latvala
2020-02-03 11:54       ` Chris Wilson
2020-02-03 12:01         ` Petri Latvala
2020-02-03 12:03           ` Chris Wilson
2020-02-03 12:00       ` Chris Wilson
2020-02-03 12:23         ` Petri Latvala
2020-02-03 12:25           ` Chris Wilson
2020-02-03 13:03 ` [igt-dev] [PATCH i-g-t v2] " Chris Wilson
2020-02-03 13:11 ` [igt-dev] [PATCH i-g-t v3] " Chris Wilson
2020-02-03 14:36 ` [igt-dev] ✓ Fi.CI.BAT: success for lib: Kill residual children at the end of a subtest (rev3) Patchwork
2020-02-05 22:58 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.