Bug#1050665: clutter-1.0: FTBFS on riscv64 due to test timeout

2023-10-18 Thread Bo YU
Source: clutter-1.0
Followup-For: Bug #1050665

Dear Maintainer,

It seems the package has the same issue like #1050818 and the package is
a very key package also, so do you have a plan to upload it and apply
the patch?

Many thanks for supporting riscv64 port here.

BR,
Bo

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050818


-- 
Regards,
--
  Bo YU



signature.asc
Description: PGP signature


Bug#1050665: clutter-1.0: FTBFS on riscv64 due to test timeout

2023-08-28 Thread Aurelien Jarno
Hi Simon,

On 2023-08-28 11:07, Simon McVittie wrote:
> On Sun, 27 Aug 2023 at 21:18:38 +0200, Aurelien Jarno wrote:
> >  test(t, test_bin,
> >suite: suite_name,
> >env: test_env,
> > +  timeout: 100,
> >  )
> 
> It's probably worth mentioning before you file too many bugs similar to
> this one that Meson has a feature that's really useful in this situation:

I do not expect a lot similar bugs, as riscv64 was built before on
debian-ports, it's mostly for the packages which evolved since they got
built on debian-ports. That said, the fact that the development is
reopened after the Bookworm release and the lack of experimental on the
debian archive increase the chances to have such cases.

> if debian/rules passes an argument like `--timeout-multiplier 5` to
> `meson test`, then all test(timeout:) arguments are multiplied by 5.
> 
> Choosing an appropriate --timeout-multiplier is often enough to make
> tests pass on slower buildds without having to patch any upstream source,
> which reduces the time spent on rebasing patches later.

Thanks a lot for the explanation. That's indeed way better. I therefore
came with the following patch instead:

--- clutter-1.0-1.26.4+git2779b932+dfsg/debian/rules
+++ clutter-1.0-1.26.4+git2779b932+dfsg/debian/rules
@@ -56,7 +56,7 @@
 ifneq (,$(filter armel s390x,$(DEB_HOST_ARCH)))
 # Ignore test failures on architectures where they fail
 else ifneq (,$(filter hppa hurd-i386 kfreebsd-i386 kfreebsd-amd64 mips mipsel 
mips64el powerpc ppc64 sparc64,$(DEB_HOST_ARCH)))
-   -dbus-run-session -- xvfb-run -a dh_auto_test
+   -dbus-run-session -- xvfb-run -a dh_auto_test -- --timeout-multiplier 3
 else
-   dbus-run-session -- xvfb-run -a dh_auto_test
+   dbus-run-session -- xvfb-run -a dh_auto_test -- --timeout-multiplier 3
 endif

I didn't try to use a different multiplier depending on the
architecture as it has no impact on working tests anyway.

Regards
Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://aurel32.net



Bug#1050665: clutter-1.0: FTBFS on riscv64 due to test timeout

2023-08-28 Thread Simon McVittie
On Sun, 27 Aug 2023 at 21:18:38 +0200, Aurelien Jarno wrote:
>  test(t, test_bin,
>suite: suite_name,
>env: test_env,
> +  timeout: 100,
>  )

It's probably worth mentioning before you file too many bugs similar to
this one that Meson has a feature that's really useful in this situation:
if debian/rules passes an argument like `--timeout-multiplier 5` to
`meson test`, then all test(timeout:) arguments are multiplied by 5.

Choosing an appropriate --timeout-multiplier is often enough to make
tests pass on slower buildds without having to patch any upstream source,
which reduces the time spent on rebasing patches later.

smcv



Bug#1050665: clutter-1.0: FTBFS on riscv64 due to test timeout

2023-08-27 Thread Aurelien Jarno
Source: clutter-1.0
Version: 1.26.4+git2779b932+dfsg-5
Severity: important
Tags: patch ftbfs
User: debian-ri...@lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: debian-ri...@lists.debian.org

Dear maintainer,

clutter-1.0 fails to build from source on riscv64 with a timeout in on test:

| === 25/25 
| test: clutter:actor / actor-pick
| start time:   05:39:05
| duration: 30.17s
| result:   killed by signal 15 SIGTERM
| command:  G_ENABLE_DIAGNOSTIC=0 
LD_LIBRARY_PATH=/<>/obj-riscv64-linux-gnu/clutter 
CLUTTER_ENABLE_DIAGNOSTIC=0 
G_TEST_BUILDDIR=/<>/obj-riscv64-linux-gnu/tests/conform 
MALLOC_PERTURB_=247 G_TEST_SRCDIR=/<>/tests/conform 
CLUTTER_BACKEND=x11 
/<>/obj-riscv64-linux-gnu/tests/conform/actor-pick
| --- stdout ---
| TAP version 13
| # random seed: R02Sb54186406fb0014222d460465642f460
| 1..1
| # Start of actor tests
| ==
| 
| 
| Summary of Failures:
| 
| 25/25 clutter:actor / actor-pick TIMEOUT30.17s   
killed by signal 15 SIGTERM
| 
| Ok: 24  
| Expected Fail:  0   
| Fail:   0   
| Unexpected Pass:0   
| Skipped:0   
| Timeout:1   
| dh_auto_test: error: cd obj-riscv64-linux-gnu && LC_ALL=C.UTF-8 
MESON_TESTTHREADS=4 meson test returned exit code 1
| make[1]: *** [debian/rules:61: override_dh_auto_test] Error 25
| make[1]: Leaving directory '/<>'
| make: *** [debian/rules:26: binary-arch] Error 2
| dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit 
status 2

The full build log is available there:
https://buildd.debian.org/status/fetch.php?pkg=clutter-1.0=riscv64=1.26.4%2Bgit2779b932%2Bdfsg-5=1691732382=0

After investigation, it appeared the test actually passes, but needs
more time than the default 30 seconds timeout of meson. The following
patch, increasing the timeout to 100 seconds is enough to get the test
pass:

--- clutter-1.0-1.26.4+git2779b932+dfsg.orig/tests/conform/meson.build
+++ clutter-1.0-1.26.4+git2779b932+dfsg/tests/conform/meson.build
@@ -91,6 +91,7 @@ foreach suite: conformance_suites
 test(t, test_bin,
   suite: suite_name,
   env: test_env,
+  timeout: 100,
 )
   endforeach
 endforeach

I guess it might also fix the same issue on a few other architectures.

Regards
Aurelien