Closed WRMSRwasTaken closed 5 years ago
Can you try building keepalived from the current master branch (or at least including commit 6f41772) and see if that resolves your problem (the commit was to resolve issue #1215 which sounds as though it may be a similar issue).
I have added a further commit (128bfe6) which resolves some further issues when an interface has its parent interface in a different network namespace.
Further investigation has revealed that list_add was being called with a NULL list pointer from netlink_if_address_filter() by the following code:
else {
addr6_p = MALLOC(sizeof(*addr.in6));
*addr6_p = *addr.in6;
list_add(ifp->sin6_addr_l, addr6_p);
}
ifp->sin6_addr_l was therefore NULL. It was discovered that this occurred when the interface was recreated, having previously existed, been deleted, and then created again.
Commit 09d90db resolves the issue.
Commits 3207f5c, 83a6a6a and 2c58e35 are also worth incorporating.
Sorry for the late answer, I can confirm that version v2.0.15-57-gab920c8e
from commit https://github.com/acassen/keepalived/commit/ab920c8e82e0eba64887d4b3bf0178b8dd5e530e does not segfault anymore for me.
Describe the bug After creating a bridge with
docker network create
, attaching the container withdocker network connect
and starting it, the VRRP child process segfaults, although it is not configured to do anything with that interface.To Reproduce See above.
Expected behavior keepalived not segfaulting.
Keepalived version
Distro (please complete the following information):
Details of any containerisation or hosted service (e.g. AWS) N/A
Configuration file: https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/keepalived ... with enabled debug symbols in
/etc/makepkg.conf
to be able to supply the stack trace.System Log entries
[Not exactly when keepalived started, but from before creating the Docker bridge]
Did keepalived coredump?
Additional context Add any other context about the problem here.