<!DOCTYPE html><html><head><title></title></head><body><div>Hi BIRD Team,</div><div><br></div><div>I wanna report a crash with BIRD 3.1.5 running on NixOS.</div><div><br></div><div>The crash triggers a `bug()` assertion failure related to locking mechanisms during interface lookup (`if_find_by_index`).</div><div><br></div><div>I have successfully reproduced this issue locally with a minimal configuration.</div><div><br></div><div>Environment:</div><div>- BIRD Version: 3.1.5</div><div>- OS: NixOS unstable (glibc 2.40)</div><div>- Kernel: Linux 6.17.9 #1-NixOS SMP PREEMPT_DYNAMIC x86_64 GNU/Linux</div><div><br></div><div>Reproduction Steps:</div><div>1. Configure a BGP protocol using an IPv6 Link-Local neighbor on a physical interface.</div><div>2. Start BIRD. Wait for the protocol to enter 'Active' or 'Connect' state so the port is listening.</div><div>3. Initiate a TCP connection to the BGP port:</div><div>   $ nc -6 -v <Link-Local-IP>%<interface> <port></div><div>4. BIRD crashes immediately upon receiving the connection.</div><div><br></div><div>Crash Summary (from GDB):</div><div>The main thread (Thread 1) hits a bug() assertion:</div><div>#3  0x000056536f6ef97a in bug (msg=<optimized out>) at sysdep/unix/log.c:412</div><div>#4  0x000056536f6fa9a1 in do_lock (dg=0x5653774ace60, lsp=0x7fba0208a2a8) at sysdep/unix/domain.c:116</div><div>#5  0x000056536f64c8ac in if_find_by_index (idx=23) at nest/iface.c:721</div><div>#6  0x000056536f6e4ac8 in sockaddr_read6 ... at sysdep/unix/io.c:583</div><div>#8  0x000056536f6ecfd7 in sk_passive_connected ... at sysdep/unix/io.c:1451</div><div><br></div><div>Attachments:</div><div>1. backtrace.txt: Full GDB backtrace.</div><div>2. config_snippet.txt: The minimal config used to reproduce the crash.</div><div><br></div><div>Best regards,</div><div>Moraxyc<br></div></body></html>