[PATCH i-g-t v2 1/2] igt fork problem with sanitize
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Mon Nov 23 08:23:25 UTC 2020
---
lib/igt_core.c | 2 ++
meson.build | 1 +
meson.sh | 2 +-
tests/igt.c | 29 +++++++++++++++++++++++++++++
tests/meson.build | 1 +
5 files changed, 34 insertions(+), 1 deletion(-)
create mode 100644 tests/igt.c
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 8f9d925b..85f7322e 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -2328,7 +2328,9 @@ int __igt_waitchildren(void)
pid_t pid;
int c;
+ printf("Before WAIT, count: %d\n", count);
pid = wait(&status);
+ printf("After WAIT, pid: %ld, status: %d\n", (long) pid, status);
if (pid == -1) {
if (errno == EINTR)
continue;
diff --git a/meson.build b/meson.build
index f4ee14f1..0e5e1932 100644
--- a/meson.build
+++ b/meson.build
@@ -5,6 +5,7 @@ project('igt-gpu-tools', 'c',
'c_std=gnu11',
'b_ndebug=false',
'buildtype=debugoptimized',
+ 'b_sanitize=address',
],
license : 'MIT',
meson_version : '>=0.47.2')
diff --git a/meson.sh b/meson.sh
index 7cf9d4a3..1dd5fa9b 100755
--- a/meson.sh
+++ b/meson.sh
@@ -7,7 +7,7 @@ default: all
build/build.ninja:
mkdir -p build
- meson build
+ meson build -Db_sanitize=address
all: build/build.ninja
ninja -C build
diff --git a/tests/igt.c b/tests/igt.c
new file mode 100644
index 00000000..9e6f7ca7
--- /dev/null
+++ b/tests/igt.c
@@ -0,0 +1,29 @@
+#include "igt.h"
+
+#define FORK_PROBLEM_TIMEOUT 1
+static void fork_problem(void)
+{
+ igt_fork(child, 8) {
+ igt_info("LOG (child) enter pid: %ld\n", (long) gettid());
+
+ igt_until_timeout(FORK_PROBLEM_TIMEOUT) {
+ usleep(10);
+ }
+
+ igt_info("LOG (child) exit %ld\n", (long) gettid());
+ }
+
+
+ igt_info("Before wait\n");
+ igt_waitchildren();
+ igt_info("After wait\n");
+}
+
+igt_main
+{
+ igt_subtest_f("fork-problem") {
+ igt_fork_signal_helper();
+ fork_problem();
+ igt_stop_signal_helper();
+ }
+}
diff --git a/tests/meson.build b/tests/meson.build
index a2decf4a..f0b440e7 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -14,6 +14,7 @@ test_progs = [
'drm_read',
'fbdev',
'feature_discovery',
+ 'igt',
'kms_3d',
'kms_addfb_basic',
'kms_async_flips',
--
2.26.0
More information about the Intel-gfx-trybot
mailing list