Subject: bug#483 closed by [email-masked] (#483: fixed in src:eudev version 3.2.9-8)

From: "Devuan bug Tracking System" <[email-masked]>
Date: Fri, 06 Nov 2020 16:48:05 +0000

This is an automatic notification regarding your bug report
which was filed against the eudev package:

#483: eudev: eudev sometimes fails to generate initial hotplug events

It has been closed by [email-masked].

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact [email-masked] by
replying to this email.

-- 
483: https://bugs.devuan.org/cgi/bugreport.cgi?bug=483
Devuan Bug Tracking System
Contact [email-masked] with problems

Subject: #483: fixed in src:eudev version 3.2.9-8
From: [email-masked]
To: [email-masked]
Date: Fri, 06 Nov 2020 16:38:02 +0000

Version: 3.2.9-8

Source package eudev (3.2.9-8) added to Devuan suite unstable.

This closes bug report 483.

Thanks

DAK managing the Devuan archive

Format: 1.8
Date: Wed, 04 Nov 2020 16:48:24 +0100
Source: eudev
Binary: eudev libeudev1 libeudev-dev eudev-udeb libeudev1-udeb
Architecture: source
Version: 3.2.9-8
Distribution: unstable
Urgency: medium
Maintainer: Devuan Dev Team <[email-masked]>
Changed-By: Svante Signell <[email-masked]>
Description:
 eudev      - /dev/ and hotplug management daemon
 eudev-udeb - /dev/ and hotplug management daemon (udeb)
 libeudev-dev - libeudev development files
 libeudev1  - libeudev shared library
 libeudev1-udeb - libeudev shared library (udeb)
Closes: 483
Changes:
 eudev (3.2.9-8) unstable; urgency=medium
 .
   * debian/eudev.init:
     - Fix startup with slow boot media like DVD and USB.
       Thanks Trek <[email-masked]> for the patch (Closes: #483)
   * debian/control: Fix Vcs-Git and Vcs-Browser entries.
   * debian/watch: Use tags to find latest release.
   * debian/rules:
     - Use autogen.sh directly and remove target autoreconf.
     - Use DEB_BUILD_MAINT_OPTIONS = hardening=+all instead of CFLAGS etc.
   * debian/changelog: Fix spelling error in 3.2.7-2.
   * .gitignore: Add emacs backup files *~.
 .
   * Fixed lintian warning/info entries:
 .
   * debian/patches: man_udev.xml.patch
     Fixes: eudev: spelling-error-in-manpage
 .
   * debian/control:
     Fixes: eudev source: rules-requires-root-missing,
       out-of-date-standards-version (no changes),
       binary-control-field-duplicates-source field "section" in package eudev,
       binary-control-field-duplicates-source field "priority" in package
       libeudev1 libeudev-dev eudev-udeb libeudev1-udeb,
       xc-package-type-in-debian-control
 .
   * debian/rules:
     Fixes: eudev: hardening-no-bindnow
 .
   * debian/tests: New directory. Contents: control, udev
     Fixes: eudev source: testsuite-autopkgtest-missing
 .
   * debian/copyright:
     Fixes: eudev source: insecure-copyright-format-uri,
       wildcard-matches-nothing-in-dep5-copyright src/core/securebits.h,
       unused-file-paragraph-in-dep5-copyright
 .
   * debian/compat: Remove
   * debian/control: Replace build dependency on
     debhelper (>=10) with debhelper-compat (=12)
     Fixes: package-uses-old-debhelper-compat-version,
       extended-description-is-probably-too-short: eudev, libeudev, libeudev-dev
 .
   * debian/eudev.pre{inst,rm},eudev.post{inst,rm}
     Fixes: eudev: maintainer-script-without-set-e: pre{inst,rm}, post{inst,rm}
 .
   * debian/libeudev1.symbols: Don't include a libeudev1.symbols file to avoid:
     symbols-file-contains-current-version-with-debian-revision.
     Instead use an override for the warning: no-symbols-control-file.
 .
   * debian/source/lintian-overrides:
     eudev source: source-contains-data-from-ieee-data-oui-db
     eudev source: upstream-metadata-file-is-missing
     eudev source: debian-watch-does-not-check-gpg-signature
 .
   * debian/eudev.lintian-overrides:
     eudev: appstream-metadata-missing-modalias-provide
     eudev: spelling-error-in-binary
     eudev: improbable-bug-number-in-closes
     eudev: conflicts-with-version udev (<< 1:3.2.9+devuan4)
     # Unknown why
     eudev: hardening-no-fortify-functions lib/udev/mtd_probe
 .
   * debian/libeudev1.lintian-overrides:
     libeudev1: package-name-doesnt-match-sonames
     libeudev1: improbable-bug-number-in-closes
     libeudev1: conflicts-with-version libudev1 (<< 1:3.2.9+devuan4)
     libeudev1: no-symbols-control-file lib/x86_64-linux-gnu/libudev.so.1.6.3
 .
   * debian/libeudev-dev.lintian-overrides:
     libeudev-dev: improbable-bug-number-in-closes
     libeudev-dev: conflicts-with-version libudev-dev (<< 1:3.2.9+devuan4)
 .
   * eudev-udeb.lintian-overrides:
     # None of these overrides work: Why?
     eudev-udeb udeb: hardening-no-fortify-functions lib/udev/mtd_probe
     eudev-udeb udeb: spelling-error-in-binary bin/udevadm ressize resize
     eudev-udeb udeb: spelling-error-in-binary sbin/udevd ressize resize
     eudev-udeb udeb: debug-package-should-be-named-dbg usr/lib/debug/.dwz/
 .
   * libeudev1-udeb.lintian-overrides:
    # This override does not work: Why?
    libeudev1-udeb udeb: package-name-doesnt-match-sonames libudev1
Checksums-Sha1:
 4ca7ee690bb592afbd64d08953132463a3b3ea7d 2345 eudev_3.2.9-8.dsc
 d65744b42d59d5227fb85eb08596dd82efc6daf1 62164 eudev_3.2.9-8.debian.tar.xz
 1714353a61e6ca1b2b5d4126c08448d4101c2e19 3398 eudev_3.2.9-8_source.buildinfo
Checksums-Sha256:
 1b0077b1ce82b96a8ab914babed2bbffd697b6ff9ce5255789ae3260b3505fa9 2345 eudev_3.2.9-8.dsc
 d555e267c2543e9aa4323321bded4a904c11c5c7f392bc247fd7efe2dac69e21 62164 eudev_3.2.9-8.debian.tar.xz
 4e3a6fce281146eda3c84a75766cc42b86b12c43566382e03379dead1979755b 3398 eudev_3.2.9-8_source.buildinfo
Files:
 42a1a80e3c22e3919c9816f52e9892ee 2345 admin optional eudev_3.2.9-8.dsc
 b8a33e81ca64d2087591fc96f9740e65 62164 admin optional eudev_3.2.9-8.debian.tar.xz
 e6c4054498bb40bc94776ae4eb9960dd 3398 admin optional eudev_3.2.9-8_source.buildinfo

Subject: eudev: eudev sometimes fails to generate initial hotplug events
From: David Kuehling <[email-masked]>
To: Devuan Bug Tracking System <[email-masked]>
Date: Mon, 15 Jun 2020 17:08:38 +0200

Package: eudev
Version: 3.2.7-6
Severity: normal
File: /etc/init.d/eudev

Dear Maintainer,

eudev sometimes fails to generate the initial hotplug events for one of
my systems.  The symptoms are that many required kernel modules are
missing after boot (no sound, no 3-D acceleration).

The error is not determinstic.  Sometimes the system boots up
successfully and everything works.  Sometimes the system boots up and
essential kernel modules are missing.

Doing '/etc/init.d/eudev stop' followed by '/etc/init.d/eudev start'
corrects the issue (i.e. results in all modules being loaded).  The
issue can also be corrected by manually running 'udevadm trigger
--action=add'.

The actual root cause seems to be a race condition in the
/etc/init.d/eudev startup script: The script first starts eudev via
start-stop-daemon, then calls 'udevadm trigger --action=add'.

On the system in question, after modifying the script, adding 'sleep 1s'
after start-stop-daemon, the startup now succeeded all the (two) times I
tried.

Note that the system in question runs from a root partition that resides
on a NBD-devices, so startup times of eudev may be very different from a
normal HDD-based system, thereby amplifying the likelhood of the race.

I have no clear idea how a proper fix for that race would look like.
Clearly 'start-stop-daemon --background' does NOT wait for the daemon to
be operational and looks like the wrong approach.  Maybe running
start-stop-daemon without "--background" and depending on eudev's
"--daemon" option is better?  Does eudev support using
start-stop-daemon's --notify-await command?  Should we run 'udevadm
trigger' in a loop until it succeeds?

-- System Information:
Distributor ID:	Debian
Description:	Devuan GNU/Linux 3 (beowulf)
Release:	3
Codename:	beowulf
Architecture: x86_64

Kernel: Linux 4.19.0-9-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages eudev depends on:
ii  adduser      3.118
ii  debconf      1.5.71
ii  libblkid1    2.33.1-0.1+devuan1~beowulf2
ii  libc6        2.28-10
ii  libeudev1    3.2.7-6
ii  libkmod2     26-1
ii  libselinux1  2.8-1+b1
ii  lsb-base     10.2019051400
ii  procps       2:3.3.15-2+devuan1
ii  util-linux   2.33.1-0.1+devuan1~beowulf2

eudev recommends no packages.

eudev suggests no packages.

-- no debconf information