FS#62347 - [systemd] DNS lookup broken after boot until restarting networkd after 242.0-1 update

Attached to Project: Arch Linux
Opened by Zenja Ivkovic (izenja) - Sunday, 14 April 2019, 18:33 GMT
Last edited by Christian Hesse (eworm) - Thursday, 25 April 2019, 13:15 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Christian Hesse (eworm)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

I've reported this upstream. It was suggested to me to also create an issue here in order to hold the package in [testing].
Original forum post: https://bbs.archlinux.org/viewtopic.php?pid=1841539
Reported upstream: https://github.com/systemd/systemd/issues/12315

After booting, I have an IP and internet access (through a home router), but no DNS resolving. I use Arch Linux systemd-networkd from the testing repo (version 242), and I have systemd-resolved set up in the stub mode. The network conf is set to use DHCP. I have an ethernet device (enp5s0) and a bridge (br0) set up in a simple bridge configuration through systemd. Restarting systemd-networkd makes everything work fine. This seemingly started happening with 242 with no system configuration changes.

The previous version I was using is 241.93. Downgrading to that version seems to fix this issue, with some caveats: if I log into a non-graphical console after boot, and ping google right away, it fails to resolve. But if I ping again right after, it works. If I just log in to a DE, no apparent issues are visible for a while. However, at some point a DNS lookup will immediately fail (e.g., clicking a link while web browsing), but works upon trying again. I've been noticing this for a while, which is potentially the period of time I was using 241.7 (updated to on Feb 20).

When broken, output of resolvectl shows "Current Scopes: none" for the bridge, and no DNS servers. After networkd restart, scopes are "DNS LLMNR/IPv4 LLMNR/IPv6".

Setting the networkd unit to use debug mode shows some seemingly relevant info and differences. This is the journalctl output during the initial boot: [systemd-networkd-broken.log](https://github.com/systemd/systemd/files/3077616/systemd-networkd-broken.log)

Note that enp5s0 gets renamed to eth0, then back to enp5s0 for some reason (not sure if this is normal). Afterward, there's a
`br0: Could not bring up interface: Invalid argument`
and
`enp5s0: Failed to add to bridge master's slave list: File exists`

And this is it when restarting it, which shows no such issues:
[systemd-networkd-good.log](https://github.com/systemd/systemd/files/3077617/systemd-networkd-good.log)

Here is resolved on boot (not working:
[resolved-bad.log](https://github.com/systemd/systemd/files/3077619/resolved-bad.log)

And this is after restarting networkd:
[resolved-good.log](https://github.com/systemd/systemd/files/3077620/resolved-good.log)

I'm using linux 5.0.7. Both r8169 and r8168 ethernet drivers give the same behavior. This did not start happening along with a kernel update.
This task depends upon

Closed by  Christian Hesse (eworm)
Thursday, 25 April 2019, 13:15 GMT
Reason for closing:  Fixed
Additional comments about closing:  systemd 242.0-3
Comment by loqs (loqs) - Monday, 15 April 2019, 20:46 GMT
test.patch applies the proposed upstream fix from PR#12316
systemd-242.0-1.src.tar.gz is the PKGBUILD source bundle with test.patch applied.
Can you please test and report to upstream if PR#12316 resolved the issue.
Comment by Zenja Ivkovic (izenja) - Tuesday, 16 April 2019, 00:55 GMT
Thanks for putting that PKGBUILD together. I've installed it and it didn't fix the issue.
Comment by loqs (loqs) - Tuesday, 16 April 2019, 11:10 GMT
Updated PKGBUILD for changes to PR
Edit:
test2.patch merges the PR instead of cherry-picking the four commits.
Comment by Zenja Ivkovic (izenja) - Wednesday, 17 April 2019, 00:09 GMT
Thanks, that patch does fix the issue.
Comment by loqs (loqs) - Saturday, 20 April 2019, 22:52 GMT
yuwata would like a retest after reworking the changes https://github.com/systemd/systemd/issues/12315#issuecomment-485109623
Updated source bundle and diff attached.
Comment by loqs (loqs) - Thursday, 25 April 2019, 11:11 GMT
The PR has been accepted and the commits are now in master. Updated patch.

Loading...