public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling
@ 2019-02-13 10:35 Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 2/9] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

Spotted by Chris.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/tests/igt_assert.c     |  9 +++------
 lib/tests/igt_segfault.c   |  8 ++++----
 lib/tests/igt_simulation.c | 39 +++++++++++++++++++++++---------------
 3 files changed, 31 insertions(+), 25 deletions(-)

diff --git a/lib/tests/igt_assert.c b/lib/tests/igt_assert.c
index 306b1fb8533c..0082fda14851 100644
--- a/lib/tests/igt_assert.c
+++ b/lib/tests/igt_assert.c
@@ -79,10 +79,7 @@ static int do_fork(void)
 		       errno == EINTR)
 			;
 
-		if(WIFSIGNALED(status))
-			return WTERMSIG(status) + 128;
-
-		return WEXITSTATUS(status);
+		return status;
 	}
 }
 
@@ -161,7 +158,7 @@ igt_main
 	test_to_run = test_cmpint_negative;
 	ret = do_fork();
 	igt_subtest("igt_cmpint_negative")
-		internal_assert(ret == IGT_EXIT_FAILURE);
+		internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE);
 
 	igt_subtest("igt_assert_fd")
 		test_fd();
@@ -169,5 +166,5 @@ igt_main
 	test_to_run = test_fd_negative;
 	ret = do_fork();
 	igt_subtest("igt_assert_fd_negative")
-		internal_assert(ret == IGT_EXIT_FAILURE);
+		internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE);
 }
diff --git a/lib/tests/igt_segfault.c b/lib/tests/igt_segfault.c
index d07677dad0cb..86fee5354d67 100644
--- a/lib/tests/igt_segfault.c
+++ b/lib/tests/igt_segfault.c
@@ -116,20 +116,20 @@ int main(int argc, char **argv)
 	runc=false;
 	igt_info("Simple test.\n");
 	fflush(stdout);
-	internal_assert(do_fork() == SIGSEGV + 128);
+	internal_assert(WTERMSIG(do_fork()) == SIGSEGV);
 
 	/* Test crash in a single subtest is reported */
 	simple = false;
 	igt_info("Single subtest.\n");
 	fflush(stdout);
-	internal_assert(do_fork() == SIGSEGV + 128);
+	internal_assert(WTERMSIG(do_fork()) == SIGSEGV);
 
 	/* Test crash in a subtest following a pass is reported */
 	simple = false;
 	runa=true;
 	igt_info("Passing then crashing subtest.\n");
 	fflush(stdout);
-	internal_assert(do_fork() == SIGSEGV + 128);
+	internal_assert(WTERMSIG(do_fork()) == SIGSEGV);
 
 	/* Test crash in a subtest preceeding a pass is reported */
 	simple = false;
@@ -137,7 +137,7 @@ int main(int argc, char **argv)
 	runc=true;
 	igt_info("Crashing then passing subtest.\n");
 	fflush(stdout);
-	internal_assert(do_fork() == SIGSEGV + 128);
+	internal_assert(WTERMSIG(do_fork()) == SIGSEGV);
 
 	return 0;
 }
diff --git a/lib/tests/igt_simulation.c b/lib/tests/igt_simulation.c
index 32830ba7dde8..2efccac4e390 100644
--- a/lib/tests/igt_simulation.c
+++ b/lib/tests/igt_simulation.c
@@ -99,7 +99,7 @@ static int do_fork(void)
 
 		internal_assert(WIFEXITED(status));
 
-		return WEXITSTATUS(status);
+		return status;
 	}
 }
 
@@ -108,10 +108,10 @@ int main(int argc, char **argv)
 	/* simple tests */
 	simple = true;
 	internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SKIP);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SKIP);
 
 	internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
 
 	/* subtests, list mode */
 	simple = false;
@@ -119,25 +119,29 @@ int main(int argc, char **argv)
 
 	in_fixture = false;
 	internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
 
 	internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
 
 	in_fixture = true;
 	internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
+
 
 	internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
+
 
 	in_fixture = false;
 	in_subtest = true;
 	internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
+
 
 	internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
+
 
 	/* subtest, run mode */
 	simple = false;
@@ -145,25 +149,30 @@ int main(int argc, char **argv)
 
 	in_fixture = false;
 	internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SKIP);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SKIP);
 
 	internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
+
 
 	in_fixture = true;
 	internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SKIP);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SKIP);
+
 
 	internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
+
 
 	in_fixture = false;
 	in_subtest = true;
 	internal_assert(setenv("INTEL_SIMULATION", "1", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SKIP);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SKIP);
+
 
 	internal_assert(setenv("INTEL_SIMULATION", "0", 1) == 0);
-	internal_assert(do_fork() == IGT_EXIT_SUCCESS);
+	internal_assert(WEXITSTATUS(do_fork()) == IGT_EXIT_SUCCESS);
+
 
 	return 0;
 }
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 2/9] lib/tests: Check that igt_assert forwards correctly through igt_fork
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
@ 2019-02-13 10:35 ` Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 3/9] lib/tests: make sure igt_skip in igt_fork is forbidden Daniel Vetter
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

Note that without the igt_waitchildren nothing at all gets forwarded,
maybe we should check for left-behind children somewhere on subtest
exit.

v2: Drop NIH exit status handling (Chris).

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/tests/igt_fork.c  | 84 +++++++++++++++++++++++++++++++++++++++++++
 lib/tests/meson.build |  1 +
 2 files changed, 85 insertions(+)
 create mode 100644 lib/tests/igt_fork.c

diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
new file mode 100644
index 000000000000..8d3c1bd02288
--- /dev/null
+++ b/lib/tests/igt_fork.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright © 2019 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#include <assert.h>
+#include <errno.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include "igt_core.h"
+
+/*
+ * We need to hide assert from the cocci igt test refactor spatch.
+ *
+ * IMPORTANT: Test infrastructure tests are the only valid places where using
+ * assert is allowed.
+ */
+#define internal_assert assert
+
+char test[] = "test";
+char *argv_run[] = { test };
+
+static void igt_fork_vs_assert(void)
+{
+	igt_fork(i, 1) {
+		igt_assert(0);
+	}
+
+	igt_waitchildren();
+}
+
+static int do_fork(void (*test_to_run)(void))
+{
+	int pid, status;
+	int argc;
+
+	switch (pid = fork()) {
+	case -1:
+		internal_assert(0);
+	case 0:
+		argc = 1;
+		igt_simple_init(argc, argv_run);
+		test_to_run();
+		igt_exit();
+	default:
+		while (waitpid(pid, &status, 0) == -1 &&
+		       errno == EINTR)
+			;
+
+		return status;
+	}
+}
+
+
+int main(int argc, char **argv)
+{
+	int ret;
+
+	ret = do_fork(igt_fork_vs_assert);
+	internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE);
+}
diff --git a/lib/tests/meson.build b/lib/tests/meson.build
index 55ab2b3d2dff..665ad4a0fbcc 100644
--- a/lib/tests/meson.build
+++ b/lib/tests/meson.build
@@ -1,5 +1,6 @@
 lib_tests = [
 	'igt_fork_helper',
+	'igt_fork',
 	'igt_list_only',
 	'igt_simulation',
 	'igt_stats',
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 3/9] lib/tests: make sure igt_skip in igt_fork is forbidden
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 2/9] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
@ 2019-02-13 10:35 ` Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 4/9] lib: Don't leak children in igt_waitchildren_timeout Daniel Vetter
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

Another corner case to check.

v2: Rebase. Note that we still have the SIG + 128 exit code, that's
how igt_waitchildren forwards child death to the parent's exit code.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/tests/igt_fork.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index 8d3c1bd02288..6769e84a6989 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -43,6 +43,15 @@
 char test[] = "test";
 char *argv_run[] = { test };
 
+static void igt_fork_vs_skip(void)
+{
+	igt_fork(i, 1) {
+		igt_skip("skipping");
+	}
+
+	igt_waitchildren();
+}
+
 static void igt_fork_vs_assert(void)
 {
 	igt_fork(i, 1) {
@@ -79,6 +88,11 @@ int main(int argc, char **argv)
 {
 	int ret;
 
+	/* check that igt_assert is forwarded */
 	ret = do_fork(igt_fork_vs_assert);
 	internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE);
+
+	/* check that igt_skip within a fork blows up */
+	ret = do_fork(igt_fork_vs_skip);
+	internal_assert(WEXITSTATUS(ret) == SIGABRT + 128);
 }
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 4/9] lib: Don't leak children in igt_waitchildren_timeout
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 2/9] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 3/9] lib/tests: make sure igt_skip in igt_fork is forbidden Daniel Vetter
@ 2019-02-13 10:35 ` Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 5/9] tests/gem_exec_reuse: Don't leak the hang detector Daniel Vetter
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

Instead of cleaning up the mess in igt_exit make sure we don't even
let it out of the container. See also

commit 754876378d6c9b2775e8c07b4d16f9878c55949f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Feb 26 22:11:10 2016 +0000

    igt/gem_sync: Enforce a timeout of 20s

which added this helper.

To make sure that everyone follows the rules, add an assert.

We're keeping the cleanup code as a failsafe, and because it speeds
up the testcase I'm following up with.

v2: Chris pointed out that my original patch did nothing. Which I
didn't catch because my testcase was also broken. Unfortunately this
means we need to open code part of the waiting.

v3: The 2nd __igt_waitchildren() isn't necessary, __igt_waitchildren
recovers from EINTR already and keeps waiting (Chris Wilson).

v4: Change the timeout signal vs waitchildren logic to be race-free
(Chris).  This changes the exit code for a timeout from
IGT_EXIT_FAILURE to SIGKILL + 128.

v5: Clarify the docs (Chris).

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/igt_core.c | 31 ++++++++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 5 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index cbbe79f88070..607b34cd0a25 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1525,6 +1525,7 @@ void igt_exit(void)
 
 	for (int c = 0; c < num_test_children; c++)
 		kill(test_children[c], SIGKILL);
+	assert(!num_test_children);
 
 	if (!test_with_subtests) {
 		struct timespec now;
@@ -1832,20 +1833,40 @@ void igt_waitchildren(void)
 		igt_fail(err);
 }
 
+static void igt_alarm_killchildren(int signal)
+{
+	igt_info("Timed out waiting for children\n");
+
+	for (int c = 0; c < num_test_children; c++)
+		kill(test_children[c], SIGKILL);
+}
+
 /**
  * igt_waitchildren_timeout:
  * @seconds: timeout in seconds to wait
  * @reason: debug string explaining what timedout
  *
- * Wait for all children forked with igt_fork, for a maximum of @seconds.
- *
- * Wraps igt_waitchildren() and igt_set_timeout()
+ * Wait for all children forked with igt_fork, for a maximum of @seconds. If the
+ * timeout expires, kills all children, cleans them up, and then fails by
+ * calling igt_fail().
  */
 void igt_waitchildren_timeout(int seconds, const char *reason)
 {
-	igt_set_timeout(seconds, reason);
-	igt_waitchildren();
+	struct sigaction sa;
+	int ret;
+
+	sa.sa_handler = igt_alarm_killchildren;
+	sigemptyset(&sa.sa_mask);
+	sa.sa_flags = 0;
+
+	sigaction(SIGALRM, &sa, NULL);
+
+	alarm(seconds);
+
+	ret = __igt_waitchildren();
 	igt_reset_timeout();
+	if (ret)
+		igt_fail(ret);
 }
 
 /* exit handler code */
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 5/9] tests/gem_exec_reuse: Don't leak the hang detector
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (2 preceding siblings ...)
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 4/9] lib: Don't leak children in igt_waitchildren_timeout Daniel Vetter
@ 2019-02-13 10:35 ` Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 6/9] tests/i915_missed_irq: Don't leave the hang detector hanging Daniel Vetter
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

My new "are there any child processes left?" check in igt_exit catched
this one.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 tests/i915/gem_exec_reuse.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/i915/gem_exec_reuse.c b/tests/i915/gem_exec_reuse.c
index df220be7bab8..559047188fbd 100644
--- a/tests/i915/gem_exec_reuse.c
+++ b/tests/i915/gem_exec_reuse.c
@@ -213,4 +213,7 @@ igt_main
 		for (n = 0; n < ncontexts; n++)
 			gem_context_destroy(no.fd, contexts[n]);
 	}
+
+	igt_fixture
+		igt_stop_hang_detector();
 }
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 6/9] tests/i915_missed_irq: Don't leave the hang detector hanging
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (3 preceding siblings ...)
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 5/9] tests/gem_exec_reuse: Don't leak the hang detector Daniel Vetter
@ 2019-02-13 10:35 ` Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 7/9] lib: Make sure we leak no child processes Daniel Vetter
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

Spotted by my new "are there any child processes left?" check in
igt_exit - we need to put all the igt_require before we start any real
test logic.

v2: Rebase.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/tests/igt_fork.c    | 24 ++++++++++++++++++++++++
 tests/i915/missed_irq.c |  4 ++--
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index 6769e84a6989..1c10a8014e7c 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -61,6 +61,22 @@ static void igt_fork_vs_assert(void)
 	igt_waitchildren();
 }
 
+static void igt_fork_leak(void)
+{
+	igt_fork(i, 1) {
+		sleep(10);
+	}
+}
+
+static void igt_fork_timeout_leak(void)
+{
+	igt_fork(i, 1) {
+		sleep(10);
+	}
+
+	igt_waitchildren_timeout(1, "library test");
+}
+
 static int do_fork(void (*test_to_run)(void))
 {
 	int pid, status;
@@ -95,4 +111,12 @@ int main(int argc, char **argv)
 	/* check that igt_skip within a fork blows up */
 	ret = do_fork(igt_fork_vs_skip);
 	internal_assert(WEXITSTATUS(ret) == SIGABRT + 128);
+
+	/* check that failure to clean up fails */
+	ret = do_fork(igt_fork_leak);
+	internal_assert(WTERMSIG(ret) == SIGABRT);
+
+	/* check that igt_waitchildren_timeout cleans up*/
+	ret = do_fork(igt_fork_timeout_leak);
+	internal_assert(WEXITSTATUS(ret) == SIGKILL + 128);
 }
diff --git a/tests/i915/missed_irq.c b/tests/i915/missed_irq.c
index cade3f371401..302da0e8d071 100644
--- a/tests/i915/missed_irq.c
+++ b/tests/i915/missed_irq.c
@@ -108,13 +108,13 @@ igt_simple_main
 	igt_require_gem(device);
 	igt_skip_on(gem_has_guc_submission(device)); /* irq forced for guc */
 	gem_require_mmap_wc(device);
-	igt_fork_hang_detector(device);
-
 	debugfs = igt_debugfs_dir(device);
 
 	expect_rings = engine_mask(debugfs);
 	igt_require(expect_rings);
 
+	igt_fork_hang_detector(device);
+
 	igt_debug("Clearing rings %x\n", expect_rings);
 	intel_detect_and_clear_missed_interrupts(device);
 	for (e = intel_execution_engines; e->name; e++) {
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 7/9] lib: Make sure we leak no child processes
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (4 preceding siblings ...)
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 6/9] tests/i915_missed_irq: Don't leave the hang detector hanging Daniel Vetter
@ 2019-02-13 10:35 ` Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 8/9] lib: Drop igt_child_done Daniel Vetter
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

There's a lot more ways to leak children than igt_fork, some even
handrolled. So check for that. Also have a nice littel testcase for
that too.

v2: Don't hang if there's a leaked child process (Chris). Has the
added benefit that my library unit test also gets faster!

v3: Rebase.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/igt_core.c       |  4 ++++
 lib/tests/igt_fork.c | 18 ++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 607b34cd0a25..425b96ff15b4 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1492,6 +1492,8 @@ void __igt_fail_assert(const char *domain, const char *file, const int line,
  */
 void igt_exit(void)
 {
+	int tmp;
+
 	igt_exit_called = true;
 
 	if (igt_key_file)
@@ -1527,6 +1529,8 @@ void igt_exit(void)
 		kill(test_children[c], SIGKILL);
 	assert(!num_test_children);
 
+	assert(waitpid(-1, &tmp, WNOHANG) == -1 && errno == ECHILD);
+
 	if (!test_with_subtests) {
 		struct timespec now;
 		const char *result;
diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index 1c10a8014e7c..fa5bb7701c09 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -68,6 +68,20 @@ static void igt_fork_leak(void)
 	}
 }
 
+static void plain_fork_leak(void)
+{
+	int pid;
+
+	switch (pid = fork()) {
+	case -1:
+		internal_assert(0);
+	case 0:
+		sleep(1);
+	default:
+		exit(0);
+	}
+}
+
 static void igt_fork_timeout_leak(void)
 {
 	igt_fork(i, 1) {
@@ -119,4 +133,8 @@ int main(int argc, char **argv)
 	/* check that igt_waitchildren_timeout cleans up*/
 	ret = do_fork(igt_fork_timeout_leak);
 	internal_assert(WEXITSTATUS(ret) == SIGKILL + 128);
+
+	/* check that any other process leaks are caught*/
+	ret = do_fork(plain_fork_leak);
+	internal_assert(WTERMSIG(ret) == SIGABRT);
 }
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 8/9] lib: Drop igt_child_done
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (5 preceding siblings ...)
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 7/9] lib: Make sure we leak no child processes Daniel Vetter
@ 2019-02-13 10:35 ` Daniel Vetter
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 9/9] lib: Drop IGT_EXIT_TIMEOUT Daniel Vetter
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter, Tvrtko Ursulin

Added in

commit 054eb1abecd1cce2e4ee0516f3ff8a67a35dca22
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Thu Mar 30 14:32:29 2017 +0100

    benchmarks/gem_wsim: Command submission workload simulator

but since then the only user was lost.

Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/igt_core.c | 26 --------------------------
 lib/igt_core.h |  1 -
 2 files changed, 27 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 425b96ff15b4..b59bb81eef05 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1742,32 +1742,6 @@ bool __igt_fork(void)
 
 }
 
-/**
- * igt_child_done:
- *
- * Lets the IGT core know that one of the children has exited.
- */
-void igt_child_done(pid_t pid)
-{
-	int i = 0;
-	int found = -1;
-
-	igt_assert(num_test_children > 1);
-
-	for (i = 0; i < num_test_children; i++) {
-		if (pid == test_children[i]) {
-			found = i;
-			break;
-		}
-	}
-
-	igt_assert(found >= 0);
-
-	num_test_children--;
-	for (i = found; i < num_test_children; i++)
-		test_children[i] = test_children[i + 1];
-}
-
 int __igt_waitchildren(void)
 {
 	int err = 0;
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 0d02c90beec1..46bc935a428c 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -775,7 +775,6 @@ bool __igt_fork(void);
 #define igt_fork(child, num_children) \
 	for (int child = 0; child < (num_children); child++) \
 		for (; __igt_fork(); exit(0))
-void igt_child_done(pid_t pid);
 int __igt_waitchildren(void);
 void igt_waitchildren(void);
 void igt_waitchildren_timeout(int seconds, const char *reason);
-- 
2.20.1

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

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

* [igt-dev] [PATCH i-g-t 9/9] lib: Drop IGT_EXIT_TIMEOUT
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (6 preceding siblings ...)
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 8/9] lib: Drop igt_child_done Daniel Vetter
@ 2019-02-13 10:35 ` Daniel Vetter
  2019-02-13 10:49 ` [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Chris Wilson
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 10:35 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

We use the timeout status for when the runner had to kill a testcase,
which indicates a more sever issue than an operation failing that we
expected to complete within seconds.

Since it's unused, drop it.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 docs/reference/igt-gpu-tools/igt_test_programs.xml | 5 -----
 lib/igt_core.c                                     | 8 +-------
 lib/igt_core.h                                     | 7 -------
 runner/resultgen.c                                 | 3 ---
 4 files changed, 1 insertion(+), 22 deletions(-)

diff --git a/docs/reference/igt-gpu-tools/igt_test_programs.xml b/docs/reference/igt-gpu-tools/igt_test_programs.xml
index 2487da79588b..b64ba474a5f7 100644
--- a/docs/reference/igt-gpu-tools/igt_test_programs.xml
+++ b/docs/reference/igt-gpu-tools/igt_test_programs.xml
@@ -81,11 +81,6 @@
               <entry>77</entry>
               <entry>The test was skipped</entry>
             </row>
-            <row>
-              <entry>#IGT_EXIT_TIMEOUT</entry>
-              <entry>78</entry>
-              <entry>The test took longer than expected and was stopped</entry>
-            </row>
             <row>
               <entry>#IGT_EXIT_INVALID</entry>
               <entry>79</entry>
diff --git a/lib/igt_core.c b/lib/igt_core.c
index b59bb81eef05..71b05d3bbd3b 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1135,10 +1135,7 @@ void igt_fail(int exitcode)
 	_igt_log_buffer_dump();
 
 	if (in_subtest) {
-		if (exitcode == IGT_EXIT_TIMEOUT)
-			exit_subtest("TIMEOUT");
-		else
-			exit_subtest("FAIL");
+		exit_subtest("FAIL");
 	} else {
 		assert(igt_can_fail());
 
@@ -1541,9 +1538,6 @@ void igt_exit(void)
 			case IGT_EXIT_SUCCESS:
 				result = "SUCCESS";
 				break;
-			case IGT_EXIT_TIMEOUT:
-				result = "TIMEOUT";
-				break;
 			case IGT_EXIT_SKIP:
 				result = "SKIP";
 				break;
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 46bc935a428c..47ffd9e77308 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -93,13 +93,6 @@ extern char *igt_frame_dump_path;
  */
 #define IGT_TEST_DESCRIPTION(str) const char* __igt_test_description = str
 
-/**
- * IGT_EXIT_TIMEOUT:
- *
- * Exit status indicating a timeout occurred.
- */
-#define IGT_EXIT_TIMEOUT 78
-
 /**
  * IGT_EXIT_SKIP:
  *
diff --git a/runner/resultgen.c b/runner/resultgen.c
index be884955e86c..32b59d59aad2 100644
--- a/runner/resultgen.c
+++ b/runner/resultgen.c
@@ -18,7 +18,6 @@
 
 #define INCOMPLETE_EXITCODE -1
 
-_Static_assert(INCOMPLETE_EXITCODE != IGT_EXIT_TIMEOUT, "exit code clash");
 _Static_assert(INCOMPLETE_EXITCODE != IGT_EXIT_SKIP, "exit code clash");
 _Static_assert(INCOMPLETE_EXITCODE != IGT_EXIT_SUCCESS, "exit code clash");
 _Static_assert(INCOMPLETE_EXITCODE != IGT_EXIT_INVALID, "exit code clash");
@@ -731,8 +730,6 @@ static bool fill_from_dmesg(int fd,
 static const char *result_from_exitcode(int exitcode)
 {
 	switch (exitcode) {
-	case IGT_EXIT_TIMEOUT:
-		return "timeout";
 	case IGT_EXIT_SKIP:
 		return "skip";
 	case IGT_EXIT_SUCCESS:
-- 
2.20.1

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

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

* Re: [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (7 preceding siblings ...)
  2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 9/9] lib: Drop IGT_EXIT_TIMEOUT Daniel Vetter
@ 2019-02-13 10:49 ` Chris Wilson
  2019-02-13 10:51   ` Chris Wilson
  2019-02-13 13:13   ` Daniel Vetter
  2019-02-14  9:53 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev2) Patchwork
                   ` (3 subsequent siblings)
  12 siblings, 2 replies; 17+ messages in thread
From: Chris Wilson @ 2019-02-13 10:49 UTC (permalink / raw)
  To: Daniel Vetter, IGT development; +Cc: Daniel Vetter

Quoting Daniel Vetter (2019-02-13 10:35:43)
> Spotted by Chris.
> 
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  lib/tests/igt_assert.c     |  9 +++------
>  lib/tests/igt_segfault.c   |  8 ++++----
>  lib/tests/igt_simulation.c | 39 +++++++++++++++++++++++---------------
>  3 files changed, 31 insertions(+), 25 deletions(-)
> 
> diff --git a/lib/tests/igt_assert.c b/lib/tests/igt_assert.c
> index 306b1fb8533c..0082fda14851 100644
> --- a/lib/tests/igt_assert.c
> +++ b/lib/tests/igt_assert.c
> @@ -79,10 +79,7 @@ static int do_fork(void)
>                        errno == EINTR)
>                         ;
>  
> -               if(WIFSIGNALED(status))
> -                       return WTERMSIG(status) + 128;
> -
> -               return WEXITSTATUS(status);
> +               return status;
>         }
>  }
>  
> @@ -161,7 +158,7 @@ igt_main
>         test_to_run = test_cmpint_negative;
>         ret = do_fork();
>         igt_subtest("igt_cmpint_negative")
> -               internal_assert(ret == IGT_EXIT_FAILURE);
> +               internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE);

I don't think we can get away with plain WEXITSTATUS/WTERMSIG as they
are simple shifts and masks.

I think we need

bool wexited(int status, int exitcode)
{
	return WIFEXITED(status) && WEXITSTATUS(status) == exitcode;
}

bool wsignaled(int status, int sig)
{
	return WIFSIGNALED(status) && WTERMSIG(status) == sig;
}

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

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

* Re: [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling
  2019-02-13 10:49 ` [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Chris Wilson
@ 2019-02-13 10:51   ` Chris Wilson
  2019-02-13 13:13   ` Daniel Vetter
  1 sibling, 0 replies; 17+ messages in thread
From: Chris Wilson @ 2019-02-13 10:51 UTC (permalink / raw)
  To: Daniel Vetter, IGT development; +Cc: Daniel Vetter

Quoting Chris Wilson (2019-02-13 10:49:42)
> Quoting Daniel Vetter (2019-02-13 10:35:43)
> > Spotted by Chris.
> > 
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  lib/tests/igt_assert.c     |  9 +++------
> >  lib/tests/igt_segfault.c   |  8 ++++----
> >  lib/tests/igt_simulation.c | 39 +++++++++++++++++++++++---------------
> >  3 files changed, 31 insertions(+), 25 deletions(-)
> > 
> > diff --git a/lib/tests/igt_assert.c b/lib/tests/igt_assert.c
> > index 306b1fb8533c..0082fda14851 100644
> > --- a/lib/tests/igt_assert.c
> > +++ b/lib/tests/igt_assert.c
> > @@ -79,10 +79,7 @@ static int do_fork(void)
> >                        errno == EINTR)
> >                         ;
> >  
> > -               if(WIFSIGNALED(status))
> > -                       return WTERMSIG(status) + 128;
> > -
> > -               return WEXITSTATUS(status);
> > +               return status;
> >         }
> >  }
> >  
> > @@ -161,7 +158,7 @@ igt_main
> >         test_to_run = test_cmpint_negative;
> >         ret = do_fork();
> >         igt_subtest("igt_cmpint_negative")
> > -               internal_assert(ret == IGT_EXIT_FAILURE);
> > +               internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE);
> 
> I don't think we can get away with plain WEXITSTATUS/WTERMSIG as they
> are simple shifts and masks.
> 
> I think we need
> 
> bool wexited(int status, int exitcode)
> {
>         return WIFEXITED(status) && WEXITSTATUS(status) == exitcode;
> }
> 
> bool wsignaled(int status, int sig)
> {
>         return WIFSIGNALED(status) && WTERMSIG(status) == sig;
> }

I think it's worthwhile to follow through on that change, but the series
looks good
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling
  2019-02-13 10:49 ` [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Chris Wilson
  2019-02-13 10:51   ` Chris Wilson
@ 2019-02-13 13:13   ` Daniel Vetter
  1 sibling, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-13 13:13 UTC (permalink / raw)
  To: Chris Wilson; +Cc: IGT development, Daniel Vetter

On Wed, Feb 13, 2019 at 11:49 AM Chris Wilson <chris@chris-wilson.co.uk> wrote:
>
> Quoting Daniel Vetter (2019-02-13 10:35:43)
> > Spotted by Chris.
> >
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  lib/tests/igt_assert.c     |  9 +++------
> >  lib/tests/igt_segfault.c   |  8 ++++----
> >  lib/tests/igt_simulation.c | 39 +++++++++++++++++++++++---------------
> >  3 files changed, 31 insertions(+), 25 deletions(-)
> >
> > diff --git a/lib/tests/igt_assert.c b/lib/tests/igt_assert.c
> > index 306b1fb8533c..0082fda14851 100644
> > --- a/lib/tests/igt_assert.c
> > +++ b/lib/tests/igt_assert.c
> > @@ -79,10 +79,7 @@ static int do_fork(void)
> >                        errno == EINTR)
> >                         ;
> >
> > -               if(WIFSIGNALED(status))
> > -                       return WTERMSIG(status) + 128;
> > -
> > -               return WEXITSTATUS(status);
> > +               return status;
> >         }
> >  }
> >
> > @@ -161,7 +158,7 @@ igt_main
> >         test_to_run = test_cmpint_negative;
> >         ret = do_fork();
> >         igt_subtest("igt_cmpint_negative")
> > -               internal_assert(ret == IGT_EXIT_FAILURE);
> > +               internal_assert(WEXITSTATUS(ret) == IGT_EXIT_FAILURE);
>
> I don't think we can get away with plain WEXITSTATUS/WTERMSIG as they
> are simple shifts and masks.
>
> I think we need
>
> bool wexited(int status, int exitcode)
> {
>         return WIFEXITED(status) && WEXITSTATUS(status) == exitcode;
> }
>
> bool wsignaled(int status, int sig)
> {
>         return WIFSIGNALED(status) && WTERMSIG(status) == sig;
> }

Yeah we're essentially relying on all the signals/exit codes to be
non-zero. I figured that's kinda ok to rely on for test code, but yeah
it's not great. I guess eventually we'll need a header with a few
convenient things for library testcases (like the internal_assert and
stuff like that).
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev2)
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (8 preceding siblings ...)
  2019-02-13 10:49 ` [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Chris Wilson
@ 2019-02-14  9:53 ` Patchwork
  2019-02-14 15:00 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3) Patchwork
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-02-14  9:53 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev2)
URL   : https://patchwork.freedesktop.org/series/56600/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5599 -> IGTPW_2400
====================================================

Summary
-------

  **FAILURE**

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

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56600/revisions/2/mbox/

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live_workarounds:
    - fi-skl-6600u:       PASS -> INCOMPLETE

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@reload-no-display:
    - fi-kbl-7567u:       PASS -> DMESG-WARN [fdo#103558] / [fdo#105602] +1

  * igt@i915_module_load@reload-with-fault-injection:
    - fi-kbl-7567u:       PASS -> DMESG-WARN [fdo#105602]

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7500u:       NOTRUN -> DMESG-WARN [fdo#102505] / [fdo#103558] / [fdo#105079] / [fdo#105602]

  * igt@kms_flip@basic-flip-vs-modeset:
    - fi-skl-6700hq:      PASS -> DMESG-WARN [fdo#105998]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       PASS -> INCOMPLETE [fdo#107718]

  
#### Possible fixes ####

  * igt@kms_busy@basic-flip-a:
    - fi-gdg-551:         FAIL [fdo#103182] -> PASS

  * igt@kms_chamelium@dp-crc-fast:
    - fi-kbl-7500u:       DMESG-FAIL [fdo#109627] -> PASS

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     FAIL [fdo#103191] / [fdo#107362] -> PASS +1

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102505]: https://bugs.freedesktop.org/show_bug.cgi?id=102505
  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#105079]: https://bugs.freedesktop.org/show_bug.cgi?id=105079
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109528]: https://bugs.freedesktop.org/show_bug.cgi?id=109528
  [fdo#109530]: https://bugs.freedesktop.org/show_bug.cgi?id=109530
  [fdo#109627]: https://bugs.freedesktop.org/show_bug.cgi?id=109627


Participating hosts (43 -> 45)
------------------------------

  Additional (7): fi-skl-6260u fi-whl-u fi-ivb-3770 fi-icl-y fi-kbl-7560u fi-bsw-kefka fi-snb-2600 
  Missing    (5): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-bdw-samus 


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

    * IGT: IGT_4824 -> IGTPW_2400

  CI_DRM_5599: 39119c9b385742d49446c25d6902864a60eda6b6 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2400: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2400/
  IGT_4824: e55d439a9ba744227fb4c9d727338276b78871d4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3)
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (9 preceding siblings ...)
  2019-02-14  9:53 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev2) Patchwork
@ 2019-02-14 15:00 ` Patchwork
  2019-02-14 20:13 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2019-02-15 17:53 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev4) Patchwork
  12 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-02-14 15:00 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3)
URL   : https://patchwork.freedesktop.org/series/56600/
State : success

== Summary ==

CI Bug Log - changes from IGT_4827 -> IGTPW_2406
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56600/revisions/3/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_busy@basic-flip-a:
    - fi-gdg-551:         PASS -> FAIL [fdo#103182] +1

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       PASS -> FAIL [fdo#109485]

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-skl-6700hq:      PASS -> DMESG-WARN [fdo#105998]

  * igt@kms_frontbuffer_tracking@basic:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
    - fi-byt-clapper:     PASS -> FAIL [fdo#103191] / [fdo#107362] +1

  
#### Possible fixes ####

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         INCOMPLETE [fdo#103927] -> PASS

  * igt@i915_selftest@live_workarounds:
    - {fi-icl-u3}:        INCOMPLETE [fdo#109626] -> PASS

  * igt@prime_vgem@basic-fence-flip:
    - fi-gdg-551:         FAIL [fdo#103182] -> PASS

  
#### Warnings ####

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7567u:       DMESG-FAIL [fdo#105079] -> DMESG-WARN [fdo#103558] / [fdo#105079] / [fdo#105602]

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#105079]: https://bugs.freedesktop.org/show_bug.cgi?id=105079
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109226]: https://bugs.freedesktop.org/show_bug.cgi?id=109226
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109528]: https://bugs.freedesktop.org/show_bug.cgi?id=109528
  [fdo#109530]: https://bugs.freedesktop.org/show_bug.cgi?id=109530
  [fdo#109626]: https://bugs.freedesktop.org/show_bug.cgi?id=109626


Participating hosts (49 -> 45)
------------------------------

  Additional (1): fi-icl-y 
  Missing    (5): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-bdw-samus 


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

    * IGT: IGT_4827 -> IGTPW_2406

  CI_DRM_5600: 9cf76484ee73dd20bd7b0f086a880f69846c6906 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2406: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2406/
  IGT_4827: 395eaffd7e1390c9d6043c2980dc14ce3e08b154 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3)
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (10 preceding siblings ...)
  2019-02-14 15:00 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3) Patchwork
@ 2019-02-14 20:13 ` Patchwork
  2019-02-15  9:37   ` Daniel Vetter
  2019-02-15 17:53 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev4) Patchwork
  12 siblings, 1 reply; 17+ messages in thread
From: Patchwork @ 2019-02-14 20:13 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3)
URL   : https://patchwork.freedesktop.org/series/56600/
State : failure

== Summary ==

CI Bug Log - changes from IGT_4827_full -> IGTPW_2406_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_2406_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2406_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://patchwork.freedesktop.org/api/1.0/series/56600/revisions/3/mbox/

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:
    - shard-apl:          PASS -> FAIL +2

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_suspend@shrink:
    - shard-snb:          NOTRUN -> DMESG-WARN [fdo#109244]

  * igt@kms_atomic_transition@plane-toggle-modeset-transition:
    - shard-kbl:          NOTRUN -> DMESG-WARN [fdo#103558] / [fdo#105602] +1

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
    - shard-kbl:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
    - shard-snb:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_color@pipe-a-degamma:
    - shard-kbl:          NOTRUN -> FAIL [fdo#104782] / [fdo#108145]

  * igt@kms_concurrent@pipe-b:
    - shard-hsw:          PASS -> DMESG-WARN [fdo#102614]

  * igt@kms_cursor_crc@cursor-256x256-random:
    - shard-kbl:          NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-256x256-suspend:
    - shard-glk:          NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-64x64-suspend:
    - shard-kbl:          PASS -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_cursor_legacy@cursor-vs-flip-legacy:
    - shard-hsw:          PASS -> FAIL [fdo#103355]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
    - shard-apl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-glk:          NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-kbl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
    - shard-glk:          PASS -> FAIL [fdo#103167] +6

  * igt@kms_frontbuffer_tracking@fbc-modesetfrombusy:
    - shard-kbl:          PASS -> DMESG-FAIL [fdo#103167] / [fdo#103558] / [fdo#105602]

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
    - shard-glk:          PASS -> FAIL [fdo#108948]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145] / [fdo#108590]

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-x:
    - shard-glk:          PASS -> FAIL [fdo#103166]

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          PASS -> DMESG-FAIL [fdo#105763]

  * igt@kms_vblank@pipe-b-ts-continuation-modeset:
    - shard-kbl:          PASS -> DMESG-FAIL [fdo#103558] / [fdo#105602]

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-apl:          PASS -> FAIL [fdo#104894]

  * igt@pm_rpm@reg-read-ioctl:
    - shard-kbl:          PASS -> DMESG-WARN [fdo#103558] / [fdo#105602] +18

  
#### Possible fixes ####

  * igt@gem_eio@in-flight-suspend:
    - shard-kbl:          INCOMPLETE [fdo#103665] / [fdo#106702] -> PASS

  * igt@gem_eio@reset-stress:
    - shard-snb:          FAIL [fdo#107799] -> PASS

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-glk:          FAIL [fdo#108145] -> PASS +1

  * igt@kms_cursor_crc@cursor-128x128-onscreen:
    - shard-kbl:          FAIL [fdo#103232] -> PASS +1

  * igt@kms_cursor_crc@cursor-64x21-sliding:
    - shard-apl:          FAIL [fdo#103232] -> PASS +9

  * igt@kms_cursor_crc@cursor-alpha-opaque:
    - shard-apl:          FAIL [fdo#109350] -> PASS
    - shard-glk:          FAIL [fdo#109350] -> PASS

  * igt@kms_cursor_crc@cursor-size-change:
    - shard-glk:          FAIL [fdo#103232] -> PASS

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-glk:          FAIL [fdo#102887] / [fdo#105363] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-1p-rte:
    - shard-glk:          FAIL [fdo#103167] / [fdo#105682] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-glk:          FAIL [fdo#103167] -> PASS +5

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-glk:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
    - shard-glk:          INCOMPLETE [fdo#103359] / [k.org#198133] -> PASS

  * igt@kms_plane@plane-position-covered-pipe-c-planes:
    - shard-kbl:          FAIL [fdo#103166] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-apl:          FAIL [fdo#103166] -> PASS +3

  * igt@kms_setmode@basic:
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@kms_universal_plane@universal-plane-pipe-c-functional:
    - shard-glk:          FAIL [fdo#103166] -> PASS +6

  * igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm:
    - shard-kbl:          FAIL -> PASS

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-apl:          FAIL [fdo#104894] -> PASS

  
#### Warnings ####

  * igt@i915_suspend@shrink:
    - shard-kbl:          DMESG-WARN [fdo#109244] -> INCOMPLETE [fdo#103665] / [fdo#106886]

  * igt@kms_content_protection@legacy:
    - shard-kbl:          FAIL [fdo#108597] -> DMESG-FAIL [fdo#103558] / [fdo#105602]

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105682]: https://bugs.freedesktop.org/show_bug.cgi?id=105682
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106702]: https://bugs.freedesktop.org/show_bug.cgi?id=106702
  [fdo#106886]: https://bugs.freedesktop.org/show_bug.cgi?id=106886
  [fdo#107799]: https://bugs.freedesktop.org/show_bug.cgi?id=107799
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590
  [fdo#108597]: https://bugs.freedesktop.org/show_bug.cgi?id=108597
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#109244]: https://bugs.freedesktop.org/show_bug.cgi?id=109244
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109350]: https://bugs.freedesktop.org/show_bug.cgi?id=109350
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


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

    * IGT: IGT_4827 -> IGTPW_2406

  CI_DRM_5600: 9cf76484ee73dd20bd7b0f086a880f69846c6906 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2406: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2406/
  IGT_4827: 395eaffd7e1390c9d6043c2980dc14ce3e08b154 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3)
  2019-02-14 20:13 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2019-02-15  9:37   ` Daniel Vetter
  0 siblings, 0 replies; 17+ messages in thread
From: Daniel Vetter @ 2019-02-15  9:37 UTC (permalink / raw)
  To: igt-dev

On Thu, Feb 14, 2019 at 08:13:44PM -0000, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3)
> URL   : https://patchwork.freedesktop.org/series/56600/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from IGT_4827_full -> IGTPW_2406_full
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with IGTPW_2406_full absolutely need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in IGTPW_2406_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://patchwork.freedesktop.org/api/1.0/series/56600/revisions/3/mbox/
> 
> Possible new issues
> -------------------
> 
>   Here are the unknown changes that may have been introduced in IGTPW_2406_full:
> 
> ### IGT changes ###
> 
> #### Possible regressions ####
> 
>   * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:
>     - shard-apl:          PASS -> FAIL +2

Looks like unrelated noise, pushed the entire series.
-Daniel

> 
>   
> Known issues
> ------------
> 
>   Here are the changes found in IGTPW_2406_full that come from known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@i915_suspend@shrink:
>     - shard-snb:          NOTRUN -> DMESG-WARN [fdo#109244]
> 
>   * igt@kms_atomic_transition@plane-toggle-modeset-transition:
>     - shard-kbl:          NOTRUN -> DMESG-WARN [fdo#103558] / [fdo#105602] +1
> 
>   * igt@kms_busy@extended-modeset-hang-newfb-render-b:
>     - shard-kbl:          NOTRUN -> DMESG-WARN [fdo#107956]
> 
>   * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
>     - shard-snb:          NOTRUN -> DMESG-WARN [fdo#107956]
> 
>   * igt@kms_color@pipe-a-degamma:
>     - shard-kbl:          NOTRUN -> FAIL [fdo#104782] / [fdo#108145]
> 
>   * igt@kms_concurrent@pipe-b:
>     - shard-hsw:          PASS -> DMESG-WARN [fdo#102614]
> 
>   * igt@kms_cursor_crc@cursor-256x256-random:
>     - shard-kbl:          NOTRUN -> FAIL [fdo#103232]
> 
>   * igt@kms_cursor_crc@cursor-256x256-suspend:
>     - shard-glk:          NOTRUN -> FAIL [fdo#103232]
> 
>   * igt@kms_cursor_crc@cursor-64x64-suspend:
>     - shard-kbl:          PASS -> FAIL [fdo#103191] / [fdo#103232]
> 
>   * igt@kms_cursor_legacy@cursor-vs-flip-legacy:
>     - shard-hsw:          PASS -> FAIL [fdo#103355]
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
>     - shard-apl:          PASS -> FAIL [fdo#103167]
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
>     - shard-glk:          NOTRUN -> FAIL [fdo#103167]
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
>     - shard-kbl:          PASS -> FAIL [fdo#103167]
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
>     - shard-glk:          PASS -> FAIL [fdo#103167] +6
> 
>   * igt@kms_frontbuffer_tracking@fbc-modesetfrombusy:
>     - shard-kbl:          PASS -> DMESG-FAIL [fdo#103167] / [fdo#103558] / [fdo#105602]
> 
>   * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
>     - shard-glk:          PASS -> FAIL [fdo#108948]
> 
>   * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
>     - shard-kbl:          NOTRUN -> FAIL [fdo#108145] / [fdo#108590]
> 
>   * igt@kms_plane_multiple@atomic-pipe-c-tiling-x:
>     - shard-glk:          PASS -> FAIL [fdo#103166]
> 
>   * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
>     - shard-kbl:          PASS -> DMESG-FAIL [fdo#105763]
> 
>   * igt@kms_vblank@pipe-b-ts-continuation-modeset:
>     - shard-kbl:          PASS -> DMESG-FAIL [fdo#103558] / [fdo#105602]
> 
>   * igt@kms_vblank@pipe-c-ts-continuation-suspend:
>     - shard-apl:          PASS -> FAIL [fdo#104894]
> 
>   * igt@pm_rpm@reg-read-ioctl:
>     - shard-kbl:          PASS -> DMESG-WARN [fdo#103558] / [fdo#105602] +18
> 
>   
> #### Possible fixes ####
> 
>   * igt@gem_eio@in-flight-suspend:
>     - shard-kbl:          INCOMPLETE [fdo#103665] / [fdo#106702] -> PASS
> 
>   * igt@gem_eio@reset-stress:
>     - shard-snb:          FAIL [fdo#107799] -> PASS
> 
>   * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
>     - shard-glk:          FAIL [fdo#108145] -> PASS +1
> 
>   * igt@kms_cursor_crc@cursor-128x128-onscreen:
>     - shard-kbl:          FAIL [fdo#103232] -> PASS +1
> 
>   * igt@kms_cursor_crc@cursor-64x21-sliding:
>     - shard-apl:          FAIL [fdo#103232] -> PASS +9
> 
>   * igt@kms_cursor_crc@cursor-alpha-opaque:
>     - shard-apl:          FAIL [fdo#109350] -> PASS
>     - shard-glk:          FAIL [fdo#109350] -> PASS
> 
>   * igt@kms_cursor_crc@cursor-size-change:
>     - shard-glk:          FAIL [fdo#103232] -> PASS
> 
>   * igt@kms_flip@flip-vs-expired-vblank:
>     - shard-glk:          FAIL [fdo#102887] / [fdo#105363] -> PASS
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
>     - shard-apl:          FAIL [fdo#103167] -> PASS +1
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-rte:
>     - shard-glk:          FAIL [fdo#103167] / [fdo#105682] -> PASS
> 
>   * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu:
>     - shard-glk:          FAIL [fdo#103167] -> PASS +5
> 
>   * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
>     - shard-glk:          FAIL [fdo#108948] -> PASS
> 
>   * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
>     - shard-glk:          INCOMPLETE [fdo#103359] / [k.org#198133] -> PASS
> 
>   * igt@kms_plane@plane-position-covered-pipe-c-planes:
>     - shard-kbl:          FAIL [fdo#103166] -> PASS
> 
>   * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
>     - shard-apl:          FAIL [fdo#103166] -> PASS +3
> 
>   * igt@kms_setmode@basic:
>     - shard-kbl:          FAIL [fdo#99912] -> PASS
> 
>   * igt@kms_universal_plane@universal-plane-pipe-c-functional:
>     - shard-glk:          FAIL [fdo#103166] -> PASS +6
> 
>   * igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm:
>     - shard-kbl:          FAIL -> PASS
> 
>   * igt@kms_vblank@pipe-a-ts-continuation-suspend:
>     - shard-apl:          FAIL [fdo#104894] -> PASS
> 
>   
> #### Warnings ####
> 
>   * igt@i915_suspend@shrink:
>     - shard-kbl:          DMESG-WARN [fdo#109244] -> INCOMPLETE [fdo#103665] / [fdo#106886]
> 
>   * igt@kms_content_protection@legacy:
>     - shard-kbl:          FAIL [fdo#108597] -> DMESG-FAIL [fdo#103558] / [fdo#105602]
> 
>   
>   {name}: This element is suppressed. This means it is ignored when computing
>           the status of the difference (SUCCESS, WARNING, or FAILURE).
> 
>   [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
>   [fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
>   [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
>   [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
>   [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
>   [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
>   [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
>   [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
>   [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
>   [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
>   [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
>   [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
>   [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
>   [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
>   [fdo#105682]: https://bugs.freedesktop.org/show_bug.cgi?id=105682
>   [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
>   [fdo#106702]: https://bugs.freedesktop.org/show_bug.cgi?id=106702
>   [fdo#106886]: https://bugs.freedesktop.org/show_bug.cgi?id=106886
>   [fdo#107799]: https://bugs.freedesktop.org/show_bug.cgi?id=107799
>   [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
>   [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
>   [fdo#108590]: https://bugs.freedesktop.org/show_bug.cgi?id=108590
>   [fdo#108597]: https://bugs.freedesktop.org/show_bug.cgi?id=108597
>   [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
>   [fdo#109244]: https://bugs.freedesktop.org/show_bug.cgi?id=109244
>   [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
>   [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
>   [fdo#109350]: https://bugs.freedesktop.org/show_bug.cgi?id=109350
>   [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
>   [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
> 
> 
> Participating hosts (7 -> 5)
> ------------------------------
> 
>   Missing    (2): shard-skl shard-iclb 
> 
> 
> Build changes
> -------------
> 
>     * IGT: IGT_4827 -> IGTPW_2406
> 
>   CI_DRM_5600: 9cf76484ee73dd20bd7b0f086a880f69846c6906 @ git://anongit.freedesktop.org/gfx-ci/linux
>   IGTPW_2406: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2406/
>   IGT_4827: 395eaffd7e1390c9d6043c2980dc14ce3e08b154 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
> 
> == Logs ==
> 
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2406/
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev4)
  2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
                   ` (11 preceding siblings ...)
  2019-02-14 20:13 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2019-02-15 17:53 ` Patchwork
  12 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2019-02-15 17:53 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev4)
URL   : https://patchwork.freedesktop.org/series/56600/
State : failure

== Summary ==

Applying: lib/tests: Drop NIH exit status handling
Using index info to reconstruct a base tree...
M	lib/tests/igt_assert.c
M	lib/tests/igt_segfault.c
M	lib/tests/igt_simulation.c
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.
Applying: lib/tests: Check that igt_assert forwards correctly through igt_fork
Using index info to reconstruct a base tree...
M	lib/tests/meson.build
Falling back to patching base and 3-way merge...
Auto-merging lib/tests/igt_fork.c
CONFLICT (add/add): Merge conflict in lib/tests/igt_fork.c
Patch failed at 0002 lib/tests: Check that igt_assert forwards correctly through igt_fork
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

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

end of thread, other threads:[~2019-02-15 17:53 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-13 10:35 [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Daniel Vetter
2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 2/9] lib/tests: Check that igt_assert forwards correctly through igt_fork Daniel Vetter
2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 3/9] lib/tests: make sure igt_skip in igt_fork is forbidden Daniel Vetter
2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 4/9] lib: Don't leak children in igt_waitchildren_timeout Daniel Vetter
2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 5/9] tests/gem_exec_reuse: Don't leak the hang detector Daniel Vetter
2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 6/9] tests/i915_missed_irq: Don't leave the hang detector hanging Daniel Vetter
2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 7/9] lib: Make sure we leak no child processes Daniel Vetter
2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 8/9] lib: Drop igt_child_done Daniel Vetter
2019-02-13 10:35 ` [igt-dev] [PATCH i-g-t 9/9] lib: Drop IGT_EXIT_TIMEOUT Daniel Vetter
2019-02-13 10:49 ` [igt-dev] [PATCH i-g-t 1/9] lib/tests: Drop NIH exit status handling Chris Wilson
2019-02-13 10:51   ` Chris Wilson
2019-02-13 13:13   ` Daniel Vetter
2019-02-14  9:53 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev2) Patchwork
2019-02-14 15:00 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev3) Patchwork
2019-02-14 20:13 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2019-02-15  9:37   ` Daniel Vetter
2019-02-15 17:53 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] lib/tests: Drop NIH exit status handling (rev4) Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox