[systemd-devel] failed assertion in systemd-networkd

Dave Reisner d at falconindy.com
Sat Dec 6 10:46:23 PST 2014


Hi,

With the latest pull from git, I'm seeing a failed assertion in
systemd-networkd:

Assertion 's' failed at src/shared/util.c:413, function safe_atou8().  Aborting.

The problematic .network file is simply:

  [Match]
  Name=eth0

  [Network]
  DHCP=v4

The backtrace points here:

http://cgit.freedesktop.org/systemd/systemd/tree/src/network/networkd-network.c#n233

Where I suppose that:

  udev_device_get_sysattr_value(device, "name_assign_type");

is returning NULL. The file exists, but any attempts to read it results
in a 0 byte read and an EINVAL errno. Removing the [Match] section from
the .network file avoids the failed assertion.

Is this a kernel bug? Shouldn't this file be returning one of the enums
values like NET_NAME_PREDICTABLE or NET_NAME_USER? This holds true on
both a VM (using the virtio-net module), and also on my desktop (using
the sky2 module).

Regardless, systemd likely needs to be checking the return value since
3.17 is far beyond the currently advertised required kernel version. The
attached patch fixes the situation for me.

Cheers,
dR
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Check-return-value-from-reading-name_assign_type-att.patch
Type: text/x-diff
Size: 1202 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20141206/5c3bfe1a/attachment.patch>


More information about the systemd-devel mailing list