{"action":"created","issue":{"url":"https://api.github.com/repos/systemd/systemd/issues/4746","repository_url":"https://api.github.com/repos/systemd/systemd","labels_url":"https://api.github.com/repos/systemd/systemd/issues/4746/labels{/name}","comments_url":"https://api.github.com/repos/systemd/systemd/issues/4746/comments","events_url":"https://api.github.com/repos/systemd/systemd/issues/4746/events","html_url":"https://github.com/systemd/systemd/issues/4746","id":191804331,"number":4746,"title":"sometimes networkd fails an assert at link_enter_configured()","user":{"login":"aroig","id":1743143,"avatar_url":"https://avatars.githubusercontent.com/u/1743143?v=3","gravatar_id":"","url":"https://api.github.com/users/aroig","html_url":"https://github.com/aroig","followers_url":"https://api.github.com/users/aroig/followers","following_url":"https://api.github.com/users/aroig/following{/other_user}","gists_url":"https://api.github.com/users/aroig/gists{/gist_id}","starred_url":"https://api.github.com/users/aroig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aroig/subscriptions","organizations_url":"https://api.github.com/users/aroig/orgs","repos_url":"https://api.github.com/users/aroig/repos","events_url":"https://api.github.com/users/aroig/events{/privacy}","received_events_url":"https://api.github.com/users/aroig/received_events","type":"User","site_admin":false},"labels":[{"id":219549709,"url":"https://api.github.com/repos/systemd/systemd/labels/network","name":"network","color":"fad8c7","default":false},{"id":239898671,"url":"https://api.github.com/repos/systemd/systemd/labels/regression","name":"regression","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/systemd/systemd/milestones/10","html_url":"https://github.com/systemd/systemd/milestones/v233","labels_url":"https://api.github.com/repos/systemd/systemd/milestones/10/labels","id":2054227,"number":10,"title":"v233","description":"","creator":{"login":"poettering","id":2130732,"avatar_url":"https://avatars.githubusercontent.com/u/2130732?v=3","gravatar_id":"","url":"https://api.github.com/users/poettering","html_url":"https://github.com/poettering","followers_url":"https://api.github.com/users/poettering/followers","following_url":"https://api.github.com/users/poettering/following{/other_user}","gists_url":"https://api.github.com/users/poettering/gists{/gist_id}","starred_url":"https://api.github.com/users/poettering/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poettering/subscriptions","organizations_url":"https://api.github.com/users/poettering/orgs","repos_url":"https://api.github.com/users/poettering/repos","events_url":"https://api.github.com/users/poettering/events{/privacy}","received_events_url":"https://api.github.com/users/poettering/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":23,"state":"open","created_at":"2016-10-07T09:05:22Z","updated_at":"2016-11-29T18:16:15Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2016-11-26T12:44:12Z","updated_at":"2016-11-29T18:43:03Z","closed_at":null,"body":"### Submission type\r\n\r\n  - [x] Bug report\r\n  - [ ] Request for enhancement (RFE)\r\n\r\n### systemd version the issue has been seen with\r\n\r\n> 232\r\n\r\n### Used distribution\r\n\r\n> arch linux\r\n\r\n### In case of bug report: Expected behaviour you didn't see\r\n\r\n> systemd-networkd runs happy and assert-free.\r\n\r\n### In case of bug report: Unexpected behaviour you saw\r\n\r\n> systemd-networkd sometimes triggers an assert on `link_enter_configured` and crashes. Here is a piece of log on a case where it crashed. The interface that triggers it is `br-virt` (a bridge for my virtual machines). It does not always crash though.\r\n\r\n    26 Nov 12:51:01 galois systemd-networkd: ve-ada: Gained carrier\r\n    26 Nov 12:51:01 galois systemd-networkd: ve-ada: Configured\r\n    26 Nov 12:51:01 galois systemd-timesyncd: Network configuration changed, trying to establish connection.\r\n    26 Nov 12:51:01 galois kernel: br-virt: port 1(ve-ada) entered blocking state\r\n    26 Nov 12:51:01 galois kernel: br-virt: port 1(ve-ada) entered forwarding state\r\n    26 Nov 12:51:01 galois dnsmasq: reading /run/systemd/resolve/resolv.conf\r\n    26 Nov 12:51:01 galois systemd-networkd: br-virt: Gained carrier\r\n    26 Nov 12:51:01 galois dnsmasq: using local addresses only for domain virt.local\r\n    26 Nov 12:51:01 galois systemd-networkd: Assertion 'link->state == LINK_STATE_SETTING_ROUTES' failed at src/network/networkd-link.c:692, function link_enter_configured(). Aborting.\r\n\r\n### In case of bug report: Steps to reproduce the problem\r\n\r\n> Not sure yet... That bridge `br-virt` is created by networkd and has a statically configured address. I also have dnsmasq listening on that interface working as dhcp and dns server for my virtual machines. Could it be a race with dnsmasq somehow?\r\n\r\n> Also, since `link_check_ready` happily returns in case expectations are not met, probably [this line](https://github.com/systemd/systemd/blob/master/src/network/networkd-link.c#L742) should just check for `== LINK_STATE_SETTING_ROUTES`, and never trigger an assert here. This does not explain why this expectation is sometimes not met though...\r\n"},"comment":{"url":"https://api.github.com/repos/systemd/systemd/issues/comments/263659503","html_url":"https://github.com/systemd/systemd/issues/4746#issuecomment-263659503","issue_url":"https://api.github.com/repos/systemd/systemd/issues/4746","id":263659503,"user":{"login":"aroig","id":1743143,"avatar_url":"https://avatars.githubusercontent.com/u/1743143?v=3","gravatar_id":"","url":"https://api.github.com/users/aroig","html_url":"https://github.com/aroig","followers_url":"https://api.github.com/users/aroig/followers","following_url":"https://api.github.com/users/aroig/following{/other_user}","gists_url":"https://api.github.com/users/aroig/gists{/gist_id}","starred_url":"https://api.github.com/users/aroig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aroig/subscriptions","organizations_url":"https://api.github.com/users/aroig/orgs","repos_url":"https://api.github.com/users/aroig/repos","events_url":"https://api.github.com/users/aroig/events{/privacy}","received_events_url":"https://api.github.com/users/aroig/received_events","type":"User","site_admin":false},"created_at":"2016-11-29T18:43:03Z","updated_at":"2016-11-29T18:43:03Z","body":"This is `br-virt.network`:\r\n\r\n    [Match]\r\n    Virtualization=no\r\n    Name=br-virt\r\n\r\n    [Network]\r\n    Description=bridge for virtual machines\r\n    Address=192.168.50.1/24\r\n    Domains=virt.local\r\n    DNS=127.0.0.1\r\n    IPForward=yes\r\n    IPMasquerade=yes\r\n\r\nAnd this is tap.network\r\n\r\n    [Match]\r\n    Virtualization=no\r\n    Name=tap*\r\n\r\n    [Network]\r\n    Description=qemu tap interface\r\n    Bridge=br-virt\r\n    LinkLocalAddressing=no\r\n\r\nThis time I started and stopped a qemu VM with a tap interface. The second time I do this, it hits the assert I reported, but not the first time.\r\n\r\n> Please attach the config and the core too.\r\n\r\nWhat do you mean by \"the core\"? As far as I know the assert does not trigger any coredump.\r\n"}}
{"actor":{"display_login":"aroig"}}