Bird 3.2.0 crashing with "Assertion 'DG_IS_LOCKED(orig->domain)' failed at lib/resource.c:208"

Buchberger, Carsten (WiTCOM) C.Buchberger at witcom.de
Fri Mar 27 13:26:02 CET 2026


Hi,

after upgrading from Bird 3.1.4 to 3.2.0 (EPEL RPM package) bird is crashing shortly after starting it with the following error

Assertion 'DG_IS_LOCKED(orig->domain)' failed at lib/resource.c:208

The issue was reported back in january on this list (https://bird.network.cz/pipermail/bird-users/2026-January/018551.html) but there was no real follow-up.

We confirm the behaviour - bird crashes shortly after processing the first BGP requests and generates he following core-dump

                                                                   Stack trace of thread 6573:
                                                                   #0  0x00007f191f08d02c __pthread_kill_implementation (libc.so.6 + 0x8d02c)
                                                                   #1  0x00007f191f03fb86 raise (libc.so.6 + 0x3fb86)
                                                                   #2  0x00007f191f029873 abort (libc.so.6 + 0x29873)
                                                                   #3  0x0000559400a21d5f bug (bird + 0xe9d5f)
                                                                   #4  0x0000559400978bd7 rmove (bird + 0x40bd7)
                                                                   #5  0x00005594009d3809 bgp_start.lto_priv.0 (bird + 0x9b809)
                                                                   #6  0x000055940098b48e proto_rethink_goal.lto_priv.0 (bird + 0x5348e)
                                                                   #7  0x000055940097611e defer_execute (bird + 0x3e11e)
                                                                   #8  0x0000559400972323 ev_run_list_limited (bird + 0x3a323)
                                                                   #9  0x0000559400950556 main (bird + 0x18556)
                                                                   #10 0x00007f191f02a610 __libc_start_call_main (libc.so.6 + 0x2a610)
                                                                   #11 0x00007f191f02a6c0 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a6c0)
                                                                   #12 0x0000559400950c75 _start (bird + 0x18c75)

                                                                   Stack trace of thread 6574:
                                                                   #0  0x00007f191f088540 __GI___lll_lock_wait (libc.so.6 + 0x88540)
                                                                   #1  0x00007f191f08e6d2 __pthread_mutex_lock at GLIBC_2.2.5<mailto:__pthread_mutex_lock at GLIBC_2.2.5> (libc.so.6 + 0x8e6d2)
                                                                   #2  0x0000559400a22a92 do_lock (bird + 0xeaa92)
                                                                   #3  0x0000559400a1c0e0 bird_thread_main (bird + 0xe40e0)
                                                                   #4  0x00007f191f08b2ea start_thread (libc.so.6 + 0x8b2ea)
                                                                   #5  0x00007f191f1103d0 __clone3 (libc.so.6 + 0x1103d0)

                                                                   Stack trace of thread 6575:
                                                                   #0  0x00007f191f1030cf __poll (libc.so.6 + 0x1030cf)
                                                                   #1  0x0000559400a1c436 bird_thread_main (bird + 0xe4436)
                                                                   #2  0x00007f191f08b2ea start_thread (libc.so.6 + 0x8b2ea)
                                                                   #3  0x00007f191f1103d0 __clone3 (libc.so.6 + 0x1103d0)
                                                                   ELF object binary architecture: AMD x86-64


We reverted to Bird 3.1.5 - no issues here.

The issue occurs with the following configuration (slightly anonymized)

Bird.conf

# Configure logging
log syslog all;
# Include constants
include "/etc/bird/constants.conf";
router id rs_ipv4;

protocol bfd BFD_DCFABRIC {
  multihop {
                interval 300 ms;
                multiplier 3;
  };
}

protocol direct {
        disabled;               # Disable by default
        ipv4;                   # Connect to default IPv4 table
        ipv6;                   # ... and to default IPv6 table
}

protocol kernel {
        ipv4 { };
}

protocol kernel {
        ipv6 { };
}

protocol static {
        disabled;
        ipv4;                   # Again, IPv4 channel with default options
}

include "/etc/bird/rs-peerings.conf";



constants.conf

define rs_ipv4 = x.y.y.z;

rs-peerings.conf

# FILTER

filter only_serviceips {
  if net ~ [ 192.168.20.0/24{32,32} ] then accept;
  if net ~ [ 10.127.64.0/19{32,32} ] then accept;
  reject;
}

# HOSTS

template bgp SERVICENODE {
  local as 4200010004;
  ipv4 {
    import filter only_serviceips;
    export none;
  };
  rs client;
  hold time 6;
  multihop 10;
  bfd on;
  source address rs_ipv4;
}


protocol bgp rack_XYZ from SERVICENODE {
  neighbor range 192.168.y.y/26 as 4200010003;
  dynamic name "rack_XYZ_";
}

template bgp DCFABRIC {
  ipv4 {
    import none;
    export all;
    add paths tx;
  };
  local as 4200010004;
  rs client;
  multihop 10;
  bfd on;
  source address rs_ipv4;
}

# DC-Fabric nodes

protocol bgp R_DCI_01 from DCFABRIC {
  neighbor x.x.x.x as 4200001201;
}







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20260327/bc99642f/attachment.htm>


More information about the Bird-users mailing list