[quagga-dev 4571] Re: ospfd assertion `new_distance <= w->distance' failed

Paul Jakma paul at clubi.ie
Sun Feb 4 19:03:02 GMT 2007


On Sun, 4 Feb 2007, Anders K. Pedersen wrote:

> I have configured a new test router (r3-test) with quagga-devel 
> from CVS as of January 27th (the later changes doesn't have any 
> influence on ospfd, as far as I can tell).

> The zebra daemon is running without any problems, but when starting 
> ospfd it consistently crashes after a few seconds with the 
> following stack trace:
>
> 2007/02/04 18:55:45 OSPF: Assertion `new_distance <= w->distance' failed
> in file ospf_spf.c, line 442, function ospf_spf_add_parent

Ah, this is due to the patch at:

http://bugzilla.quagga.net/show_bug.cgi?id=330

> 2007/02/04 18:55:45 OSPF: Backtrace for 11 stack frames:
> 2007/02/04 18:55:45 OSPF: [bt 0]
> /usr/lib/libzebra.so.0(zlog_backtrace+0x1f) [0xb7f2cfe0]
> 2007/02/04 18:55:45 OSPF: [bt 1]
> /usr/lib/libzebra.so.0(_zlog_assert_failed+0x83) [0xb7f2d200]
> 2007/02/04 18:55:45 OSPF: [bt 2] /usr/lib/libospf.so.0 [0xb7f7b9d5]
> 2007/02/04 18:55:45 OSPF: [bt 3] /usr/lib/libospf.so.0 [0xb7f7bd73]
> 2007/02/04 18:55:45 OSPF: [bt 4] /usr/lib/libospf.so.0 [0xb7f7c07c]
> 2007/02/04 18:55:45 OSPF: [bt 5] /usr/lib/libospf.so.0 [0xb7f7c6d4]
> 2007/02/04 18:55:45 OSPF: [bt 6] /usr/lib/libospf.so.0 [0xb7f7c825]
> 2007/02/04 18:55:45 OSPF: [bt 7]

This trace isn't at all informative - however as the asserting 
function has only one caller anyway..

> Let me know if any further information is needed - I am willing to try
> patches etc., and like I said, the crash happens consistently within
> seconds after starting ospfd.

Could you run ospfd under GDB and when it asserts use the 'up' 
command to go up the stack frame of 'ospf_nexthop_calculation' then 
type 'list' (i.e. I want to see where in ospf_nexthop_calculation 
its calling ospf_spf_add_parent).

Also, could you get logs with 'debug ospf event' set?

regards,
-- 
Paul Jakma	paul at clubi.ie	paul at jakma.org	Key ID: 64A2FF6A
Fortune:
In a five year period we can get one superb programming language.  Only
we can't control when the five year period will begin.



More information about the Quagga-dev mailing list