* [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(®, regex, REG_EXTENDED | REG_NEWLINE);
+
+ if (ret == 0)
+ ret = regexec(®, str, 0, NULL, 0);
+
+ if (0 != ret && REG_NOMATCH != ret) {
+ char err[256];
+ regerror(ret, ®, err, sizeof(err));
+ printf("%s\n", err);
+ abort();
+ }
+
+ regfree(®);
+ 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(®, regex, REG_EXTENDED | REG_NEWLINE);
> +
> + if (ret == 0)
> + ret = regexec(®, str, 0, NULL, 0);
> +
> + if (0 != ret && REG_NOMATCH != ret) {
> + char err[256];
> + regerror(ret, ®, err, sizeof(err));
> + printf("%s\n", err);
> + abort();
> + }
> +
> + regfree(®);
> + 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox