All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads
@ 2020-06-16 14:14 Arkadiusz Hiler
  2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 2/3] lib/core: Handle asserts in threads Arkadiusz Hiler
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Arkadiusz Hiler @ 2020-06-16 14:14 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

So that we know what's the source of messages.

igt_thread.c is created to facilitate more threading-related
functionality that will come in the following patch.

Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 lib/Makefile.sources |  2 ++
 lib/igt_core.c       | 44 +++++++++++++++++++++++++++++++++++++-------
 lib/igt_thread.c     | 39 +++++++++++++++++++++++++++++++++++++++
 lib/igt_thread.h     | 24 ++++++++++++++++++++++++
 lib/meson.build      |  1 +
 5 files changed, 103 insertions(+), 7 deletions(-)
 create mode 100644 lib/igt_thread.c
 create mode 100644 lib/igt_thread.h

diff --git a/lib/Makefile.sources b/lib/Makefile.sources
index 09aedb40..00374c97 100644
--- a/lib/Makefile.sources
+++ b/lib/Makefile.sources
@@ -64,6 +64,8 @@ lib_source_list =	 	\
 	igt_sysfs.h		\
 	igt_sysrq.c		\
 	igt_sysrq.h		\
+	igt_thread.c		\
+	igt_thread.h		\
 	igt_x86.h		\
 	igt_x86.c		\
 	igt_vec.c		\
diff --git a/lib/igt_core.c b/lib/igt_core.c
index cbcc3f4d..c95295c7 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -72,6 +72,7 @@
 #include "igt_rc.h"
 #include "igt_list.h"
 #include "igt_device_scan.h"
+#include "igt_thread.h"
 
 #define UNW_LOCAL_ONLY
 #include <libunwind.h>
@@ -2687,6 +2688,12 @@ void igt_log(const char *domain, enum igt_log_level level, const char *format, .
 	va_end(args);
 }
 
+static pthread_key_t __vlog_line_continuation;
+
+igt_constructor {
+	pthread_key_create(&__vlog_line_continuation, NULL);
+}
+
 /**
  * igt_vlog:
  * @domain: the log domain, or NULL for no domain
@@ -2705,6 +2712,7 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
 {
 	FILE *file;
 	char *line, *formatted_line;
+	char *thread_id;
 	const char *program_name;
 	const char *igt_log_level_str[] = {
 		"DEBUG",
@@ -2713,7 +2721,8 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
 		"CRITICAL",
 		"NONE"
 	};
-	static bool line_continuation = false;
+
+	static pthread_mutex_t print_mutex = PTHREAD_MUTEX_INITIALIZER;
 
 	assert(format);
 
@@ -2723,23 +2732,37 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
 	program_name = command_str;
 #endif
 
+
+	if (igt_thread_is_main()) {
+		thread_id = strdup("");
+	} else {
+		if (asprintf(&thread_id, "[thread:%d] ", gettid()) == -1)
+			thread_id = NULL;
+	}
+
+	if (!thread_id)
+		goto out;
+
 	if (list_subtests && level <= IGT_LOG_WARN)
 		return;
 
 	if (vasprintf(&line, format, args) == -1)
 		return;
 
-	if (line_continuation) {
+	if (pthread_getspecific(__vlog_line_continuation)) {
 		formatted_line = strdup(line);
 		if (!formatted_line)
 			goto out;
-	} else if (asprintf(&formatted_line, "(%s:%d) %s%s%s: %s", program_name,
-		     getpid(), (domain) ? domain : "", (domain) ? "-" : "",
+	} else if (asprintf(&formatted_line, "(%s:%d) %s%s%s%s: %s", program_name,
+		     getpid(), thread_id, (domain) ? domain : "", (domain) ? "-" : "",
 		     igt_log_level_str[level], line) == -1) {
 		goto out;
 	}
 
-	line_continuation = line[strlen(line) - 1] != '\n';
+	if (line[strlen(line) - 1] == '\n')
+		pthread_setspecific(__vlog_line_continuation, (void*) false);
+	else
+		pthread_setspecific(__vlog_line_continuation, (void*) true);
 
 	/* append log buffer */
 	_igt_log_buffer_append(formatted_line);
@@ -2758,6 +2781,8 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
 			goto out;
 	}
 
+	pthread_mutex_lock(&print_mutex);
+
 	/* use stderr for warning messages and above */
 	if (level >= IGT_LOG_WARN) {
 		file = stderr;
@@ -2768,13 +2793,18 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
 
 	/* prepend all except information messages with process, domain and log
 	 * level information */
-	if (level != IGT_LOG_INFO)
+	if (level != IGT_LOG_INFO) {
 		fwrite(formatted_line, sizeof(char), strlen(formatted_line),
 		       file);
-	else
+	} else {
+		fwrite(thread_id, sizeof(char), strlen(thread_id), file);
 		fwrite(line, sizeof(char), strlen(line), file);
+	}
+
+	pthread_mutex_unlock(&print_mutex);
 
 out:
+	free(thread_id);
 	free(line);
 }
 
diff --git a/lib/igt_thread.c b/lib/igt_thread.c
new file mode 100644
index 00000000..deab6225
--- /dev/null
+++ b/lib/igt_thread.c
@@ -0,0 +1,39 @@
+/*
+ * Copyright © 2020 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 <pthread.h>
+
+#include "igt_core.h"
+#include "igt_thread.h"
+
+static pthread_key_t __igt_is_main_thread;
+
+bool igt_thread_is_main(void)
+{
+	return pthread_getspecific(__igt_is_main_thread) != NULL;
+}
+
+igt_constructor {
+	pthread_key_create(&__igt_is_main_thread, NULL);
+	pthread_setspecific(__igt_is_main_thread, (void*) 0x1);
+}
diff --git a/lib/igt_thread.h b/lib/igt_thread.h
new file mode 100644
index 00000000..b16f803f
--- /dev/null
+++ b/lib/igt_thread.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright © 2020 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.
+ */
+
+bool igt_thread_is_main(void);
diff --git a/lib/meson.build b/lib/meson.build
index 6cf78663..6c71ae3d 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -26,6 +26,7 @@ lib_sources = [
 	'igt_syncobj.c',
 	'igt_sysfs.c',
 	'igt_sysrq.c',
+	'igt_thread.c',
 	'igt_vec.c',
 	'igt_vgem.c',
 	'igt_x86.c',
-- 
2.25.4

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

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

* [igt-dev] [PATCH i-g-t 2/3] lib/core: Handle asserts in threads
  2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
@ 2020-06-16 14:14 ` Arkadiusz Hiler
  2020-06-18 12:59   ` Petri Latvala
  2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 3/3] igt/core: Disallow igt_require/skip in non-main threads Arkadiusz Hiler
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 12+ messages in thread
From: Arkadiusz Hiler @ 2020-06-16 14:14 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

Since IGT is using magic control blocks (igt_subtest et al.) asserts
jump out the them using longjmp() causing a bunch of confusing messages
and occasionally crashing the whole process.

This is not the behavior we want :-)

With this patch:

1. simple_main, dynamic and subtest each clears the thread failure state
   at the start

2. each of those blocks also asserts no thread failures at the end

3. igt_assert() in non-main thread prints out the error + stacktrace
   and marks that we have failed thread

Issue: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/55
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 lib/igt_core.c               |  12 +++
 lib/igt_thread.c             |  30 ++++++
 lib/igt_thread.h             |   4 +
 lib/tests/igt_tests_common.h |  22 ++++
 lib/tests/igt_thread.c       | 194 +++++++++++++++++++++++++++++++++++
 lib/tests/meson.build        |   1 +
 6 files changed, 263 insertions(+)
 create mode 100644 lib/tests/igt_thread.c

diff --git a/lib/igt_core.c b/lib/igt_core.c
index c95295c7..ccf06cf4 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1272,6 +1272,7 @@ bool __igt_run_subtest(const char *subtest_name, const char *file, const int lin
 		fprintf(stderr, "Starting subtest: %s\n", subtest_name);
 
 	_igt_log_buffer_reset();
+	igt_thread_clear_fail_state();
 
 	igt_gettime(&subtest_time);
 	return (in_subtest = subtest_name);
@@ -1302,6 +1303,7 @@ bool __igt_run_dynamic_subtest(const char *dynamic_subtest_name)
 		fprintf(stderr, "Starting dynamic subtest: %s\n", dynamic_subtest_name);
 
 	_igt_log_buffer_reset();
+	igt_thread_clear_fail_state();
 
 	_igt_dynamic_tests_executed++;
 
@@ -1510,6 +1512,8 @@ void __igt_skip_check(const char *file, const int line,
  */
 void igt_success(void)
 {
+	igt_thread_assert_no_failures();
+
 	if (in_subtest && !in_dynamic_subtest && _igt_dynamic_tests_executed >= 0) {
 		/*
 		 * We're exiting a dynamic container, yield a result
@@ -1549,6 +1553,11 @@ void igt_fail(int exitcode)
 {
 	assert(exitcode != IGT_EXIT_SUCCESS && exitcode != IGT_EXIT_SKIP);
 
+	if (!igt_thread_is_main()) {
+		igt_thread_fail();
+		pthread_exit(NULL);
+	}
+
 	igt_debug_wait_for_keypress("failure");
 
 	/* Exit immediately if the test is already exiting and igt_fail is
@@ -2049,6 +2058,9 @@ void igt_exit(void)
 {
 	int tmp;
 
+	if (!test_with_subtests)
+		igt_thread_assert_no_failures();
+
 	igt_exit_called = true;
 
 	if (igt_key_file)
diff --git a/lib/igt_thread.c b/lib/igt_thread.c
index deab6225..5bdda410 100644
--- a/lib/igt_thread.c
+++ b/lib/igt_thread.c
@@ -22,12 +22,42 @@
  */
 
 #include <pthread.h>
+#include <stdlib.h>
+#include <stdatomic.h>
 
 #include "igt_core.h"
 #include "igt_thread.h"
 
 static pthread_key_t __igt_is_main_thread;
 
+static _Atomic(bool) __thread_failed = false;
+
+void igt_thread_clear_fail_state(void)
+{
+	assert(igt_thread_is_main());
+
+	__thread_failed = false;
+}
+
+void igt_thread_fail(void)
+{
+	assert(!igt_thread_is_main());
+
+	__thread_failed = true;
+}
+
+void igt_thread_assert_no_failures(void)
+{
+	assert(igt_thread_is_main());
+
+	if (__thread_failed) {
+		/* so we won't get stuck in a loop */
+		igt_thread_clear_fail_state();
+		igt_critical("Failure in a thread!\n");
+		igt_fail(IGT_EXIT_FAILURE);
+	}
+}
+
 bool igt_thread_is_main(void)
 {
 	return pthread_getspecific(__igt_is_main_thread) != NULL;
diff --git a/lib/igt_thread.h b/lib/igt_thread.h
index b16f803f..4b9c222d 100644
--- a/lib/igt_thread.h
+++ b/lib/igt_thread.h
@@ -21,4 +21,8 @@
  * IN THE SOFTWARE.
  */
 
+void igt_thread_clear_fail_state(void);
+void igt_thread_fail(void);
+void igt_thread_assert_no_failures(void);
+
 bool igt_thread_is_main(void);
diff --git a/lib/tests/igt_tests_common.h b/lib/tests/igt_tests_common.h
index fa8ad920..058f6265 100644
--- a/lib/tests/igt_tests_common.h
+++ b/lib/tests/igt_tests_common.h
@@ -30,6 +30,7 @@
 #include <errno.h>
 #include <sys/stat.h>
 #include <fcntl.h>
+#include <regex.h>
 
 /*
  * We need to hide assert from the cocci igt test refactor spatch.
@@ -161,4 +162,25 @@ static inline void read_whole_pipe(int fd, char *buf, size_t buflen)
 		offset += readlen;
 	}
 }
+
+static inline bool matches(char *str, const char *regex)
+{
+	int ret;
+	regex_t reg;
+
+	ret = regcomp(&reg, regex, REG_EXTENDED | REG_NEWLINE);
+
+	if (ret == 0)
+		ret = regexec(&reg, str, 0, NULL, 0);
+
+	if (0 != ret && REG_NOMATCH != ret) {
+		char err[256];
+		regerror(ret, &reg, err, sizeof(err));
+		printf("%s\n", err);
+		abort();
+	}
+
+	regfree(&reg);
+	return !ret;
+}
 #endif
diff --git a/lib/tests/igt_thread.c b/lib/tests/igt_thread.c
new file mode 100644
index 00000000..1a734e6d
--- /dev/null
+++ b/lib/tests/igt_thread.c
@@ -0,0 +1,194 @@
+/*
+ * Copyright © 2020 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 <pthread.h>
+
+#include "drmtest.h"
+#include "igt_core.h"
+#include "igt_tests_common.h"
+
+char prog[] = "igt_thread";
+char *fake_argv[] = { prog };
+int fake_argc = ARRAY_SIZE(fake_argv);
+
+static void *succes_thread(void *data)
+{
+	return NULL;
+}
+
+static void *failure_thread(void *data)
+{
+	igt_assert(false);
+	return NULL;
+}
+
+static void one_subtest_fail(void) {
+	igt_subtest_init(fake_argc, fake_argv);
+
+	igt_subtest("subtest-a") {
+		pthread_t thread;
+		pthread_create(&thread, 0, failure_thread, NULL);
+		pthread_join(thread, NULL);
+	}
+
+	igt_subtest("subtest-b") {
+		pthread_t thread;
+		pthread_create(&thread, 0, succes_thread, NULL);
+		pthread_join(thread, NULL);
+	}
+
+	igt_exit();
+}
+
+static void one_dynamic_fail(void) {
+	igt_subtest_init(fake_argc, fake_argv);
+
+	igt_subtest_with_dynamic("dynamic-container") {
+		igt_dynamic("dynamic-a") {
+			pthread_t thread;
+			pthread_create(&thread, 0, failure_thread, NULL);
+			pthread_join(thread, NULL);
+		}
+
+		igt_dynamic("dynamic-b") {
+			pthread_t thread;
+			pthread_create(&thread, 0, succes_thread, NULL);
+			pthread_join(thread, NULL);
+		}
+	}
+
+	igt_exit();
+}
+
+static void simple_success(void) {
+	pthread_t thread;
+
+	igt_simple_init(fake_argc, fake_argv);
+
+	pthread_create(&thread, 0, succes_thread, NULL);
+	pthread_join(thread, NULL);
+
+	igt_exit();
+}
+
+static void simple_failure(void) {
+	pthread_t thread;
+
+	igt_simple_init(fake_argc, fake_argv);
+
+	pthread_create(&thread, 0, failure_thread, NULL);
+	pthread_join(thread, NULL);
+
+	igt_exit();
+}
+
+int main(int argc, char **argv)
+{
+	int status;
+	int outfd;
+	pid_t pid;
+
+	/* failing should be limited just to a single subtest */ {
+		static char out[4096];
+
+		pid = do_fork_bg_with_pipes(one_subtest_fail, &outfd, NULL);
+
+		read_whole_pipe(outfd, out, sizeof(out));
+
+		internal_assert(safe_wait(pid, &status) != -1);
+		internal_assert_wexited(status, IGT_EXIT_FAILURE);
+
+		internal_assert(matches(out, "\\[thread:.*\\] Stack trace"));
+		internal_assert(strstr(out, "Subtest subtest-a: FAIL"));
+		internal_assert(strstr(out, "Subtest subtest-b: SUCCESS"));
+
+		close(outfd);
+	}
+
+	/* failing should be limited just to a dynamic subsubtest */ {
+		static char out[4096];
+
+		pid = do_fork_bg_with_pipes(one_dynamic_fail, &outfd, NULL);
+
+		read_whole_pipe(outfd, out, sizeof(out));
+
+		internal_assert(safe_wait(pid, &status) != -1);
+		internal_assert_wexited(status, IGT_EXIT_FAILURE);
+
+		internal_assert(matches(out, "\\[thread:.*\\] Stack trace"));
+		internal_assert(strstr(out, "Dynamic subtest dynamic-a: FAIL"));
+		internal_assert(strstr(out, "Dynamic subtest dynamic-b: SUCCESS"));
+
+		close(outfd);
+	}
+
+	/* success in a simple test */ {
+		static char out[4096];
+
+		pid = do_fork_bg_with_pipes(simple_success, &outfd, NULL);
+
+		read_whole_pipe(outfd, out, sizeof(out));
+
+		internal_assert(safe_wait(pid, &status) != -1);
+		internal_assert_wexited(status, IGT_EXIT_SUCCESS);
+
+
+		internal_assert(matches(out, "^SUCCESS"));
+
+		close(outfd);
+	}
+
+	/* success in a simple test */ {
+		static char out[4096];
+
+		pid = do_fork_bg_with_pipes(simple_success, &outfd, NULL);
+
+		read_whole_pipe(outfd, out, sizeof(out));
+
+		internal_assert(safe_wait(pid, &status) != -1);
+		internal_assert_wexited(status, IGT_EXIT_SUCCESS);
+
+		internal_assert(matches(out, "^SUCCESS"));
+
+		close(outfd);
+	}
+
+	/* failure in a simple test */ {
+		static char out[4096];
+
+		pid = do_fork_bg_with_pipes(simple_failure, &outfd, NULL);
+
+		read_whole_pipe(outfd, out, sizeof(out));
+
+		internal_assert(safe_wait(pid, &status) != -1);
+		internal_assert_wexited(status, IGT_EXIT_FAILURE);
+
+		internal_assert(matches(out, "\\[thread:.*\\] Stack trace"));
+		internal_assert(matches(out, "^FAIL"));
+
+		close(outfd);
+	}
+
+	return 0;
+}
diff --git a/lib/tests/meson.build b/lib/tests/meson.build
index 47ef303a..9cf5ff47 100644
--- a/lib/tests/meson.build
+++ b/lib/tests/meson.build
@@ -18,6 +18,7 @@ lib_tests = [
 	'igt_simulation',
 	'igt_stats',
 	'igt_subtest_group',
+	'igt_thread',
 	'i915_perf_data_alignment',
 ]
 
-- 
2.25.4

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

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

* [igt-dev] [PATCH i-g-t 3/3] igt/core: Disallow igt_require/skip in non-main threads
  2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
  2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 2/3] lib/core: Handle asserts in threads Arkadiusz Hiler
@ 2020-06-16 14:14 ` Arkadiusz Hiler
  2020-06-18 12:59   ` Petri Latvala
  2020-06-16 16:55 ` [igt-dev] ✗ GitLab.Pipeline: warning for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for " Patchwork
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 12+ messages in thread
From: Arkadiusz Hiler @ 2020-06-16 14:14 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

Handling magic control blocks and longjmp() out of them  in threads is
hard.

The test should state the requirements before it starts spinning
threads.

Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 lib/igt_core.c         |  3 +++
 lib/tests/igt_thread.c | 34 +++++++++++++++++++++++++++++++++-
 2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index ccf06cf4..cedd8168 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1475,6 +1475,9 @@ void __igt_skip_check(const char *file, const int line,
 	int err = errno;
 	char *err_str = NULL;
 
+	if (!igt_thread_is_main())
+		assert(!"igt_require/skip allowed only in the main thread!");
+
 	if (err)
 		igt_assert_neq(asprintf(&err_str, "Last errno: %i, %s\n", err, strerror(err)),
 			       -1);
diff --git a/lib/tests/igt_thread.c b/lib/tests/igt_thread.c
index 1a734e6d..3fb90416 100644
--- a/lib/tests/igt_thread.c
+++ b/lib/tests/igt_thread.c
@@ -43,6 +43,12 @@ static void *failure_thread(void *data)
 	return NULL;
 }
 
+static void *require_thread(void *data)
+{
+	igt_require(false);
+	return NULL;
+}
+
 static void one_subtest_fail(void) {
 	igt_subtest_init(fake_argc, fake_argv);
 
@@ -103,10 +109,21 @@ static void simple_failure(void) {
 	igt_exit();
 }
 
+static void require_non_main_thread(void) {
+	pthread_t thread;
+
+	igt_simple_init(fake_argc, fake_argv);
+
+	pthread_create(&thread, 0, require_thread, NULL);
+	pthread_join(thread, NULL);
+
+	igt_exit();
+}
+
 int main(int argc, char **argv)
 {
 	int status;
-	int outfd;
+	int outfd, errfd;
 	pid_t pid;
 
 	/* failing should be limited just to a single subtest */ {
@@ -190,5 +207,20 @@ int main(int argc, char **argv)
 		close(outfd);
 	}
 
+	/* require in a thread should SIGABRT */ {
+		static char err[4096];
+
+		pid = do_fork_bg_with_pipes(require_non_main_thread, NULL, &errfd);
+
+		read_whole_pipe(errfd, err, sizeof(err));
+
+		internal_assert(safe_wait(pid, &status) != -1);
+		internal_assert_wsignaled(status, SIGABRT);
+
+		internal_assert(strstr(err, "allowed only in the main thread"));
+
+		close(errfd);
+	}
+
 	return 0;
 }
-- 
2.25.4

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

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

* [igt-dev] ✗ GitLab.Pipeline: warning for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads
  2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
  2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 2/3] lib/core: Handle asserts in threads Arkadiusz Hiler
  2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 3/3] igt/core: Disallow igt_require/skip in non-main threads Arkadiusz Hiler
@ 2020-06-16 16:55 ` Patchwork
  2020-06-16 17:06 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2020-06-16 16:55 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads
URL   : https://patchwork.freedesktop.org/series/78422/
State : warning

== Summary ==

Did not get list of undocumented tests for this run, something is wrong!

Other than that, pipeline status: FAILED.

see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/161686 for the overview.

build:tests-fedora-oldest-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/3128974):
  Using docker image sha256:4b3054d89ef79f9be95501786fbbbe22857d02c867fff99693808cd80909939f for registry.freedesktop.org/gfx-ci/igt-ci-tags/build-fedora:commit-5c97718a96489b6d763862eefd06a5df51bbad4e ...
  section_end:1592325967:prepare_executor
  section_start:1592325967:prepare_script
  Preparing environment
  Running on runner-j4Lrg1oF-project-3185-concurrent-0 via gst-htz-1...
  section_end:1592325969:prepare_script
  section_start:1592325969:get_sources
  Getting source from Git repository
  Fetching changes...
  Initialized empty Git repository in /builds/gfx-ci/igt-ci-tags/.git/
  Created fresh repository.
  warning: redirecting to https://gitlab-ci-hetzner.freedesktop.org/gfx-ci/igt-ci-tags.git/
  error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
  fatal: the remote end hung up unexpectedly
  section_end:1592326031:get_sources
  section_start:1592326031:upload_artifacts_on_failure
  Uploading artifacts for failed job
  section_end:1592326033:upload_artifacts_on_failure
  ERROR: Job failed: exit code 1

== Logs ==

For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/161686
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads
  2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
                   ` (2 preceding siblings ...)
  2020-06-16 16:55 ` [igt-dev] ✗ GitLab.Pipeline: warning for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for " Patchwork
@ 2020-06-16 17:06 ` Patchwork
  2020-06-16 18:25 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2020-06-16 17:06 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads
URL   : https://patchwork.freedesktop.org/series/78422/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_8634 -> IGTPW_4677
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_cursor_legacy@basic-flip-after-cursor-atomic:
    - fi-icl-u2:          [PASS][1] -> [DMESG-WARN][2] ([i915#1982])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
    - fi-tgl-u2:          [PASS][3] -> [DMESG-WARN][4] ([i915#402])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/fi-tgl-u2/igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/fi-tgl-u2/igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence.html

  
#### Possible fixes ####

  * igt@i915_module_load@reload:
    - fi-tgl-u2:          [DMESG-WARN][5] ([i915#402]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/fi-tgl-u2/igt@i915_module_load@reload.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/fi-tgl-u2/igt@i915_module_load@reload.html

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-byt-j1900:       [DMESG-WARN][7] ([i915#1982]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/fi-byt-j1900/igt@i915_pm_rpm@basic-pci-d3-state.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/fi-byt-j1900/igt@i915_pm_rpm@basic-pci-d3-state.html

  
#### Warnings ####

  * igt@gem_exec_suspend@basic-s0:
    - fi-kbl-x1275:       [DMESG-WARN][9] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][10] ([i915#62] / [i915#92]) +4 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-kbl-x1275:       [DMESG-WARN][11] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][12] ([i915#1982] / [i915#62] / [i915#92])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/fi-kbl-x1275/igt@gem_exec_suspend@basic-s3.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/fi-kbl-x1275/igt@gem_exec_suspend@basic-s3.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-kbl-x1275:       [DMESG-WARN][13] ([i915#62] / [i915#92]) -> [DMESG-WARN][14] ([i915#62] / [i915#92] / [i915#95]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html

  
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
  [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


Participating hosts (48 -> 42)
------------------------------

  Missing    (6): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-tgl-y fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5711 -> IGTPW_4677

  CI-20190529: 20190529
  CI_DRM_8634: 72c556b3627adef8cef3b7a47c32987b96e7f1c2 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4677: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/index.html
  IGT_5711: 90611a0c90afa4a46496c78a4faf9638a1538ac3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads
  2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
                   ` (3 preceding siblings ...)
  2020-06-16 17:06 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-06-16 18:25 ` Patchwork
  2020-06-17 13:52   ` Arkadiusz Hiler
  2020-06-17 14:37 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads (rev2) Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 12+ messages in thread
From: Patchwork @ 2020-06-16 18:25 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads
URL   : https://patchwork.freedesktop.org/series/78422/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_8634_full -> IGTPW_4677_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_4677_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_4677_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_4677/index.html

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_eio@kms:
    - shard-hsw:          [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-hsw2/igt@gem_eio@kms.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-hsw6/igt@gem_eio@kms.html

  * igt@gem_exec_balancer@bonded-early:
    - shard-tglb:         [PASS][3] -> [FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb7/igt@gem_exec_balancer@bonded-early.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb1/igt@gem_exec_balancer@bonded-early.html

  * igt@gem_mmap_offset@clear:
    - shard-iclb:         [PASS][5] -> [DMESG-WARN][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb6/igt@gem_mmap_offset@clear.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb1/igt@gem_mmap_offset@clear.html

  * igt@i915_pm_rpm@system-suspend-devices:
    - shard-iclb:         [PASS][7] -> [FAIL][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb3/igt@i915_pm_rpm@system-suspend-devices.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb6/igt@i915_pm_rpm@system-suspend-devices.html

  * igt@perf@i915-ref-count:
    - shard-hsw:          [PASS][9] -> [INCOMPLETE][10] +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-hsw5/igt@perf@i915-ref-count.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-hsw1/igt@perf@i915-ref-count.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@preservation-s3@rcs0:
    - shard-kbl:          [PASS][11] -> [INCOMPLETE][12] ([i915#794])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl2/igt@gem_ctx_isolation@preservation-s3@rcs0.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl4/igt@gem_ctx_isolation@preservation-s3@rcs0.html
    - shard-iclb:         [PASS][13] -> [FAIL][14] ([fdo#103375]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb5/igt@gem_ctx_isolation@preservation-s3@rcs0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb6/igt@gem_ctx_isolation@preservation-s3@rcs0.html

  * igt@gem_exec_reloc@basic-concurrent0:
    - shard-glk:          [PASS][15] -> [FAIL][16] ([i915#1930])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-glk2/igt@gem_exec_reloc@basic-concurrent0.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-glk5/igt@gem_exec_reloc@basic-concurrent0.html

  * igt@i915_module_load@reload:
    - shard-tglb:         [PASS][17] -> [DMESG-WARN][18] ([i915#402]) +6 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb6/igt@i915_module_load@reload.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb2/igt@i915_module_load@reload.html

  * igt@i915_pm_dc@dc3co-vpb-simulation:
    - shard-tglb:         [PASS][19] -> [SKIP][20] ([i915#1904])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb8/igt@i915_pm_dc@dc3co-vpb-simulation.html

  * igt@i915_pm_dc@dc5-psr:
    - shard-iclb:         [PASS][21] -> [FAIL][22] ([i915#1899])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb6/igt@i915_pm_dc@dc5-psr.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb7/igt@i915_pm_dc@dc5-psr.html
    - shard-tglb:         [PASS][23] -> [FAIL][24] ([i915#1899])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb3/igt@i915_pm_dc@dc5-psr.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb6/igt@i915_pm_dc@dc5-psr.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-tglb:         [PASS][25] -> [FAIL][26] ([i915#1568])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb3/igt@i915_pm_rc6_residency@rc6-idle.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb5/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@kms_big_fb@linear-64bpp-rotate-180:
    - shard-glk:          [PASS][27] -> [DMESG-FAIL][28] ([i915#118] / [i915#95])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-glk9/igt@kms_big_fb@linear-64bpp-rotate-180.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-glk8/igt@kms_big_fb@linear-64bpp-rotate-180.html

  * igt@kms_big_fb@linear-8bpp-rotate-180:
    - shard-apl:          [PASS][29] -> [DMESG-WARN][30] ([i915#1982])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl6/igt@kms_big_fb@linear-8bpp-rotate-180.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl4/igt@kms_big_fb@linear-8bpp-rotate-180.html

  * igt@kms_color@pipe-b-ctm-max:
    - shard-apl:          [PASS][31] -> [DMESG-WARN][32] ([i915#95]) +42 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl4/igt@kms_color@pipe-b-ctm-max.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl1/igt@kms_color@pipe-b-ctm-max.html

  * igt@kms_cursor_crc@pipe-d-cursor-suspend:
    - shard-tglb:         [PASS][33] -> [INCOMPLETE][34] ([i915#1602])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb8/igt@kms_cursor_crc@pipe-d-cursor-suspend.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb2/igt@kms_cursor_crc@pipe-d-cursor-suspend.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          [PASS][35] -> [DMESG-WARN][36] ([i915#180]) +5 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu:
    - shard-iclb:         [PASS][37] -> [DMESG-WARN][38] ([i915#1982])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_plane_cursor@pipe-a-viewport-size-64:
    - shard-kbl:          [PASS][39] -> [DMESG-FAIL][40] ([i915#95]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl6/igt@kms_plane_cursor@pipe-a-viewport-size-64.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl6/igt@kms_plane_cursor@pipe-a-viewport-size-64.html
    - shard-apl:          [PASS][41] -> [DMESG-FAIL][42] ([i915#95])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl3/igt@kms_plane_cursor@pipe-a-viewport-size-64.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl8/igt@kms_plane_cursor@pipe-a-viewport-size-64.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [PASS][43] -> [SKIP][44] ([fdo#109642] / [fdo#111068]) +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb6/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_setmode@basic:
    - shard-kbl:          [PASS][45] -> [FAIL][46] ([i915#31])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl3/igt@kms_setmode@basic.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl1/igt@kms_setmode@basic.html

  * igt@perf@blocking-parameterized:
    - shard-iclb:         [PASS][47] -> [FAIL][48] ([i915#1542])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb2/igt@perf@blocking-parameterized.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb1/igt@perf@blocking-parameterized.html

  * igt@syncobj_basic@bad-flags-fd-to-handle:
    - shard-kbl:          [PASS][49] -> [DMESG-WARN][50] ([i915#93] / [i915#95]) +50 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl2/igt@syncobj_basic@bad-flags-fd-to-handle.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl7/igt@syncobj_basic@bad-flags-fd-to-handle.html

  
#### Possible fixes ####

  * igt@gem_exec_schedule@implicit-write-read@rcs0:
    - shard-snb:          [INCOMPLETE][51] ([i915#82]) -> [PASS][52] +2 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-snb1/igt@gem_exec_schedule@implicit-write-read@rcs0.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-snb1/igt@gem_exec_schedule@implicit-write-read@rcs0.html

  * igt@gem_tiled_blits@basic:
    - shard-snb:          [TIMEOUT][53] ([i915#1958]) -> [PASS][54] +1 similar issue
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-snb4/igt@gem_tiled_blits@basic.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-snb1/igt@gem_tiled_blits@basic.html

  * igt@i915_pm_rpm@system-suspend-modeset:
    - shard-hsw:          [SKIP][55] ([fdo#109271]) -> [PASS][56] +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-hsw7/igt@i915_pm_rpm@system-suspend-modeset.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-hsw6/igt@i915_pm_rpm@system-suspend-modeset.html

  * igt@i915_query@query-topology-kernel-writes:
    - shard-iclb:         [DMESG-WARN][57] ([i915#1982]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb7/igt@i915_query@query-topology-kernel-writes.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb3/igt@i915_query@query-topology-kernel-writes.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-kbl:          [INCOMPLETE][59] ([i915#155]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl1/igt@i915_suspend@fence-restore-untiled.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl3/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_big_fb@linear-32bpp-rotate-180:
    - shard-apl:          [DMESG-FAIL][61] ([i915#95]) -> [PASS][62] +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl3/igt@kms_big_fb@linear-32bpp-rotate-180.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl4/igt@kms_big_fb@linear-32bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-glk:          [DMESG-FAIL][63] ([i915#118] / [i915#95]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-glk8/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-glk7/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding:
    - shard-apl:          [DMESG-WARN][65] ([i915#95]) -> [PASS][66] +45 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl7/igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl3/igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding.html

  * igt@kms_cursor_crc@pipe-a-cursor-64x21-random:
    - shard-kbl:          [DMESG-FAIL][67] ([i915#54] / [i915#95]) -> [PASS][68] +3 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-64x21-random.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-64x21-random.html

  * igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding:
    - shard-apl:          [FAIL][69] ([i915#54]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl7/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html
    - shard-kbl:          [FAIL][71] ([i915#54]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html
    - shard-glk:          [FAIL][73] ([i915#54]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-glk7/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-glk5/igt@kms_cursor_crc@pipe-a-cursor-64x21-sliding.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-ytiled:
    - shard-kbl:          [DMESG-WARN][75] ([i915#93] / [i915#95]) -> [PASS][76] +55 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl3/igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-ytiled.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl1/igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-ytiled.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-kbl:          [DMESG-FAIL][77] ([i915#95]) -> [PASS][78] +2 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl7/igt@kms_fbcon_fbt@fbc.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl4/igt@kms_fbcon_fbt@fbc.html
    - shard-apl:          [FAIL][79] ([i915#1525]) -> [PASS][80]
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl3/igt@kms_fbcon_fbt@fbc.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl7/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt:
    - shard-tglb:         [DMESG-WARN][81] ([i915#1982]) -> [PASS][82]
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
    - shard-tglb:         [DMESG-WARN][83] ([i915#1982] / [i915#402]) -> [PASS][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
    - shard-kbl:          [DMESG-WARN][85] ([i915#180]) -> [PASS][86] +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_psr@psr2_sprite_render:
    - shard-iclb:         [SKIP][87] ([fdo#109441]) -> [PASS][88] +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb8/igt@kms_psr@psr2_sprite_render.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb2/igt@kms_psr@psr2_sprite_render.html

  * igt@kms_vblank@pipe-b-wait-busy-hang:
    - shard-apl:          [DMESG-WARN][89] ([i915#1982]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl3/igt@kms_vblank@pipe-b-wait-busy-hang.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl2/igt@kms_vblank@pipe-b-wait-busy-hang.html

  * igt@kms_vblank@pipe-c-query-forked-busy:
    - shard-hsw:          [TIMEOUT][91] ([i915#1958]) -> [PASS][92] +3 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-hsw7/igt@kms_vblank@pipe-c-query-forked-busy.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-hsw6/igt@kms_vblank@pipe-c-query-forked-busy.html

  * igt@perf@invalid-open-flags:
    - shard-tglb:         [SKIP][93] ([i915#405]) -> [PASS][94]
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb6/igt@perf@invalid-open-flags.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb7/igt@perf@invalid-open-flags.html
    - shard-apl:          [SKIP][95] ([fdo#109271]) -> [PASS][96]
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl4/igt@perf@invalid-open-flags.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl4/igt@perf@invalid-open-flags.html
    - shard-iclb:         [SKIP][97] ([i915#405]) -> [PASS][98]
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb7/igt@perf@invalid-open-flags.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb7/igt@perf@invalid-open-flags.html
    - shard-glk:          [SKIP][99] ([fdo#109271]) -> [PASS][100]
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-glk8/igt@perf@invalid-open-flags.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-glk1/igt@perf@invalid-open-flags.html
    - shard-kbl:          [SKIP][101] ([fdo#109271]) -> [PASS][102]
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl2/igt@perf@invalid-open-flags.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl7/igt@perf@invalid-open-flags.html

  
#### Warnings ####

  * igt@gen7_exec_parse@chained-batch:
    - shard-snb:          [TIMEOUT][103] ([i915#1958]) -> [SKIP][104] ([fdo#109271]) +2 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-snb4/igt@gen7_exec_parse@chained-batch.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-snb5/igt@gen7_exec_parse@chained-batch.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-tglb:         [FAIL][105] ([i915#454]) -> [SKIP][106] ([i915#468])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb5/igt@i915_pm_dc@dc6-dpms.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb2/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-hsw:          [TIMEOUT][107] ([i915#1958]) -> [SKIP][108] ([fdo#109271])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-hsw7/igt@i915_pm_dc@dc6-psr.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-hsw1/igt@i915_pm_dc@dc6-psr.html

  * igt@kms_color_chamelium@pipe-b-ctm-max:
    - shard-snb:          [TIMEOUT][109] ([i915#1958]) -> [SKIP][110] ([fdo#109271] / [fdo#111827])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-snb4/igt@kms_color_chamelium@pipe-b-ctm-max.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-snb1/igt@kms_color_chamelium@pipe-b-ctm-max.html
    - shard-hsw:          [TIMEOUT][111] ([i915#1958]) -> [SKIP][112] ([fdo#109271] / [fdo#111827])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-hsw7/igt@kms_color_chamelium@pipe-b-ctm-max.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-hsw6/igt@kms_color_chamelium@pipe-b-ctm-max.html

  * igt@kms_content_protection@lic:
    - shard-kbl:          [TIMEOUT][113] ([i915#1319]) -> [TIMEOUT][114] ([i915#1319] / [i915#1958])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl1/igt@kms_content_protection@lic.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl3/igt@kms_content_protection@lic.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-kbl:          [DMESG-FAIL][115] ([i915#95]) -> [FAIL][116] ([i915#64])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl2/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-kbl:          [DMESG-FAIL][117] ([i915#95]) -> [DMESG-WARN][118] ([i915#180])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
    - shard-apl:          [FAIL][119] ([fdo#108145] / [i915#265]) -> [DMESG-FAIL][120] ([fdo#108145] / [i915#95]) +1 similar issue
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl7/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl6/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html
    - shard-kbl:          [FAIL][121] ([fdo#108145] / [i915#265]) -> [DMESG-FAIL][122] ([fdo#108145] / [i915#95]) +1 similar issue
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl1/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl1/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
    - shard-apl:          [DMESG-FAIL][123] ([i915#95]) -> [FAIL][124] ([i915#265])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl3/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl7/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [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#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319
  [i915#1525]: https://gitlab.freedesktop.org/drm/intel/issues/1525
  [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
  [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
  [i915#1568]: https://gitlab.freedesktop.org/drm/intel/issues/1568
  [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1899]: https://gitlab.freedesktop.org/drm/intel/issues/1899
  [i915#1904]: https://gitlab.freedesktop.org/drm/intel/issues/1904
  [i915#1930]: https://gitlab.freedesktop.org/drm/intel/issues/1930
  [i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2036]: https://gitlab.freedesktop.org/drm/intel/issues/2036
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#405]: https://gitlab.freedesktop.org/drm/intel/issues/405
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#64]: https://gitlab.freedesktop.org/drm/intel/issues/64
  [i915#794]: https://gitlab.freedesktop.org/drm/intel/issues/794
  [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
  [i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


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

  Missing    (3): pig-skl-6260u pig-glk-j5005 pig-icl-1065g7 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5711 -> IGTPW_4677
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_8634: 72c556b3627adef8cef3b7a47c32987b96e7f1c2 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4677: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/index.html
  IGT_5711: 90611a0c90afa4a46496c78a4faf9638a1538ac3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

* Re: [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads
  2020-06-16 18:25 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2020-06-17 13:52   ` Arkadiusz Hiler
  0 siblings, 0 replies; 12+ messages in thread
From: Arkadiusz Hiler @ 2020-06-17 13:52 UTC (permalink / raw)
  To: igt-dev

On Tue, Jun 16, 2020 at 06:25:44PM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads
> URL   : https://patchwork.freedesktop.org/series/78422/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_8634_full -> IGTPW_4677_full
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with IGTPW_4677_full absolutely need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in IGTPW_4677_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_4677/index.html
> 
> Possible new issues
> -------------------
> 
>   Here are the unknown changes that may have been introduced in IGTPW_4677_full:
> 
> ### IGT changes ###
> 
> #### Possible regressions ####
> 
>   * igt@gem_eio@kms:
>     - shard-hsw:          [PASS][1] -> [FAIL][2]
>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-hsw2/igt@gem_eio@kms.html
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-hsw6/igt@gem_eio@kms.html
> 
>   * igt@gem_exec_balancer@bonded-early:
>     - shard-tglb:         [PASS][3] -> [FAIL][4]
>    [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb7/igt@gem_exec_balancer@bonded-early.html
>    [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb1/igt@gem_exec_balancer@bonded-early.html
> 
>   * igt@gem_mmap_offset@clear:
>     - shard-iclb:         [PASS][5] -> [DMESG-WARN][6]
>    [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb6/igt@gem_mmap_offset@clear.html
>    [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb1/igt@gem_mmap_offset@clear.html
> 
>   * igt@i915_pm_rpm@system-suspend-devices:
>     - shard-iclb:         [PASS][7] -> [FAIL][8]
>    [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb3/igt@i915_pm_rpm@system-suspend-devices.html
>    [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb6/igt@i915_pm_rpm@system-suspend-devices.html
> 
>   * igt@perf@i915-ref-count:
>     - shard-hsw:          [PASS][9] -> [INCOMPLETE][10] +1 similar issue
>    [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-hsw5/igt@perf@i915-ref-count.html
>    [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-hsw1/igt@perf@i915-ref-count.html
> 
>   
> Known issues
> ------------
> 
>   Here are the changes found in IGTPW_4677_full that come from known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@gem_ctx_isolation@preservation-s3@rcs0:
>     - shard-kbl:          [PASS][11] -> [INCOMPLETE][12] ([i915#794])
>    [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl2/igt@gem_ctx_isolation@preservation-s3@rcs0.html
>    [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl4/igt@gem_ctx_isolation@preservation-s3@rcs0.html
>     - shard-iclb:         [PASS][13] -> [FAIL][14] ([fdo#103375]) +3 similar issues
>    [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb5/igt@gem_ctx_isolation@preservation-s3@rcs0.html
>    [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb6/igt@gem_ctx_isolation@preservation-s3@rcs0.html
> 
>   * igt@gem_exec_reloc@basic-concurrent0:
>     - shard-glk:          [PASS][15] -> [FAIL][16] ([i915#1930])
>    [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-glk2/igt@gem_exec_reloc@basic-concurrent0.html
>    [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-glk5/igt@gem_exec_reloc@basic-concurrent0.html
> 
>   * igt@i915_module_load@reload:
>     - shard-tglb:         [PASS][17] -> [DMESG-WARN][18] ([i915#402]) +6 similar issues
>    [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb6/igt@i915_module_load@reload.html
>    [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb2/igt@i915_module_load@reload.html
> 
>   * igt@i915_pm_dc@dc3co-vpb-simulation:
>     - shard-tglb:         [PASS][19] -> [SKIP][20] ([i915#1904])
>    [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb2/igt@i915_pm_dc@dc3co-vpb-simulation.html
>    [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb8/igt@i915_pm_dc@dc3co-vpb-simulation.html
> 
>   * igt@i915_pm_dc@dc5-psr:
>     - shard-iclb:         [PASS][21] -> [FAIL][22] ([i915#1899])
>    [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb6/igt@i915_pm_dc@dc5-psr.html
>    [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb7/igt@i915_pm_dc@dc5-psr.html
>     - shard-tglb:         [PASS][23] -> [FAIL][24] ([i915#1899])
>    [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb3/igt@i915_pm_dc@dc5-psr.html
>    [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb6/igt@i915_pm_dc@dc5-psr.html
> 
>   * igt@i915_pm_rc6_residency@rc6-idle:
>     - shard-tglb:         [PASS][25] -> [FAIL][26] ([i915#1568])
>    [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb3/igt@i915_pm_rc6_residency@rc6-idle.html
>    [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb5/igt@i915_pm_rc6_residency@rc6-idle.html
> 
>   * igt@kms_big_fb@linear-64bpp-rotate-180:
>     - shard-glk:          [PASS][27] -> [DMESG-FAIL][28] ([i915#118] / [i915#95])
>    [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-glk9/igt@kms_big_fb@linear-64bpp-rotate-180.html
>    [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-glk8/igt@kms_big_fb@linear-64bpp-rotate-180.html
> 
>   * igt@kms_big_fb@linear-8bpp-rotate-180:
>     - shard-apl:          [PASS][29] -> [DMESG-WARN][30] ([i915#1982])
>    [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl6/igt@kms_big_fb@linear-8bpp-rotate-180.html
>    [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl4/igt@kms_big_fb@linear-8bpp-rotate-180.html
> 
>   * igt@kms_color@pipe-b-ctm-max:
>     - shard-apl:          [PASS][31] -> [DMESG-WARN][32] ([i915#95]) +42 similar issues
>    [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl4/igt@kms_color@pipe-b-ctm-max.html
>    [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl1/igt@kms_color@pipe-b-ctm-max.html
> 
>   * igt@kms_cursor_crc@pipe-d-cursor-suspend:
>     - shard-tglb:         [PASS][33] -> [INCOMPLETE][34] ([i915#1602])
>    [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-tglb8/igt@kms_cursor_crc@pipe-d-cursor-suspend.html
>    [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-tglb2/igt@kms_cursor_crc@pipe-d-cursor-suspend.html
> 
>   * igt@kms_flip@flip-vs-suspend@c-dp1:
>     - shard-kbl:          [PASS][35] -> [DMESG-WARN][36] ([i915#180]) +5 similar issues
>    [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html
>    [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu:
>     - shard-iclb:         [PASS][37] -> [DMESG-WARN][38] ([i915#1982])
>    [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu.html
>    [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb3/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu.html
> 
>   * igt@kms_plane_cursor@pipe-a-viewport-size-64:
>     - shard-kbl:          [PASS][39] -> [DMESG-FAIL][40] ([i915#95]) +1 similar issue
>    [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl6/igt@kms_plane_cursor@pipe-a-viewport-size-64.html
>    [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl6/igt@kms_plane_cursor@pipe-a-viewport-size-64.html
>     - shard-apl:          [PASS][41] -> [DMESG-FAIL][42] ([i915#95])
>    [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-apl3/igt@kms_plane_cursor@pipe-a-viewport-size-64.html
>    [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-apl8/igt@kms_plane_cursor@pipe-a-viewport-size-64.html
> 
>   * igt@kms_psr2_su@frontbuffer:
>     - shard-iclb:         [PASS][43] -> [SKIP][44] ([fdo#109642] / [fdo#111068]) +1 similar issue
>    [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
>    [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb6/igt@kms_psr2_su@frontbuffer.html
> 
>   * igt@kms_setmode@basic:
>     - shard-kbl:          [PASS][45] -> [FAIL][46] ([i915#31])
>    [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl3/igt@kms_setmode@basic.html
>    [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl1/igt@kms_setmode@basic.html
> 
>   * igt@perf@blocking-parameterized:
>     - shard-iclb:         [PASS][47] -> [FAIL][48] ([i915#1542])
>    [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-iclb2/igt@perf@blocking-parameterized.html
>    [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-iclb1/igt@perf@blocking-parameterized.html
> 
>   * igt@syncobj_basic@bad-flags-fd-to-handle:
>     - shard-kbl:          [PASS][49] -> [DMESG-WARN][50] ([i915#93] / [i915#95]) +50 similar issues
>    [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8634/shard-kbl2/igt@syncobj_basic@bad-flags-fd-to-handle.html
>    [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4677/shard-kbl7/igt@syncobj_basic@bad-flags-fd-to-handle.html

None of those look like they have been caused by the changes in thread
behavior, even after looking at the code. I'll spin a re-run just to be sure.

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads (rev2)
  2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
                   ` (4 preceding siblings ...)
  2020-06-16 18:25 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2020-06-17 14:37 ` Patchwork
  2020-06-17 16:44 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2020-06-18 12:51 ` [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Petri Latvala
  7 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2020-06-17 14:37 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads (rev2)
URL   : https://patchwork.freedesktop.org/series/78422/
State : success

== Summary ==

CI Bug Log - changes from IGT_5712 -> IGTPW_4679
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_close_race@basic-threads:
    - fi-pnv-d510:        [PASS][1] -> [INCOMPLETE][2] ([CI#80] / [i915#299])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-pnv-d510/igt@gem_close_race@basic-threads.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-pnv-d510/igt@gem_close_race@basic-threads.html

  * igt@gem_exec_suspend@basic-s0:
    - fi-tgl-u2:          [PASS][3] -> [FAIL][4] ([i915#1888])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-tgl-u2/igt@gem_exec_suspend@basic-s0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-tgl-u2/igt@gem_exec_suspend@basic-s0.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-whl-u:           [PASS][5] -> [DMESG-WARN][6] ([i915#95])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-whl-u/igt@i915_pm_backlight@basic-brightness.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-whl-u/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_pm_rpm@module-reload:
    - fi-glk-dsi:         [PASS][7] -> [DMESG-WARN][8] ([i915#1982])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
    - fi-tgl-u2:          [PASS][9] -> [DMESG-WARN][10] ([i915#402])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-tgl-u2/igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-tgl-u2/igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-bsw-kefka:       [DMESG-WARN][11] ([i915#1982]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-bsw-kefka/igt@i915_pm_rpm@basic-pci-d3-state.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-bsw-kefka/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - fi-icl-guc:         [DMESG-WARN][13] ([i915#1982]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-icl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-icl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  
#### Warnings ####

  * igt@kms_force_connector_basic@force-edid:
    - fi-kbl-x1275:       [DMESG-WARN][15] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][16] ([i915#62] / [i915#92]) +3 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-kbl-x1275/igt@kms_force_connector_basic@force-edid.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-kbl-x1275/igt@kms_force_connector_basic@force-edid.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-kbl-x1275:       [DMESG-WARN][17] ([i915#62] / [i915#92]) -> [DMESG-WARN][18] ([i915#62] / [i915#92] / [i915#95]) +2 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html

  
  [CI#80]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/80
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#299]: https://gitlab.freedesktop.org/drm/intel/issues/299
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
  [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


Participating hosts (48 -> 42)
------------------------------

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5712 -> IGTPW_4679

  CI-20190529: 20190529
  CI_DRM_8639: 47584e59cf51ec499d68a4cefbaf447448ce2894 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4679: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/index.html
  IGT_5712: eba1135ddd35f9d3097ed91032aefe8f9a9f9d02 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads (rev2)
  2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
                   ` (5 preceding siblings ...)
  2020-06-17 14:37 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads (rev2) Patchwork
@ 2020-06-17 16:44 ` Patchwork
  2020-06-18 12:51 ` [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Petri Latvala
  7 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2020-06-17 16:44 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads (rev2)
URL   : https://patchwork.freedesktop.org/series/78422/
State : failure

== Summary ==

CI Bug Log - changes from IGT_5712_full -> IGTPW_4679_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_4679_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_4679_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_4679/index.html

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_balancer@bonded-early:
    - shard-kbl:          [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@gem_exec_balancer@bonded-early.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl4/igt@gem_exec_balancer@bonded-early.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_gttfill@all:
    - shard-glk:          [PASS][3] -> [DMESG-WARN][4] ([i915#118] / [i915#95])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-glk4/igt@gem_exec_gttfill@all.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-glk1/igt@gem_exec_gttfill@all.html

  * igt@gem_exec_schedule@implicit-boths@rcs0:
    - shard-snb:          [PASS][5] -> [INCOMPLETE][6] ([i915#82])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb1/igt@gem_exec_schedule@implicit-boths@rcs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-snb6/igt@gem_exec_schedule@implicit-boths@rcs0.html

  * igt@gem_mmap_offset@basic-uaf:
    - shard-apl:          [PASS][7] -> [DMESG-WARN][8] ([i915#95]) +41 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl3/igt@gem_mmap_offset@basic-uaf.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl4/igt@gem_mmap_offset@basic-uaf.html

  * igt@gem_mmap_wc@copy:
    - shard-kbl:          [PASS][9] -> [DMESG-WARN][10] ([i915#93] / [i915#95]) +47 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl6/igt@gem_mmap_wc@copy.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl6/igt@gem_mmap_wc@copy.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [PASS][11] -> [DMESG-WARN][12] ([i915#1436] / [i915#716])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-glk1/igt@gen9_exec_parse@allowed-all.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-glk6/igt@gen9_exec_parse@allowed-all.html
    - shard-kbl:          [PASS][13] -> [DMESG-WARN][14] ([i915#1436] / [i915#716])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl3/igt@gen9_exec_parse@allowed-all.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl6/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_dc@dc5-psr:
    - shard-iclb:         [PASS][15] -> [FAIL][16] ([i915#1899])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb6/igt@i915_pm_dc@dc5-psr.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-iclb7/igt@i915_pm_dc@dc5-psr.html

  * igt@kms_big_fb@linear-32bpp-rotate-0:
    - shard-kbl:          [PASS][17] -> [DMESG-WARN][18] ([i915#1982]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_big_fb@linear-32bpp-rotate-0.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl6/igt@kms_big_fb@linear-32bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-0:
    - shard-glk:          [PASS][19] -> [DMESG-FAIL][20] ([i915#118] / [i915#95])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-glk7/igt@kms_big_fb@x-tiled-64bpp-rotate-0.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-glk8/igt@kms_big_fb@x-tiled-64bpp-rotate-0.html

  * igt@kms_cursor_crc@pipe-a-cursor-128x128-offscreen:
    - shard-kbl:          [PASS][21] -> [DMESG-FAIL][22] ([i915#54] / [i915#95]) +4 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-128x128-offscreen.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-128x128-offscreen.html

  * igt@kms_cursor_crc@pipe-a-cursor-dpms:
    - shard-kbl:          [PASS][23] -> [FAIL][24] ([i915#54])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-dpms.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-dpms.html
    - shard-apl:          [PASS][25] -> [FAIL][26] ([i915#54])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl1/igt@kms_cursor_crc@pipe-a-cursor-dpms.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-dpms.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
    - shard-hsw:          [PASS][27] -> [FAIL][28] ([i915#96])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw4/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-hsw8/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-glk:          [PASS][29] -> [INCOMPLETE][30] ([i915#58] / [k.org#198133])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-glk4/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-glk6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled:
    - shard-apl:          [PASS][31] -> [DMESG-FAIL][32] ([i915#54] / [i915#95]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl7/igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl3/igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled.html

  * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2:
    - shard-glk:          [PASS][33] -> [FAIL][34] ([i915#79])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-glk1/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-glk5/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          [PASS][35] -> [DMESG-WARN][36] ([i915#180]) +7 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-gtt:
    - shard-tglb:         [PASS][37] -> [DMESG-WARN][38] ([i915#1982])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb5/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-gtt.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-tglb1/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-gtt.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
    - shard-kbl:          [PASS][39] -> [DMESG-FAIL][40] ([i915#95])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl7/igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl4/igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence.html

  * igt@kms_plane_cursor@pipe-a-overlay-size-64:
    - shard-apl:          [PASS][41] -> [DMESG-FAIL][42] ([i915#95]) +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl2/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl7/igt@kms_plane_cursor@pipe-a-overlay-size-64.html

  * igt@kms_psr@psr2_primary_mmap_gtt:
    - shard-iclb:         [PASS][43] -> [SKIP][44] ([fdo#109441]) +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-iclb3/igt@kms_psr@psr2_primary_mmap_gtt.html

  * igt@kms_vblank@pipe-d-ts-continuation-dpms-suspend:
    - shard-tglb:         [PASS][45] -> [INCOMPLETE][46] ([i915#1602])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb2/igt@kms_vblank@pipe-d-ts-continuation-dpms-suspend.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-tglb8/igt@kms_vblank@pipe-d-ts-continuation-dpms-suspend.html

  * igt@syncobj_wait@invalid-multi-wait-all-unsubmitted-submitted:
    - shard-tglb:         [PASS][47] -> [DMESG-WARN][48] ([i915#402])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb7/igt@syncobj_wait@invalid-multi-wait-all-unsubmitted-submitted.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-tglb5/igt@syncobj_wait@invalid-multi-wait-all-unsubmitted-submitted.html

  
#### Possible fixes ####

  * igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd1:
    - shard-tglb:         [FAIL][49] ([i915#1528]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb2/igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd1.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-tglb6/igt@gem_ctx_persistence@legacy-engines-mixed-process@bsd1.html

  * igt@gem_eio@kms:
    - shard-snb:          [DMESG-WARN][51] ([i915#1982]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb1/igt@gem_eio@kms.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-snb2/igt@gem_eio@kms.html

  * igt@gem_exec_whisper@basic-contexts:
    - shard-iclb:         [DMESG-WARN][53] ([i915#1982]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb2/igt@gem_exec_whisper@basic-contexts.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-iclb8/igt@gem_exec_whisper@basic-contexts.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [FAIL][55] ([i915#1899]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb2/igt@i915_pm_dc@dc6-psr.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-iclb4/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_suspend@debugfs-reader:
    - shard-tglb:         [INCOMPLETE][57] ([i915#1602] / [i915#456]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb3/igt@i915_suspend@debugfs-reader.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-tglb2/igt@i915_suspend@debugfs-reader.html

  * igt@kms_addfb_basic@bad-pitch-128:
    - shard-snb:          [TIMEOUT][59] ([i915#1958]) -> [PASS][60] +4 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb6/igt@kms_addfb_basic@bad-pitch-128.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-snb6/igt@kms_addfb_basic@bad-pitch-128.html
    - shard-hsw:          [TIMEOUT][61] ([i915#1958]) -> [PASS][62] +4 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw2/igt@kms_addfb_basic@bad-pitch-128.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-hsw2/igt@kms_addfb_basic@bad-pitch-128.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-0:
    - shard-apl:          [DMESG-WARN][63] ([i915#1982]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl8/igt@kms_big_fb@x-tiled-8bpp-rotate-0.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl6/igt@kms_big_fb@x-tiled-8bpp-rotate-0.html
    - shard-glk:          [DMESG-WARN][65] ([i915#1982]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-glk5/igt@kms_big_fb@x-tiled-8bpp-rotate-0.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-glk5/igt@kms_big_fb@x-tiled-8bpp-rotate-0.html

  * igt@kms_cursor_edge_walk@pipe-a-64x64-bottom-edge:
    - shard-apl:          [DMESG-WARN][67] ([i915#95]) -> [PASS][68] +42 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl6/igt@kms_cursor_edge_walk@pipe-a-64x64-bottom-edge.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl7/igt@kms_cursor_edge_walk@pipe-a-64x64-bottom-edge.html

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled:
    - shard-kbl:          [DMESG-WARN][69] ([i915#93] / [i915#95]) -> [PASS][70] +41 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl2/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl2/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
    - shard-kbl:          [DMESG-WARN][71] ([i915#180]) -> [PASS][72] +5 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl6/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl2/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt:
    - shard-apl:          [FAIL][73] ([i915#49]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
    - shard-kbl:          [FAIL][75] ([i915#49]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-tglb:         [DMESG-WARN][77] ([i915#1982]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid:
    - shard-kbl:          [DMESG-FAIL][79] ([fdo#108145] / [i915#95]) -> [PASS][80] +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl1/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-mid.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant:
    - shard-apl:          [DMESG-FAIL][81] ([fdo#108145] / [i915#95]) -> [PASS][82] +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl8/igt@kms_plane_alpha_blend@pipe-a-coverage-vs-premult-vs-constant.html

  * igt@kms_psr@psr2_cursor_plane_onoff:
    - shard-iclb:         [SKIP][83] ([fdo#109441]) -> [PASS][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb1/igt@kms_psr@psr2_cursor_plane_onoff.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend:
    - shard-apl:          [INCOMPLETE][85] -> [PASS][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl6/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl2/igt@kms_vblank@pipe-b-ts-continuation-dpms-suspend.html

  * igt@perf_pmu@module-unload:
    - shard-tglb:         [DMESG-WARN][87] ([i915#402]) -> [PASS][88] +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb1/igt@perf_pmu@module-unload.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-tglb5/igt@perf_pmu@module-unload.html

  * igt@perf_pmu@semaphore-busy@rcs0:
    - shard-kbl:          [FAIL][89] ([i915#1820] / [i915#93] / [i915#95]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl7/igt@perf_pmu@semaphore-busy@rcs0.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl7/igt@perf_pmu@semaphore-busy@rcs0.html

  
#### Warnings ####

  * igt@gem_ctx_persistence@engines-cleanup:
    - shard-hsw:          [SKIP][91] ([fdo#109271] / [i915#1099]) -> [TIMEOUT][92] ([i915#1958])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw1/igt@gem_ctx_persistence@engines-cleanup.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-hsw5/igt@gem_ctx_persistence@engines-cleanup.html
    - shard-snb:          [SKIP][93] ([fdo#109271] / [i915#1099]) -> [TIMEOUT][94] ([i915#1958])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb6/igt@gem_ctx_persistence@engines-cleanup.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-snb1/igt@gem_ctx_persistence@engines-cleanup.html

  * igt@i915_pm_dc@dc3co-vpb-simulation:
    - shard-iclb:         [SKIP][95] ([i915#658]) -> [SKIP][96] ([i915#588])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-iclb6/igt@i915_pm_dc@dc3co-vpb-simulation.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-tglb:         [FAIL][97] ([i915#1899]) -> [FAIL][98] ([i915#454])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-tglb5/igt@i915_pm_dc@dc6-psr.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-tglb6/igt@i915_pm_dc@dc6-psr.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-kbl:          [TIMEOUT][99] ([i915#1319] / [i915#1958]) -> [TIMEOUT][100] ([i915#1319]) +1 similar issue
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl2/igt@kms_content_protection@atomic-dpms.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl6/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@lic:
    - shard-apl:          [FAIL][101] ([fdo#110321]) -> [DMESG-FAIL][102] ([fdo#110321] / [i915#95])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl3/igt@kms_content_protection@lic.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl1/igt@kms_content_protection@lic.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-pgflip-blt:
    - shard-snb:          [SKIP][103] ([fdo#109271]) -> [TIMEOUT][104] ([i915#1958]) +4 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-snb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-pgflip-blt.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-snb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-pgflip-blt.html
    - shard-hsw:          [SKIP][105] ([fdo#109271]) -> [TIMEOUT][106] ([i915#1958]) +4 similar issues
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-hsw4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-pgflip-blt.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-hsw5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          [FAIL][107] ([fdo#108145] / [i915#265]) -> [DMESG-FAIL][108] ([fdo#108145] / [i915#95]) +1 similar issue
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl6/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
    - shard-apl:          [DMESG-FAIL][109] ([i915#95]) -> [FAIL][110] ([i915#265])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-apl6/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-apl1/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html
    - shard-kbl:          [DMESG-FAIL][111] ([i915#95]) -> [FAIL][112] ([i915#265])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl6/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl6/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [DMESG-WARN][113] ([i915#93] / [i915#95]) -> [DMESG-WARN][114] ([i915#180])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5712/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110321]: https://bugs.freedesktop.org/show_bug.cgi?id=110321
  [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1528]: https://gitlab.freedesktop.org/drm/intel/issues/1528
  [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1820]: https://gitlab.freedesktop.org/drm/intel/issues/1820
  [i915#1899]: https://gitlab.freedesktop.org/drm/intel/issues/1899
  [i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
  [i915#588]: https://gitlab.freedesktop.org/drm/intel/issues/588
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
  [i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
  [i915#96]: https://gitlab.freedesktop.org/drm/intel/issues/96
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


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

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5712 -> IGTPW_4679

  CI-20190529: 20190529
  CI_DRM_8639: 47584e59cf51ec499d68a4cefbaf447448ce2894 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4679: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4679/index.html
  IGT_5712: eba1135ddd35f9d3097ed91032aefe8f9a9f9d02 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads
  2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
                   ` (6 preceding siblings ...)
  2020-06-17 16:44 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2020-06-18 12:51 ` Petri Latvala
  7 siblings, 0 replies; 12+ messages in thread
From: Petri Latvala @ 2020-06-18 12:51 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

On Tue, Jun 16, 2020 at 05:14:48PM +0300, Arkadiusz Hiler wrote:
> So that we know what's the source of messages.
> 
> igt_thread.c is created to facilitate more threading-related
> functionality that will come in the following patch.
> 
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

"lib/core: Print thred:tid with igt_log for non-main threads"

Typo, thred -> thread

Otherwise,
Reviewed-by: Petri Latvala <petri.latvala@intel.com>

> ---
>  lib/Makefile.sources |  2 ++
>  lib/igt_core.c       | 44 +++++++++++++++++++++++++++++++++++++-------
>  lib/igt_thread.c     | 39 +++++++++++++++++++++++++++++++++++++++
>  lib/igt_thread.h     | 24 ++++++++++++++++++++++++
>  lib/meson.build      |  1 +
>  5 files changed, 103 insertions(+), 7 deletions(-)
>  create mode 100644 lib/igt_thread.c
>  create mode 100644 lib/igt_thread.h
> 
> diff --git a/lib/Makefile.sources b/lib/Makefile.sources
> index 09aedb40..00374c97 100644
> --- a/lib/Makefile.sources
> +++ b/lib/Makefile.sources
> @@ -64,6 +64,8 @@ lib_source_list =	 	\
>  	igt_sysfs.h		\
>  	igt_sysrq.c		\
>  	igt_sysrq.h		\
> +	igt_thread.c		\
> +	igt_thread.h		\
>  	igt_x86.h		\
>  	igt_x86.c		\
>  	igt_vec.c		\
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index cbcc3f4d..c95295c7 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -72,6 +72,7 @@
>  #include "igt_rc.h"
>  #include "igt_list.h"
>  #include "igt_device_scan.h"
> +#include "igt_thread.h"
>  
>  #define UNW_LOCAL_ONLY
>  #include <libunwind.h>
> @@ -2687,6 +2688,12 @@ void igt_log(const char *domain, enum igt_log_level level, const char *format, .
>  	va_end(args);
>  }
>  
> +static pthread_key_t __vlog_line_continuation;
> +
> +igt_constructor {
> +	pthread_key_create(&__vlog_line_continuation, NULL);
> +}
> +
>  /**
>   * igt_vlog:
>   * @domain: the log domain, or NULL for no domain
> @@ -2705,6 +2712,7 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
>  {
>  	FILE *file;
>  	char *line, *formatted_line;
> +	char *thread_id;
>  	const char *program_name;
>  	const char *igt_log_level_str[] = {
>  		"DEBUG",
> @@ -2713,7 +2721,8 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
>  		"CRITICAL",
>  		"NONE"
>  	};
> -	static bool line_continuation = false;
> +
> +	static pthread_mutex_t print_mutex = PTHREAD_MUTEX_INITIALIZER;
>  
>  	assert(format);
>  
> @@ -2723,23 +2732,37 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
>  	program_name = command_str;
>  #endif
>  
> +
> +	if (igt_thread_is_main()) {
> +		thread_id = strdup("");
> +	} else {
> +		if (asprintf(&thread_id, "[thread:%d] ", gettid()) == -1)
> +			thread_id = NULL;
> +	}
> +
> +	if (!thread_id)
> +		goto out;
> +
>  	if (list_subtests && level <= IGT_LOG_WARN)
>  		return;
>  
>  	if (vasprintf(&line, format, args) == -1)
>  		return;
>  
> -	if (line_continuation) {
> +	if (pthread_getspecific(__vlog_line_continuation)) {
>  		formatted_line = strdup(line);
>  		if (!formatted_line)
>  			goto out;
> -	} else if (asprintf(&formatted_line, "(%s:%d) %s%s%s: %s", program_name,
> -		     getpid(), (domain) ? domain : "", (domain) ? "-" : "",
> +	} else if (asprintf(&formatted_line, "(%s:%d) %s%s%s%s: %s", program_name,
> +		     getpid(), thread_id, (domain) ? domain : "", (domain) ? "-" : "",
>  		     igt_log_level_str[level], line) == -1) {
>  		goto out;
>  	}
>  
> -	line_continuation = line[strlen(line) - 1] != '\n';
> +	if (line[strlen(line) - 1] == '\n')
> +		pthread_setspecific(__vlog_line_continuation, (void*) false);
> +	else
> +		pthread_setspecific(__vlog_line_continuation, (void*) true);
>  
>  	/* append log buffer */
>  	_igt_log_buffer_append(formatted_line);
> @@ -2758,6 +2781,8 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
>  			goto out;
>  	}
>  
> +	pthread_mutex_lock(&print_mutex);
> +
>  	/* use stderr for warning messages and above */
>  	if (level >= IGT_LOG_WARN) {
>  		file = stderr;
> @@ -2768,13 +2793,18 @@ void igt_vlog(const char *domain, enum igt_log_level level, const char *format,
>  
>  	/* prepend all except information messages with process, domain and log
>  	 * level information */
> -	if (level != IGT_LOG_INFO)
> +	if (level != IGT_LOG_INFO) {
>  		fwrite(formatted_line, sizeof(char), strlen(formatted_line),
>  		       file);
> -	else
> +	} else {
> +		fwrite(thread_id, sizeof(char), strlen(thread_id), file);
>  		fwrite(line, sizeof(char), strlen(line), file);
> +	}
> +
> +	pthread_mutex_unlock(&print_mutex);
>  
>  out:
> +	free(thread_id);
>  	free(line);
>  }
>  
> diff --git a/lib/igt_thread.c b/lib/igt_thread.c
> new file mode 100644
> index 00000000..deab6225
> --- /dev/null
> +++ b/lib/igt_thread.c
> @@ -0,0 +1,39 @@
> +/*
> + * Copyright © 2020 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 <pthread.h>
> +
> +#include "igt_core.h"
> +#include "igt_thread.h"
> +
> +static pthread_key_t __igt_is_main_thread;
> +
> +bool igt_thread_is_main(void)
> +{
> +	return pthread_getspecific(__igt_is_main_thread) != NULL;
> +}
> +
> +igt_constructor {
> +	pthread_key_create(&__igt_is_main_thread, NULL);
> +	pthread_setspecific(__igt_is_main_thread, (void*) 0x1);
> +}
> diff --git a/lib/igt_thread.h b/lib/igt_thread.h
> new file mode 100644
> index 00000000..b16f803f
> --- /dev/null
> +++ b/lib/igt_thread.h
> @@ -0,0 +1,24 @@
> +/*
> + * Copyright © 2020 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.
> + */
> +
> +bool igt_thread_is_main(void);
> diff --git a/lib/meson.build b/lib/meson.build
> index 6cf78663..6c71ae3d 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -26,6 +26,7 @@ lib_sources = [
>  	'igt_syncobj.c',
>  	'igt_sysfs.c',
>  	'igt_sysrq.c',
> +	'igt_thread.c',
>  	'igt_vec.c',
>  	'igt_vgem.c',
>  	'igt_x86.c',
> -- 
> 2.25.4
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 2/3] lib/core: Handle asserts in threads
  2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 2/3] lib/core: Handle asserts in threads Arkadiusz Hiler
@ 2020-06-18 12:59   ` Petri Latvala
  0 siblings, 0 replies; 12+ messages in thread
From: Petri Latvala @ 2020-06-18 12:59 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

On Tue, Jun 16, 2020 at 05:14:49PM +0300, Arkadiusz Hiler wrote:
> Since IGT is using magic control blocks (igt_subtest et al.) asserts
> jump out the them using longjmp() causing a bunch of confusing messages
> and occasionally crashing the whole process.
> 
> This is not the behavior we want :-)
> 
> With this patch:
> 
> 1. simple_main, dynamic and subtest each clears the thread failure state
>    at the start
> 
> 2. each of those blocks also asserts no thread failures at the end
> 
> 3. igt_assert() in non-main thread prints out the error + stacktrace
>    and marks that we have failed thread
> 
> Issue: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/55
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
>  lib/igt_core.c               |  12 +++
>  lib/igt_thread.c             |  30 ++++++
>  lib/igt_thread.h             |   4 +
>  lib/tests/igt_tests_common.h |  22 ++++
>  lib/tests/igt_thread.c       | 194 +++++++++++++++++++++++++++++++++++
>  lib/tests/meson.build        |   1 +
>  6 files changed, 263 insertions(+)
>  create mode 100644 lib/tests/igt_thread.c
> 
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index c95295c7..ccf06cf4 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -1272,6 +1272,7 @@ bool __igt_run_subtest(const char *subtest_name, const char *file, const int lin
>  		fprintf(stderr, "Starting subtest: %s\n", subtest_name);
>  
>  	_igt_log_buffer_reset();
> +	igt_thread_clear_fail_state();
>  
>  	igt_gettime(&subtest_time);
>  	return (in_subtest = subtest_name);
> @@ -1302,6 +1303,7 @@ bool __igt_run_dynamic_subtest(const char *dynamic_subtest_name)
>  		fprintf(stderr, "Starting dynamic subtest: %s\n", dynamic_subtest_name);
>  
>  	_igt_log_buffer_reset();
> +	igt_thread_clear_fail_state();
>  
>  	_igt_dynamic_tests_executed++;
>  
> @@ -1510,6 +1512,8 @@ void __igt_skip_check(const char *file, const int line,
>   */
>  void igt_success(void)
>  {
> +	igt_thread_assert_no_failures();
> +
>  	if (in_subtest && !in_dynamic_subtest && _igt_dynamic_tests_executed >= 0) {
>  		/*
>  		 * We're exiting a dynamic container, yield a result
> @@ -1549,6 +1553,11 @@ void igt_fail(int exitcode)
>  {
>  	assert(exitcode != IGT_EXIT_SUCCESS && exitcode != IGT_EXIT_SKIP);
>  
> +	if (!igt_thread_is_main()) {
> +		igt_thread_fail();
> +		pthread_exit(NULL);
> +	}
> +
>  	igt_debug_wait_for_keypress("failure");
>  
>  	/* Exit immediately if the test is already exiting and igt_fail is
> @@ -2049,6 +2058,9 @@ void igt_exit(void)
>  {
>  	int tmp;
>  
> +	if (!test_with_subtests)
> +		igt_thread_assert_no_failures();
> +
>  	igt_exit_called = true;
>  
>  	if (igt_key_file)
> diff --git a/lib/igt_thread.c b/lib/igt_thread.c
> index deab6225..5bdda410 100644
> --- a/lib/igt_thread.c
> +++ b/lib/igt_thread.c
> @@ -22,12 +22,42 @@
>   */
>  
>  #include <pthread.h>
> +#include <stdlib.h>
> +#include <stdatomic.h>
>  
>  #include "igt_core.h"
>  #include "igt_thread.h"
>  
>  static pthread_key_t __igt_is_main_thread;
>  
> +static _Atomic(bool) __thread_failed = false;
> +
> +void igt_thread_clear_fail_state(void)
> +{
> +	assert(igt_thread_is_main());
> +
> +	__thread_failed = false;
> +}
> +
> +void igt_thread_fail(void)
> +{
> +	assert(!igt_thread_is_main());
> +
> +	__thread_failed = true;
> +}
> +
> +void igt_thread_assert_no_failures(void)
> +{
> +	assert(igt_thread_is_main());
> +
> +	if (__thread_failed) {
> +		/* so we won't get stuck in a loop */
> +		igt_thread_clear_fail_state();
> +		igt_critical("Failure in a thread!\n");
> +		igt_fail(IGT_EXIT_FAILURE);
> +	}
> +}
> +
>  bool igt_thread_is_main(void)
>  {
>  	return pthread_getspecific(__igt_is_main_thread) != NULL;
> diff --git a/lib/igt_thread.h b/lib/igt_thread.h
> index b16f803f..4b9c222d 100644
> --- a/lib/igt_thread.h
> +++ b/lib/igt_thread.h
> @@ -21,4 +21,8 @@
>   * IN THE SOFTWARE.
>   */
>  
> +void igt_thread_clear_fail_state(void);
> +void igt_thread_fail(void);
> +void igt_thread_assert_no_failures(void);
> +
>  bool igt_thread_is_main(void);
> diff --git a/lib/tests/igt_tests_common.h b/lib/tests/igt_tests_common.h
> index fa8ad920..058f6265 100644
> --- a/lib/tests/igt_tests_common.h
> +++ b/lib/tests/igt_tests_common.h
> @@ -30,6 +30,7 @@
>  #include <errno.h>
>  #include <sys/stat.h>
>  #include <fcntl.h>
> +#include <regex.h>
>  
>  /*
>   * We need to hide assert from the cocci igt test refactor spatch.
> @@ -161,4 +162,25 @@ static inline void read_whole_pipe(int fd, char *buf, size_t buflen)
>  		offset += readlen;
>  	}
>  }
> +
> +static inline bool matches(char *str, const char *regex)
> +{
> +	int ret;
> +	regex_t reg;
> +
> +	ret = regcomp(&reg, regex, REG_EXTENDED | REG_NEWLINE);
> +
> +	if (ret == 0)
> +		ret = regexec(&reg, str, 0, NULL, 0);
> +
> +	if (0 != ret && REG_NOMATCH != ret) {
> +		char err[256];
> +		regerror(ret, &reg, err, sizeof(err));
> +		printf("%s\n", err);
> +		abort();
> +	}
> +
> +	regfree(&reg);
> +	return !ret;
> +}
>  #endif
> diff --git a/lib/tests/igt_thread.c b/lib/tests/igt_thread.c
> new file mode 100644
> index 00000000..1a734e6d
> --- /dev/null
> +++ b/lib/tests/igt_thread.c
> @@ -0,0 +1,194 @@
> +/*
> + * Copyright © 2020 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 <pthread.h>
> +
> +#include "drmtest.h"
> +#include "igt_core.h"
> +#include "igt_tests_common.h"
> +
> +char prog[] = "igt_thread";
> +char *fake_argv[] = { prog };
> +int fake_argc = ARRAY_SIZE(fake_argv);
> +
> +static void *succes_thread(void *data)

Typo in the name: succes -> success

Otherwise,
Reviewed-by: Petri Latvala <petri.latvala@intel.com>

> +{
> +	return NULL;
> +}
> +
> +static void *failure_thread(void *data)
> +{
> +	igt_assert(false);
> +	return NULL;
> +}
> +
> +static void one_subtest_fail(void) {
> +	igt_subtest_init(fake_argc, fake_argv);
> +
> +	igt_subtest("subtest-a") {
> +		pthread_t thread;
> +		pthread_create(&thread, 0, failure_thread, NULL);
> +		pthread_join(thread, NULL);
> +	}
> +
> +	igt_subtest("subtest-b") {
> +		pthread_t thread;
> +		pthread_create(&thread, 0, succes_thread, NULL);
> +		pthread_join(thread, NULL);
> +	}
> +
> +	igt_exit();
> +}
> +
> +static void one_dynamic_fail(void) {
> +	igt_subtest_init(fake_argc, fake_argv);
> +
> +	igt_subtest_with_dynamic("dynamic-container") {
> +		igt_dynamic("dynamic-a") {
> +			pthread_t thread;
> +			pthread_create(&thread, 0, failure_thread, NULL);
> +			pthread_join(thread, NULL);
> +		}
> +
> +		igt_dynamic("dynamic-b") {
> +			pthread_t thread;
> +			pthread_create(&thread, 0, succes_thread, NULL);
> +			pthread_join(thread, NULL);
> +		}
> +	}
> +
> +	igt_exit();
> +}
> +
> +static void simple_success(void) {
> +	pthread_t thread;
> +
> +	igt_simple_init(fake_argc, fake_argv);
> +
> +	pthread_create(&thread, 0, succes_thread, NULL);
> +	pthread_join(thread, NULL);
> +
> +	igt_exit();
> +}
> +
> +static void simple_failure(void) {
> +	pthread_t thread;
> +
> +	igt_simple_init(fake_argc, fake_argv);
> +
> +	pthread_create(&thread, 0, failure_thread, NULL);
> +	pthread_join(thread, NULL);
> +
> +	igt_exit();
> +}
> +
> +int main(int argc, char **argv)
> +{
> +	int status;
> +	int outfd;
> +	pid_t pid;
> +
> +	/* failing should be limited just to a single subtest */ {
> +		static char out[4096];
> +
> +		pid = do_fork_bg_with_pipes(one_subtest_fail, &outfd, NULL);
> +
> +		read_whole_pipe(outfd, out, sizeof(out));
> +
> +		internal_assert(safe_wait(pid, &status) != -1);
> +		internal_assert_wexited(status, IGT_EXIT_FAILURE);
> +
> +		internal_assert(matches(out, "\\[thread:.*\\] Stack trace"));
> +		internal_assert(strstr(out, "Subtest subtest-a: FAIL"));
> +		internal_assert(strstr(out, "Subtest subtest-b: SUCCESS"));
> +
> +		close(outfd);
> +	}
> +
> +	/* failing should be limited just to a dynamic subsubtest */ {
> +		static char out[4096];
> +
> +		pid = do_fork_bg_with_pipes(one_dynamic_fail, &outfd, NULL);
> +
> +		read_whole_pipe(outfd, out, sizeof(out));
> +
> +		internal_assert(safe_wait(pid, &status) != -1);
> +		internal_assert_wexited(status, IGT_EXIT_FAILURE);
> +
> +		internal_assert(matches(out, "\\[thread:.*\\] Stack trace"));
> +		internal_assert(strstr(out, "Dynamic subtest dynamic-a: FAIL"));
> +		internal_assert(strstr(out, "Dynamic subtest dynamic-b: SUCCESS"));
> +
> +		close(outfd);
> +	}
> +
> +	/* success in a simple test */ {
> +		static char out[4096];
> +
> +		pid = do_fork_bg_with_pipes(simple_success, &outfd, NULL);
> +
> +		read_whole_pipe(outfd, out, sizeof(out));
> +
> +		internal_assert(safe_wait(pid, &status) != -1);
> +		internal_assert_wexited(status, IGT_EXIT_SUCCESS);
> +
> +
> +		internal_assert(matches(out, "^SUCCESS"));
> +
> +		close(outfd);
> +	}
> +
> +	/* success in a simple test */ {
> +		static char out[4096];
> +
> +		pid = do_fork_bg_with_pipes(simple_success, &outfd, NULL);
> +
> +		read_whole_pipe(outfd, out, sizeof(out));
> +
> +		internal_assert(safe_wait(pid, &status) != -1);
> +		internal_assert_wexited(status, IGT_EXIT_SUCCESS);
> +
> +		internal_assert(matches(out, "^SUCCESS"));
> +
> +		close(outfd);
> +	}
> +
> +	/* failure in a simple test */ {
> +		static char out[4096];
> +
> +		pid = do_fork_bg_with_pipes(simple_failure, &outfd, NULL);
> +
> +		read_whole_pipe(outfd, out, sizeof(out));
> +
> +		internal_assert(safe_wait(pid, &status) != -1);
> +		internal_assert_wexited(status, IGT_EXIT_FAILURE);
> +
> +		internal_assert(matches(out, "\\[thread:.*\\] Stack trace"));
> +		internal_assert(matches(out, "^FAIL"));
> +
> +		close(outfd);
> +	}
> +
> +	return 0;
> +}
> diff --git a/lib/tests/meson.build b/lib/tests/meson.build
> index 47ef303a..9cf5ff47 100644
> --- a/lib/tests/meson.build
> +++ b/lib/tests/meson.build
> @@ -18,6 +18,7 @@ lib_tests = [
>  	'igt_simulation',
>  	'igt_stats',
>  	'igt_subtest_group',
> +	'igt_thread',
>  	'i915_perf_data_alignment',
>  ]
>  
> -- 
> 2.25.4
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 3/3] igt/core: Disallow igt_require/skip in non-main threads
  2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 3/3] igt/core: Disallow igt_require/skip in non-main threads Arkadiusz Hiler
@ 2020-06-18 12:59   ` Petri Latvala
  0 siblings, 0 replies; 12+ messages in thread
From: Petri Latvala @ 2020-06-18 12:59 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

On Tue, Jun 16, 2020 at 05:14:50PM +0300, Arkadiusz Hiler wrote:
> Handling magic control blocks and longjmp() out of them  in threads is
> hard.
> 
> The test should state the requirements before it starts spinning
> threads.
> 
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

Reviewed-by: Petri Latvala <petri.latvala@intel.com>


> ---
>  lib/igt_core.c         |  3 +++
>  lib/tests/igt_thread.c | 34 +++++++++++++++++++++++++++++++++-
>  2 files changed, 36 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index ccf06cf4..cedd8168 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -1475,6 +1475,9 @@ void __igt_skip_check(const char *file, const int line,
>  	int err = errno;
>  	char *err_str = NULL;
>  
> +	if (!igt_thread_is_main())
> +		assert(!"igt_require/skip allowed only in the main thread!");
> +
>  	if (err)
>  		igt_assert_neq(asprintf(&err_str, "Last errno: %i, %s\n", err, strerror(err)),
>  			       -1);
> diff --git a/lib/tests/igt_thread.c b/lib/tests/igt_thread.c
> index 1a734e6d..3fb90416 100644
> --- a/lib/tests/igt_thread.c
> +++ b/lib/tests/igt_thread.c
> @@ -43,6 +43,12 @@ static void *failure_thread(void *data)
>  	return NULL;
>  }
>  
> +static void *require_thread(void *data)
> +{
> +	igt_require(false);
> +	return NULL;
> +}
> +
>  static void one_subtest_fail(void) {
>  	igt_subtest_init(fake_argc, fake_argv);
>  
> @@ -103,10 +109,21 @@ static void simple_failure(void) {
>  	igt_exit();
>  }
>  
> +static void require_non_main_thread(void) {
> +	pthread_t thread;
> +
> +	igt_simple_init(fake_argc, fake_argv);
> +
> +	pthread_create(&thread, 0, require_thread, NULL);
> +	pthread_join(thread, NULL);
> +
> +	igt_exit();
> +}
> +
>  int main(int argc, char **argv)
>  {
>  	int status;
> -	int outfd;
> +	int outfd, errfd;
>  	pid_t pid;
>  
>  	/* failing should be limited just to a single subtest */ {
> @@ -190,5 +207,20 @@ int main(int argc, char **argv)
>  		close(outfd);
>  	}
>  
> +	/* require in a thread should SIGABRT */ {
> +		static char err[4096];
> +
> +		pid = do_fork_bg_with_pipes(require_non_main_thread, NULL, &errfd);
> +
> +		read_whole_pipe(errfd, err, sizeof(err));
> +
> +		internal_assert(safe_wait(pid, &status) != -1);
> +		internal_assert_wsignaled(status, SIGABRT);
> +
> +		internal_assert(strstr(err, "allowed only in the main thread"));
> +
> +		close(errfd);
> +	}
> +
>  	return 0;
>  }
> -- 
> 2.25.4
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2020-06-18 12:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-16 14:14 [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Arkadiusz Hiler
2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 2/3] lib/core: Handle asserts in threads Arkadiusz Hiler
2020-06-18 12:59   ` Petri Latvala
2020-06-16 14:14 ` [igt-dev] [PATCH i-g-t 3/3] igt/core: Disallow igt_require/skip in non-main threads Arkadiusz Hiler
2020-06-18 12:59   ` Petri Latvala
2020-06-16 16:55 ` [igt-dev] ✗ GitLab.Pipeline: warning for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for " Patchwork
2020-06-16 17:06 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2020-06-16 18:25 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-06-17 13:52   ` Arkadiusz Hiler
2020-06-17 14:37 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/3] lib/core: Print thred:tid with igt_log for non-main threads (rev2) Patchwork
2020-06-17 16:44 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-06-18 12:51 ` [igt-dev] [PATCH i-g-t 1/3] lib/core: Print thred:tid with igt_log for non-main threads Petri Latvala

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.