diff mbox series

tests/tcg: Skip failing ppc64 multi-threaded tests in CI

Message ID 20240725145904.421456-1-npiggin@gmail.com (mailing list archive)
State New, archived
Headers show
Series tests/tcg: Skip failing ppc64 multi-threaded tests in CI | expand

Commit Message

Nicholas Piggin July 25, 2024, 2:59 p.m. UTC
In Gitlab CI, some ppc64 multi-threaded tcg tests crash when run in the
clang-user job with an assertion failure in glibc that seems to
indicate corruption:

  signals: allocatestack.c:223: allocate_stack:
    Assertion `powerof2 (pagesize_m1 + 1)' failed.

Disable these tests on CI for now.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
gcc compiled host does work in CI, though I don't know if there is a
simple way to test for that in the makefile. clang compiled crash does
not reproduce on my local system / compiler, so progress in debugging
this has been slow.

Thanks,
Nick
---
 tests/tcg/ppc64/Makefile.target | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

Comments

Peter Maydell July 25, 2024, 3:03 p.m. UTC | #1
On Thu, 25 Jul 2024 at 16:00, Nicholas Piggin <npiggin@gmail.com> wrote:
>
> In Gitlab CI, some ppc64 multi-threaded tcg tests crash when run in the
> clang-user job with an assertion failure in glibc that seems to
> indicate corruption:
>
>   signals: allocatestack.c:223: allocate_stack:
>     Assertion `powerof2 (pagesize_m1 + 1)' failed.
>
> Disable these tests on CI for now.
>
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> ---
> gcc compiled host does work in CI, though I don't know if there is a
> simple way to test for that in the makefile. clang compiled crash does
> not reproduce on my local system / compiler, so progress in debugging
> this has been slow.
>
> Thanks,
> Nick
> ---
>  tests/tcg/ppc64/Makefile.target | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
>
> diff --git a/tests/tcg/ppc64/Makefile.target b/tests/tcg/ppc64/Makefile.target
> index 8c3e4e4038..d57f9338b4 100644
> --- a/tests/tcg/ppc64/Makefile.target
> +++ b/tests/tcg/ppc64/Makefile.target
> @@ -11,6 +11,21 @@ config-cc.mak: Makefile
>
>  -include config-cc.mak
>
> +ifneq ($(GITLAB_CI),)
> +# When multi-thread tests are run under the clang-user in CI, it causes crashes
> +# in glibc, so disable for now.
> +# signals: allocatestack.c:223: allocate_stack: Assertion `powerof2 (pagesize_m1 + 1)' failed.
> +run-signals: signals
> +       $(call skip-test, $<, "Broken on Gitlab CI for clang-user")
> +run-plugin-signals-with-%:
> +       $(call skip-test, $<, "Broken on Gitlab CI for clang-user")
> +
> +run-threadcount: threadcount
> +       $(call skip-test, $<, "Broken on Gitlab CI for clang-user")
> +run-plugin-threadcount-with-%:
> +       $(call skip-test, $<, "Broken on Gitlab CI for clang-user")
> +endif

Please don't disable tests on gitlab-CI only. If they don't work
in the CI then they might also not work on the user's local
machine. And if they're disabled in CI then they're quite likely
to bitrot and then a local user will find they're broken for
some reason unrelated to whatever they were doing that made them
want to run the tests.

Also, if we need to disable a test for some reason we should
file an issue in gitlab with the details, and include the gitlab
issue URL in a comment next to where we're disabling the test.

thanks
-- PMM
diff mbox series

Patch

diff --git a/tests/tcg/ppc64/Makefile.target b/tests/tcg/ppc64/Makefile.target
index 8c3e4e4038..d57f9338b4 100644
--- a/tests/tcg/ppc64/Makefile.target
+++ b/tests/tcg/ppc64/Makefile.target
@@ -11,6 +11,21 @@  config-cc.mak: Makefile
 
 -include config-cc.mak
 
+ifneq ($(GITLAB_CI),)
+# When multi-thread tests are run under the clang-user in CI, it causes crashes
+# in glibc, so disable for now.
+# signals: allocatestack.c:223: allocate_stack: Assertion `powerof2 (pagesize_m1 + 1)' failed.
+run-signals: signals
+	$(call skip-test, $<, "Broken on Gitlab CI for clang-user")
+run-plugin-signals-with-%:
+	$(call skip-test, $<, "Broken on Gitlab CI for clang-user")
+
+run-threadcount: threadcount
+	$(call skip-test, $<, "Broken on Gitlab CI for clang-user")
+run-plugin-threadcount-with-%:
+	$(call skip-test, $<, "Broken on Gitlab CI for clang-user")
+endif
+
 ifneq ($(CROSS_CC_HAS_POWER8_VECTOR),)
 PPC64_TESTS=bcdsub non_signalling_xscv
 endif