Your message dated Sun, 28 Oct 2018 14:48:24 +0000
with message-id <[email protected]>
and subject line Bug#906429: fixed in systemd 239-11
has caused the Debian Bug report #906429,
regarding systemd: Please raise timeout for tests (for riscv64)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
906429: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906429
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: systemd
Version: 239-7
Severity: normal
Tags: upstream patch
User: [email protected]
Usertags: riscv64

Hi,

This package fails to build in riscv64 due to timeout of the tests (it varies,
but it's often around 5 test cases of the current ~300).

systemd is one of the two remaining packages left from the base set that we have
to patch and ship from "unreleased" instead of "unstable", and possibly the only
remaining one that makes impossible to use "debootstrap" at the moment, so it
would be very nice if this could be sorted out soonish.

Admittedly, this is a problem specially in this architecture due to having
buildds using qemu-system at the moment.  However, it's not the only one with
buildds running in qemu (although the others use qemu-user, AFAIK), or with slow
hardware or potentially with systems under load for other reasons, so it could
become a problem for other arches in the future also due to changes upstream (if
the tests start to take more time).

In my opinion, the fact that the buildds are slow by itself shouldn't be a
reason to fail tests, unless the times are truly disproportionate or disruptive
(e.g. taking hours, or more time than the build itself).  This is clearly not
the case, waiting 300s instead of 30s is still a very small % of the total time
to build, probably less than 1%.


To try to address it, I first tried to increase the timeout only for the riscv64
architecture, with this recipe in debian/rules (the lines added and commented
out):

  ====================================================
  +++ systemd-239/debian/rules    2018-08-16 17:02:43.000000000 +0200
  @@ -5,6 +5,12 @@
  
   export LC_ALL = C.UTF-8
  
  +#include /usr/share/dpkg/architecture.mk
  +#
  +#ifeq ($(DEB_HOST_ARCH),riscv64)
  +#    TEST_TIMEOUT_MULTIPLIER = "-t 10"
  +#endif
  +
   include /usr/share/dpkg/default.mk
  
   ifeq ($(DEB_VENDOR),Ubuntu)
  @@ -282,6 +288,8 @@
   ifeq (, $(filter nocheck, $(DEB_BUILD_OPTIONS)))
          echo "01234567890123456789012345678901" > build-deb/machine-id
          # some tests hang under fakeroot, so disable fakeroot
  +#      env -u LD_PRELOAD 
SYSTEMD_MACHINE_ID_PATH=$(CURDIR)/build-deb/machine-id ninja 
$(TEST_TIMEOUT_MULTIPLIER) -C build-deb test || ( \
  +#
          env -u LD_PRELOAD 
SYSTEMD_MACHINE_ID_PATH=$(CURDIR)/build-deb/machine-id ninja -C build-deb test 
|| ( \
                  cat build-deb/meson-logs/testlog.txt; \
                  exit 1)
  ====================================================

However, I believe that this would have worked if invoking "meson test"
directly, but not when invoking "ninja", because it doesn't pass the -t argument
down to "meson test", and there doesn't seem to be any other way to achieve
this.

There's an open issue about this upstream, but it doesn't seem like it's to be
implemented any time soon:

  https://github.com/mesonbuild/meson/issues/2037

  (An environment variable would be a possible solution, I left a comment
  there).


Anyway, so what I did was to use the patch attached to modify upstream in a
couple of places to increase or add explicitly timeout for some tests (instead
of the default of 30s), and this makes it build fine in the same systems used as
buildds now.

So please consider to apply this patch or any equivalent solution that you
prefer, to make unnecessary to build this package every time that there's a new
version, and to be able to use "debootstrap".


Thanks and cheers.
--
Manuel A. Fernandez Montecelo <[email protected]>
diff -Nru systemd-239/debian/changelog systemd-239/debian/changelog
--- systemd-239/debian/changelog        2018-07-22 13:40:15.000000000 +0200
+++ systemd-239/debian/changelog        2018-08-16 17:02:43.000000000 +0200
@@ -1,3 +1,10 @@
+systemd (239-7+0.riscv64.1) unreleased; urgency=medium
+
+  * Non-maintainer upload.
+  * riscv64: increase timeout for tests
+
+ -- Manuel A. Fernandez Montecelo <[email protected]>  Thu, 16 Aug 2018 17:02:43 
+0200
+
 systemd (239-7) unstable; urgency=medium
 
   * autopkgtest: Add iputils-ping dependency to root-unittests.
diff -Nru systemd-239/debian/patches/riscv64-support.patch 
systemd-239/debian/patches/riscv64-support.patch
--- systemd-239/debian/patches/riscv64-support.patch    1970-01-01 
01:00:00.000000000 +0100
+++ systemd-239/debian/patches/riscv64-support.patch    2018-08-16 
17:02:43.000000000 +0200
@@ -0,0 +1,41 @@
+--- a/meson.build
++++ b/meson.build
+@@ -2382,7 +2382,8 @@
+ 
+         test('test-systemd-tmpfiles',
+              test_systemd_tmpfiles_py,
+-             args : exe.full_path())
++             args : exe.full_path(),
++             timeout : 300)
+         # https://github.com/mesonbuild/meson/issues/2681
+ endif
+ 
+@@ -2559,7 +2560,7 @@
+         type = tuple.length() >= 5 ? tuple[4] : ''
+         defs = tuple.length() >= 6 ? tuple[5] : []
+         incs = tuple.length() >= 7 ? tuple[6] : includes
+-        timeout = 30
++        timeout = 300
+ 
+         name = sources[0].split('/')[-1].split('.')[0]
+         if type.startswith('timeout=')
+@@ -2625,7 +2626,7 @@
+         link_with : [libudev],
+         install : install_tests,
+         install_dir : testsdir)
+-test('test-libudev-sym', exe)
++test('test-libudev-sym', exe, timeout : 300)
+ 
+ exe = executable(
+         'test-libudev-static-sym',
+--- a/hwdb/meson.build
++++ b/hwdb/meson.build
+@@ -38,7 +38,7 @@
+ parse_hwdb_py = find_program('parse_hwdb.py')
+ test('parse-hwdb',
+      parse_hwdb_py,
+-     timeout : 90)
++     timeout : 300)
+ 
+ ############################################################
+ 
diff -Nru systemd-239/debian/patches/series systemd-239/debian/patches/series
--- systemd-239/debian/patches/series   2018-07-22 13:40:15.000000000 +0200
+++ systemd-239/debian/patches/series   2018-08-16 17:02:43.000000000 +0200
@@ -28,3 +28,4 @@
 debian/Revert-systemctl-when-removing-enablement-or-mask-symlink.patch
 debian/Revert-udev-rules-Permission-changes-for-dev-kvm.patch
 debian/Drop-seccomp-system-call-filter-for-udev.patch
+riscv64-support.patch

--- End Message ---
--- Begin Message ---
Source: systemd
Source-Version: 239-11

We believe that the bug you reported is fixed in the latest version of
systemd, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Michael Biebl <[email protected]> (supplier of updated systemd package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sun, 28 Oct 2018 13:02:18 +0100
Source: systemd
Binary: systemd systemd-sysv systemd-container systemd-journal-remote 
systemd-coredump systemd-tests libpam-systemd libnss-myhostname 
libnss-mymachines libnss-resolve libnss-systemd libsystemd0 libsystemd-dev udev 
libudev1 libudev-dev udev-udeb libudev1-udeb
Architecture: source
Version: 239-11
Distribution: unstable
Urgency: high
Maintainer: Debian systemd Maintainers 
<[email protected]>
Changed-By: Michael Biebl <[email protected]>
Description:
 libnss-myhostname - nss module providing fallback resolution for the current 
hostname
 libnss-mymachines - nss module to resolve hostnames for local container 
instances
 libnss-resolve - nss module to resolve names via systemd-resolved
 libnss-systemd - nss module providing dynamic user and group name resolution
 libpam-systemd - system and service manager - PAM module
 libsystemd-dev - systemd utility library - development files
 libsystemd0 - systemd utility library
 libudev-dev - libudev development files
 libudev1   - libudev shared library
 libudev1-udeb - libudev shared library (udeb)
 systemd    - system and service manager
 systemd-container - systemd container/nspawn tools
 systemd-coredump - tools for storing and retrieving coredumps
 systemd-journal-remote - tools for sending and receiving remote journal logs
 systemd-sysv - system and service manager - SysV links
 systemd-tests - tests for systemd
 udev       - /dev/ and hotplug management daemon
 udev-udeb  - /dev/ and hotplug management daemon (udeb)
Closes: 906429 912007 912008
Changes:
 systemd (239-11) unstable; urgency=high
 .
   [ Michael Biebl ]
   * debian/tests/upstream: Clean up after each test run.
     Otherwise the loopback images used by qemu are not properly released and
     we might run out of disk space.
   * dhcp6: Make sure we have enough space for the DHCP6 option header.
     Fixes out-of-bounds heap write in systemd-networkd dhcpv6 option
     handling.
     (CVE-2018-15688, LP: #1795921, Closes: #912008)
   * chown-recursive: Rework the recursive logic to use O_PATH.
     Fixes a race condition in chown_one() which allows an attacker to cause
     systemd to set arbitrary permissions on arbitrary files.
     (CVE-2018-15687, LP: #1796692, Closes: #912007)
 .
   [ Martin Pitt ]
   * debian/tests/boot-and-services: Use gdm instead of lightdm.
     This seems to work more reliably, on Ubuntu CI's i386 instances lightdm
     fails.
 .
   [ Manuel A. Fernandez Montecelo ]
   * Run "meson test" instead of "ninja test"
     Upstream developers of meson recommend to run it in this way, because
     "ninja test" just calls "meson test", and by using meson directly and
     using extra command line arguments it is possible to control aspects of
     how the tests are run.
   * Increase timeout for test in riscv64.
     The buildds for the riscv64 arch used at the moment are slow, so increase
     the timeouts for this arch by a factor of 10, for good measure.
     (Closes: #906429)
Checksums-Sha1:
 d78b830b51c7219c3a3c40258ab149a649cea688 4817 systemd_239-11.dsc
 45f54957dd21e429e78e2d7b987a59a1d5aa3156 154748 systemd_239-11.debian.tar.xz
 84bf5b119ebc4a2689e93f2f0b01a1767bc4b14d 9355 systemd_239-11_source.buildinfo
Checksums-Sha256:
 833a319ba82a62d2ea8e2f53fa9ba5706f442192f9b4ac128e9847da21171d35 4817 
systemd_239-11.dsc
 2c99b4f5f200f4603b51f421910056bd7feba510ce0e19b386510b3f73a42e47 154748 
systemd_239-11.debian.tar.xz
 53b1fdef5fc6b52f03c0ec17576ca663bec655f3a13da2ffffc6f2156f0f93e4 9355 
systemd_239-11_source.buildinfo
Files:
 12288c30403e757d6e46adb5cca13411 4817 admin optional systemd_239-11.dsc
 1a4b9cb7e6e9804f62f1b0dfa6abb1a5 154748 admin optional 
systemd_239-11.debian.tar.xz
 b1b344e0cb1d00a9dc93ad65a7e6177e 9355 admin optional 
systemd_239-11_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEECbOsLssWnJBDRcxUauHfDWCPItwFAlvVv2gACgkQauHfDWCP
ItwFtA//bvEHtNufl4SLqLFe35BGY0a/FHJKQkxrAdbz5wP4W4G0vMdYNnlefggm
gnLhQXZhjK6oLQF45RR6lOyfTZlRToLVVWLRa3YBUETe1N+LeZLY138xDvGAnnsW
fJUwPgoWvvQ/n7dhTQ4G+6q85eKIGarJvZj9nHAj4+IKVzfq/iVIjLHbCocNbcbO
+ex5amRCGTTzBMXKgHHQfYDlly/x0/t6cbHRoqHS/9Zi2BUbqDgpG0Pa/KPg6uah
+l4uzjbKpQYsKJDh0iwF8fQ0MZAoglUj0s6aWQjxWH6KFO/UXdGNy9La2P4zAZ5M
SVq7V+Q3zFljvaD2DSPqLVS3B0LOv7aOps8+drQoB3AQGoeD0acLte+1mS22tA3R
yLkEdgVhFgdHJTRE7KRR7o5szYFrlDH6cJhQvSSG56bw4e8Q/8RHTzQTHGkyehH2
U67VRbAn8w4J+ZBhjK9Ogvekhm4w7UZKlYrfTAuFNG0Uosq3t7WmUfKm3+KwpLE/
rdeZmQ5pZUdDXQmxOJ0OmrXGYzlNc59tbQzembH+8PxdjunxHCiNi0szr63RM42Y
KmMnoIVu/IMm6UXYtkNexyPMbPBTIbZrZIZnj0GmKrrR2qKiiXzUL5S+L0YGVhAi
14rUQb2i6E90mJ/Frxo5vwYlLl68UsWxAIBe1CARNRX4VrJawu0=
=HvWg
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to