I'm running the latest Quagga release on a few routers and I get random crashes every now and then when I restart Quagga followed by another program that pushes a lot of configuration through vtysh. All of the links I have are GRE tunnels (point-to-point) sharing the IP address of the physical interface they are running on top of. This has always worked using the "apt-get'ed" 0.99.17 version of Quagga. I started to see the crash after updating to the newest release.
I debugged this under gdb and the two cases that I captures happened after a change to an interface, the cost in one case, up/down in another. In both cases the crash happen because of a bogus table pointer when working on refreshing LSA due to the change. I found that the actual problem is up in the the stack when processing neighbors on an interface. The list of neighbors has two entries (represented by two route_node structures).
Question: The first neighbor on the interface (call it interface A) is the router (Router ID X ) itself, is that correct? I can see a neighbor with router ID X. I also can see that the interface field in the neighbor's structure points back to A which seems logical.
The second neighbor (which actually causes the crash down the stack) is again the router itself with but this time with router ID A (my configuration program probably pushes the ID X the first thing, but I have to confirm is we start with ID A in the config file) but most of the fields contains garbage data including the interface field.
I will continue debugging this but if anyone can answer my question above that would greatly help.
Thanks, Jafar _______________________________________________ Quagga-dev mailing list [email protected] https://lists.quagga.net/mailman/listinfo/quagga-dev
