Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1033479: minissdpd: Service fails to start on boot with "Error parsing address/mask..."

190 views
Skip to first unread message

Facundo Gaich

unread,
Mar 25, 2023, 1:40:04 PM3/25/23
to
Package: minissdpd
Version: 1.6.0-1
Severity: important

Dear Maintainer,

The minissdpd service fails on boot with the following:

minissdpd[834]: ioctl(s, SIOCGIFFLAGS, ...): No such device
minissdpd-systemd-wrapper[834]: Error parsing address/mask (or interface name) : br-REDACTED
minissdpd-systemd-wrapper[834]: can't parse "br-REDACTED" as a valid interface name
minissdpd[834]: ioctl(s, SIOCGIFFLAGS, ...): No such device
minissdpd[834]: ioctl(s, SIOCGIFADDR, ...): Cannot assign requested address
minissdpd-systemd-wrapper[834]: Error parsing address/mask (or interface name) : docker0
minissdpd-systemd-wrapper[834]: can't parse "docker0" as a valid interface name
minissdpd-systemd-wrapper[834]: Error parsing address/mask (or interface name) : enp2s0
minissdpd-systemd-wrapper[834]: can't parse "enp2s0" as a valid interface name
minissdpd[834]: ioctl(s, SIOCGIFFLAGS, ...): No such device
minissdpd-systemd-wrapper[834]: Error parsing address/mask (or interface name) : vethREDACTED
minissdpd-systemd-wrapper[834]: can't parse "vethREDACTED" as a valid interface name
minissdpd[834]: ioctl(s, SIOCGIFFLAGS, ...): No such device
minissdpd-systemd-wrapper[834]: Error parsing address/mask (or interface name) : vethREDACTED
minissdpd-systemd-wrapper[834]: can't parse "vethREDACTED" as a valid interface name
minissdpd-systemd-wrapper[834]: Usage: /usr/sbin/minissdpd [-d] [-6] [-s socket] [-p pidfile] [-t TTL] [-f device] -i <interface> [-i <interface2>] ...
minissdpd-systemd-wrapper[834]: <interface> is an interface name such as eth0.
minissdpd-systemd-wrapper[834]: By default, socket will be open as /var/run/minissdpd.sock
minissdpd-systemd-wrapper[834]: and pid written to file /var/run/minissdpd.pid
systemd[1]: minissdpd.service: Control process exited, code=exited, status=1/FAILURE
systemd[1]: minissdpd.service: Failed with result 'exit-code'.
systemd[1]: Failed to start minissdpd.service - keep memory of all UPnP devices that announced themselves.

If I try to start it manually after boot it succeeds:

systemd[1]: Starting minissdpd.service - keep memory of all UPnP devices that announced themselves...
minissdpd[3276]: ioctl(s, SIOCGIFFLAGS, ...): No such device
minissdpd-systemd-wrapper[3276]: Error parsing address/mask (or interface name) : br-REDACTED
minissdpd-systemd-wrapper[3276]: can't parse "br-REDACTED" as a valid interface name
minissdpd[3276]: ioctl(s, SIOCGIFFLAGS, ...): No such device
minissdpd-systemd-wrapper[3276]: Error parsing address/mask (or interface name) : vethREDACTED
minissdpd-systemd-wrapper[3276]: can't parse "vethREDACTED" as a valid interface name
minissdpd[3276]: ioctl(s, SIOCGIFFLAGS, ...): No such device
minissdpd-systemd-wrapper[3276]: Error parsing address/mask (or interface name) : vethREDACTED
minissdpd-systemd-wrapper[3276]: can't parse "vethREDACTED" as a valid interface name
systemd[1]: Started minissdpd.service - keep memory of all UPnP devices that announced themselves.

Note that it now worked for the docker0 and enp2s0 infterfaces, so
apparently the error on boot is because it can't find a single correct interface. The
bridge and veth interfaces are not configured anymore in my system, not
sure how they were added to /etc/default/minissdpd

-- System Information:
Debian Release: 12.0
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-7-amd64 (SMP w/6 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages minissdpd depends on:
ii debconf [debconf-2.0] 1.5.82
ii init-system-helpers 1.65.2
ii libc6 2.36-8
ii libnfnetlink0 1.0.2-2
ii lsb-base 11.6
ii sysvinit-utils [lsb-base] 3.06-2

minissdpd recommends no packages.

minissdpd suggests no packages.

-- Configuration Files:
/etc/default/minissdpd changed [not included]

-- debconf information excluded

Jonathan Dowland

unread,
Jun 1, 2023, 4:30:05 AM6/1/23
to
I've hit something similar. In my case the error in the logs is

Mar 07 17:59:33 phobos minissdpd-systemd-wrapper[1302]: Error parsing address/mask (or interface name) : enp3s0
Mar 07 17:59:33 phobos minissdpd-systemd-wrapper[1302]: can't parse "enp3s0" as a valid address or interface name

and my /etc/default/minissdpd contained

MiniSSDPd_INTERFACE_ADDRESS="enp3s0"

Likewise, I have not edited that file myself. I guess it was populated
by the debconf template[1]

It was probably correct at the time I installed minissdpd (which I did
transitively: and as such I'm not very familiar with what it does or how
it works, since it's a dependency package of something else) and has
become incorrect later on, as I've moved enp3s0 onto a bridge interface.

My fix (the inverse of yours I guess) is to substitute

MiniSSDPd_INTERFACE_ADDRESS="br0"

In the config file.

But I suggest to the maintainer (Hi Thomas!): If you're confident that
you can guess the right interface at install time, why not do that at
service start up time instead? That way it will adjust to changing
environments.


[1] https://salsa.debian.org/miniupnp-team/minissdpd/-/blob/debian-sid/debian/minissdpd.config#L45

--
👱🏻 Jonathan Dowland
jm...@debian.org
🔗 https://jmtd.net

Thomas Goirand

unread,
Jun 1, 2023, 11:00:04 AM6/1/23
to
On 6/1/23 10:07, Jonathan Dowland wrote:
> But I suggest to the maintainer (Hi Thomas!): If you're confident that
> you can guess the right interface at install time, why not do that at
> service start up time instead? That way it will adjust to changing
> environments.

I don't think it'd be such a great idea. I prefer let the user do what
they feel is correct.

FYI, it's also possible for interfaces being renamed from one udev
version to the next. IMO, that's a case for filling a bug against udev,
not minissdpd.

Cheers,

Thomas Goirand (zigo)

Facundo Gaich

unread,
Jun 1, 2023, 11:50:05 AM6/1/23
to
On Thu, Jun 1, 2023 at 11:54 AM Debian Bug Tracking System <ow...@bugs.debian.org> wrote:
Hi,

This is IMO a missconfiguration, not a bug. Closing accordingly.

Cheers,

Thomas Goirand (zigo)

 Hi Thomas,

Thanks, although, isn't it still a bug if it arrived at a misconfigured state without user interaction?

Thomas Goirand

unread,
Jun 2, 2023, 4:30:06 AM6/2/23
to
Indeed. Please see the debconf thingy as only a helper to get a first
configuration in. If for a reason, the system has change state, there's
not much the package can do without user manual configuration.

Cheers,

Thomas Goirand (zigo)

Jonathan Dowland

unread,
Aug 25, 2023, 8:40:05 AM8/25/23
to
At initial package installation time (some time ago), the postinst
determined that my primary interface was enp3s0. That was written to
/etc/default/minissdpd *and* recorded in debconf:

* minissdpd/listen: enp3s0

Later on my network config changed and enp3s0 was no longer correct, I
manually fixed /etc/default/minissdpd (to br0) and moved on (as per the
discussion in #1033479 up to now).

Yesterday, upon upgrading to Bookworm (1.5.20190824-1 -> 1.6.0-1), the
postinst ran and overwrote my corrected /etc/default/minissdpd with the
older, invalid value.

I'm not sure (yet) whether the postinst re-calculated the (wrong) value
of enp3s0, or read the old value. In the latter case, I don't think it's
reasonable to expect a user to correct the value in the debconf DB as
well as the /etc conf-file. And in either case, I do not think that the
postinst should overwrite a manually specified user configuration in a
conf-file in /etc.
0 new messages