ifupdown-ng / ifupdown-ng

flexible ifup/ifdown implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ifup gets a segmentation fault

telmich opened this issue · comments

New behaviour that I did not see before:

[10:44] router2.place5:~# ifup bond0.3
Segmentation fault
[10:47] router2.place5:~# apk list -I | grep -e ifupdown -e musl
musl-1.2.2_pre6-r0 x86_64 {musl} (MIT) [installed]
ifupdown-ng-iproute2-0.10.2-r1 x86_64 {ifupdown-ng} (ISC) [installed]
ifupdown-ng-0.8.0-r1 x86_64 {ifupdown-ng} (ISC) [installed]
musl-utils-1.2.2_pre6-r0 x86_64 {musl} (MIT BSD GPL2+) [installed]
ifupdown-ng-ethtool-0.10.2-r1 x86_64 {ifupdown-ng} (ISC) [installed]
musl-dev-1.2.2_pre6-r0 x86_64 {musl} (MIT) [installed]
busybox-ifupdown-1.32.0-r8 x86_64 {busybox} (GPL-2.0-only) [installed]
[10:45] router2.place5:~# cat /etc/network/interfaces 
# cdist maintained - do not edit on the system
                                                           
auto lo
iface lo inet loopback     
  # DNS aliases -- works even if the other router is down
  post-up /sbin/ip addr add 2a0a:e5c0::1/128 dev lo
  post-up /sbin/ip addr add 2a0a:e5c0::3/128 dev lo
  post-up /sbin/ip addr add 2a0a:e5c0::4/128 dev lo
  post-up /sbin/ip addr add 2a0a:e5c0:0:a::a/128 dev lo                                                                
  post-up /sbin/ip addr add 2a0a:e5c0:0:a::b/128 dev lo
  post-up /sbin/ip addr add 2a0a:e5c0:0:a::c/128 dev lo
  post-up /sbin/ip addr add 2a0a:e5c0:0:a::d/128 dev lo
                                                           
auto eth4                 
iface eth4 inet manual    
  bond-master bond0
  post-up /sbin/ip link set $IFACE mtu 9204
  post-up /sbin/ip link set $IFACE up
                                                                                                                       
auto eth5                                                                                                              
iface eth5 inet manual                                                                                                 
  bond-master bond0                                                                                                    
  post-up /sbin/ip link set $IFACE mtu 9204
  post-up /sbin/ip link set $IFACE up
                                                           
auto bond0             
iface bond0 inet manual
  bond-miimon 500         
  bond-mode 4
  post-up /sbin/ip link set $IFACE mtu 9204
  post-up /sbin/ip link set $IFACE up
  post-up /sbin/ifenslave bond0 eth4 eth5
  bond-slaves none

# ungleich transfer vlan
auto bond0.8
iface bond0.8 inet6 static
  address 2a0a:e5c0:1:8::4
  netmask 64
  post-up /sbin/ip link set $IFACE mtu 9200
  post-up /sbin/ip addr add 2a0a:e5c0:1:8::1/64 dev $IFACE nodad preferred_lft 0
  vlan-raw-device bond0

iface bond0.8 inet static
  address 147.78.195.250
  netmask 255.255.255.248
  vlan-raw-device bond0

# Sunrise
auto bond0.102
iface bond0.102 inet6 static
  address 2001:1700:3500::12
  netmask 124
  post-up /sbin/ip link set $IFACE mtu 9000
  vlan-raw-device bond0

iface bond0.102 inet static
  address 195.141.230.103
  netmask 255.255.255.254
  vlan-raw-device bond0

################################################################################
# Interfaces without default IPs below here

# VMs
auto bond0.3
iface bond0.3 inet6 static
  address 2a0a:e5c0:0:2::4
  netmask 64

  post-up /sbin/ip link set $IFACE up
  post-up /sbin/ip addr add 2a0a:e5c0:0:5::4/64 dev $IFACE preferred_lft 0
  post-up /sbin/ip addr add 2a0a:e5c0:0:2::1/64 dev $IFACE nodad preferred_lft 0
  post-up /sbin/ip addr add 2a0a:e5c0:0:5::1/64 dev $IFACE nodad preferred_lft 0
  post-up /sbin/ip addr add 185.203.112.1/24 dev $IFACE preferred_lft 0

  down /sbin/ip link set $IFACE down
  post-up /sbin/ip link set $IFACE mtu 9200
  vlan-raw-device bond0

On a different (very simila) system this seems to work:

[10:45] router1.place5:~# ifup bond0.3
RTNETLINK answers: File exists
ifup: failed to change interface bond0.3 state to 'up'

[10:47] router1.place5:~# apk list -I | grep -e ifupdown -e  musl
musl-1.2.2_pre6-r0 x86_64 {musl} (MIT) [installed]
ifupdown-ng-iproute2-0.10.2-r1 x86_64 {ifupdown-ng} (ISC) [installed]
ifupdown-ng-0.8.0-r1 x86_64 {ifupdown-ng} (ISC) [installed]
musl-utils-1.2.2_pre6-r0 x86_64 {musl} (MIT BSD GPL2+) [installed]
musl-dev-1.2.2_pre6-r0 x86_64 {musl} (MIT) [installed]
busybox-ifupdown-1.32.0-r8 x86_64 {busybox} (GPL-2.0-only) [installed]

(ignoring the ip errors)

Can you upgrade both routers to 0.10.2? I have significantly improved the dependency graph walking since 0.8.

If it still happens on 0.10.2, please reproduce with ifup --verbose.

Talked to @telmich in IRC and after upgrading to 0.10.2, he is no longer seeing any crashes.