From ebd74e112d55c05f34ac8099f85ced4759963528 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 14 Mar 2024 11:37:55 -0400 Subject: [PATCH 1/8] ci: Drop some unnecessary packages We don't use at, at-spi or the docbook stylesheets. --- .gitlab-ci/fedora.Dockerfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitlab-ci/fedora.Dockerfile b/.gitlab-ci/fedora.Dockerfile index 4c1ae0bf45d..ccb67dc5ddf 100644 --- a/.gitlab-ci/fedora.Dockerfile +++ b/.gitlab-ci/fedora.Dockerfile @@ -2,8 +2,6 @@ FROM fedora:39 RUN dnf -y install \ adwaita-icon-theme \ - atk-devel \ - at-spi2-atk-devel \ avahi-gobject-devel \ cairo-devel \ cairo-gobject-devel \ @@ -18,7 +16,6 @@ RUN dnf -y install \ dejavu-sans-mono-fonts \ desktop-file-utils \ diffutils \ - docbook-style-xsl \ elfutils-libelf-devel \ expat-devel \ fribidi-devel \ -- GitLab From b269a4712ac8c8c6e3d916890b207838aa5d6c58 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 14 Mar 2024 11:39:51 -0400 Subject: [PATCH 2/8] ci: Use ubsan as well We have libubsan in the ci image, so we may as well enable both asan and ubsan. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5320e81a48f..c5fdce3c954 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -422,7 +422,7 @@ asan-build: - export PATH="$HOME/.local/bin:$PATH" - CC=clang meson setup --buildtype=debugoptimized - -Db_sanitize=address + -Db_sanitize=address,undefined -Db_lundef=false -Dbuild-demos=false -Dbuild-tests=false -- GitLab From 65cf59408bba4e3ebcf1767bbaa8df75688fbee2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 14 Mar 2024 15:30:51 -0400 Subject: [PATCH 3/8] ci: Use v50 of the Fedora image This has dropped some unnecessary packages. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c5fdce3c954..93149e357df 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,7 +26,7 @@ variables: BACKEND_FLAGS: "-Dx11-backend=true -Dwayland-backend=true -Dbroadway-backend=true" FEATURE_FLAGS: "-Dvulkan=enabled -Dcloudproviders=enabled -Dbuild-testsuite=true -Dintrospection=enabled" MESON_TEST_TIMEOUT_MULTIPLIER: 3 - FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v49" + FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v50" workflow: rules: -- GitLab From a904292bfb39f7804f57585e47ccd2cde2ede606 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 14 Mar 2024 22:07:46 -0400 Subject: [PATCH 4/8] Drop an unintenionally added file --- .gitlab-ci/.fedora.Dockerfile.swp | Bin 12288 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .gitlab-ci/.fedora.Dockerfile.swp diff --git a/.gitlab-ci/.fedora.Dockerfile.swp b/.gitlab-ci/.fedora.Dockerfile.swp deleted file mode 100644 index 8dfbbcce6000e95b0c8793d90f7f7ea88737c82c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2ONbmr7{@CyM587?_87!AiHVxjPIlKq8AkepWsRGaqw{vBq;uSwria3iAk=JYWUGzUw!pe z)xW-~o@LwJdT`f1XWQsjg6l>?etpg7e~&zO)%f?zNbE&S@uaA^=oN5ZX6&Lay~?M{ zfQ>nsXC7CLP`5gb(NO4!xzrPlr9h*T(rfW75D~w0OzUA4unJtR0;|cy_*ieNuU~hY zGjj9%6|f3e1*`&A0jt3OKmnaDBhO$S%geds<$YQ0UKZ`mDqt0` z3RnfK0#*U5fK|XMU=^?mSOu&CR)H%}0p=5Ob_F4Cti<5)|9|uM|8F1hT3`lj2X}&7!A;=L)r5QpJ_8?ucfcv| z0(c6fzymwL7H|t#34XYqkoUpM;5bl#gBdUh?gi_>3h>KygnSFmfw#a(@I27qN$@DR z4>({I`2AY=gO9;!@Dexq$Js|ooTd?wQ;*>ol4&=8atOjLgqX z%{sj&GCRM&_r!ePp}Di+k(s#zhl~2dyCxkv?JPDqj~p5+r{RjE;WE`+YFTttao%ur zuy~B@n4PXTY`+H=>2;_$Iuj1%&L-7Z@7&(&q*2~B_3T@>nDS9&p8B50HaQKhy@twt z$umXPJ5vdBBkmLiCy-e=>|%-vZ>)_Q9X|;iFXAk5SQHTlS4Uqac`X_`qbJsBzL^ENarLzlIKwss!1 zSW z?fPy$WE5$=HS=056iIyqG0R%MTuf^23nE!y<27R_-39LHn$?$Hu0>QEf^iZlFP4Oc zN@twK{Z&cJ3ghR&M`@;okuEJPgHop~31!8S6oaI0E+W4S6X#m@yNJ1xW?pz^#j;QD zotmq}FcnkNdx!0QCMZCPnb{#kM@2>gln!a7D-8=<#uFcDIXL>B8M!rN?X+A^#xb(8 z?k*CZv6v0phb)2U@M^9W-T7!7Ry8clUY;pAG>rc=%Q%%v=%F~dtFR-NQWs&h2!i^! z6puubck1R$wL_CyXqhHq-6NKHGNkH4%0sI2%&jH?A_M`JX<(zm#8cVn){R~yb02%V zEwDO6dNHksRAB>i^klo7?gH|PhUlfzfj}lmX$}jaB(}WIP2%7Xk`ZLbEup%}V_pX9 zZ;UaDa|=6EQJmCOxi9GB(;(xQ^b4gln`0o#pju(Z(q>y6G2BCpLhBtzeQ8g zar0oD#?sHDzUtvXO{F`}qu%DtCYomk8)U*2el?qTC&dvy*qTQ{@5Cz(6g*eza2mQ& zwlI}$#3{~-vJW5oWAKu&8^ae~9*+jf2O$rpa56iA>V+l~9e} zs~HrGwOLbK&=<<8RE$%mTa_3?Wq*+g&8pj{_yJV>IG|kz+eYKp0R~ET&d%&}mOiw9 IU}78j2d%wA!vFvP -- GitLab From 05d36b2ba456a72f21cb32608037e5fea4fbbc99 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 26 Feb 2024 13:12:12 +0000 Subject: [PATCH 5/8] testsuite: Force Mesa to use software GL when asserting about stderr In an autobuilder environment, there will typically be no hardware GPU available, so Mesa will fall back from hardware to Zink to software rendering. Unfortunately, Zink logs to stderr during loading if no hardware GPUs are available. This particular test asserts that stderr has desired contents, which means Zink's extra output causes the test to fail. We can bypass this by disabling use of Zink. Resolves: https://gitlab.gnome.org/GNOME/gtk/-/issues/6478 Signed-off-by: Simon McVittie --- testsuite/tools/validate | 3 +++ 1 file changed, 3 insertions(+) diff --git a/testsuite/tools/validate b/testsuite/tools/validate index 414a5053b3d..35e3489f1e4 100755 --- a/testsuite/tools/validate +++ b/testsuite/tools/validate @@ -4,6 +4,9 @@ GTK_BUILDER_TOOL=${GTK_BUILDER_TOOL:-gtk4-builder-tool} TEST_DATA_DIR=${G_TEST_SRCDIR:-.}/validate-data TEST_RESULT_DIR=${TEST_RESULT_DIR:-/tmp}/validate +# https://gitlab.freedesktop.org/mesa/mesa/-/issues/10293 +export LIBGL_ALWAYS_SOFTWARE=true + mkdir -p "$TEST_RESULT_DIR" shopt -s nullglob -- GitLab From c0391ce193e3268a6d5601e064cb43b04045022a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 14 Mar 2024 23:19:51 -0400 Subject: [PATCH 6/8] glcontext: Don't call get_instance_private (NULL) ubsan does not like this. See a9175e0c030 for a detailed explanation. --- gdk/gdkglcontext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c index a6dbba121a6..e330453c36d 100644 --- a/gdk/gdkglcontext.c +++ b/gdk/gdkglcontext.c @@ -290,7 +290,7 @@ gdk_gl_context_create_egl_context (GdkGLContext *context, GdkDisplay *display = gdk_gl_context_get_display (context); EGLDisplay egl_display = gdk_display_get_egl_display (display); GdkGLContext *share = gdk_display_get_gl_context (display); - GdkGLContextPrivate *share_priv = gdk_gl_context_get_instance_private (share); + GdkGLContextPrivate *share_priv = share ? gdk_gl_context_get_instance_private (share) : NULL; EGLConfig egl_config; EGLContext ctx; EGLint context_attribs[N_EGL_ATTRS], i = 0, flags = 0; -- GitLab From b832b3fd356996459c76c403f2d5bca4de251c08 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 15 Mar 2024 00:14:17 -0400 Subject: [PATCH 7/8] Drop -Werror=array-bounds for now Until somebody fixes the code in gtkcssselector.c in a way that makes the compiler happy, don't pass unhappiness-inducing flags. --- meson.build | 1 - 1 file changed, 1 deletion(-) diff --git a/meson.build b/meson.build index bf32c40fc25..67d6331bab2 100644 --- a/meson.build +++ b/meson.build @@ -307,7 +307,6 @@ elif cc.get_id() == 'gcc' or cc.get_id() == 'clang' extra_warnings = [ 'address', - 'array-bounds', 'empty-body', 'enum-int-mismatch', 'implicit', -- GitLab From 79b30bdf0a3612f762486e8ac23882c33bf89339 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 15 Mar 2024 00:38:12 -0400 Subject: [PATCH 8/8] ci: Set some ubsan options Hopefully, this makes the build survive. --- .gitlab-ci/run-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci/run-tests.sh b/.gitlab-ci/run-tests.sh index dd03cfc16ce..8df3dad3b5e 100755 --- a/.gitlab-ci/run-tests.sh +++ b/.gitlab-ci/run-tests.sh @@ -11,7 +11,7 @@ multiplier=${MESON_TEST_TIMEOUT_MULTIPLIER:-1} # Ignore memory leaks lower in dependencies export LSAN_OPTIONS=suppressions=$srcdir/lsan.supp:print_suppressions=0:detect_leaks=0:allocator_may_return_null=1 -export G_SLICE=always-malloc +export UBSAN_OPTIONS=silence_unsigned_overflow=1 case "${setup}" in x11*) -- GitLab