[OLSR-users] Assertion `metric_counter' failed

Andreas Tønnesen (spam-protected)
Tue May 17 18:24:55 CEST 2005


Philippe, Robert,

I thought I was speaking to the same person in my previous mails :)
Sorry about that, I guess too little sleep will do that to you ;)

Philippe:
There was some changes made to the function that asserts for 0.4.9
to make sure direct routes was always deleted last. Thats what
the matric counter and last_run stuff is about. But somehow it seems
to fail under certain conditions. If you are building the software
youself it perhaps you could build a special version that only contained
the debug output we need? I could provide you with a patch.

Robert:
Ach... too bad to hear that the IPv6 stuff wasn't resolved. But the
crash is fixed right? What you see now is probably some sideeffect of
the interface address change that leaves stale routes in the kernel or
someting. My guess is that we should do a complete removal of all routes
based on the interface in question when the address changes.

-Andreas

Philippe Vanhaesendonck wrote:
> Mmmmm...
> 
> This drives me crazy...
> 
> On that particular node, when I run OLSR in Debug mode, all the links
> end up in having an NLQ and ETX of 0.0, so nothing in the routing tables
> and of course the assertion never comes...
> (see extract of output below)
> Maybe the hardware is just too slow when we are in debug mode: I have
> another AP of the same type, and:
> 
>     * non debug: works ok
>     * debug and a few nodes accessible: works ok
>     * debug and all 25 nodes accessible: NLQ & ETX drop down to 0 and
>       routes are lost
> 
> 
> All that to say I can't reproduce the problem in debug mode...
> ... but I have discovered that one of the neighbour has indeed spurious
> changes of IP!
> I will fix that and see if it changes something.
> 
> ---
> Phil.
> 
> ------------------- Debug output
> # olsrd -d 3 -nofork
> 
>  *** olsr.org - 0.4.9 ***
>  Build date: Apr 15 2005
>  http://www.olsr.org
> 
> Parsing file: "/etc/olsrd.conf"
>  *** olsrd configuration ***
> Debug Level      : 3
> IpVersion        : 4
> No interfaces    : ALLOWED
> TOS              : 0x10
> Willingness      : AUTO
> IPC connections  : 1
>         Host 127.0.0.1
>         Net 192.168.29.0/255.255.255.0
>         Net 192.168.1.0/255.255.255.0
> Pollrate         : 0.05
> TC redundancy    : 0
> MPR coverage     : 1
> LQ level         : 2
> LQ window size   : 10
> Clear screen     : yes
> Interfaces:
>  dev: "wlan0"
>         IPv4 broadcast           : AUTO
>         IPv6 addrtype            : site-local
>         IPv6 multicast site/glbl : ff05::15/ff0e::1
>         HELLO emission/validity  : 2.00/6.00
>         TC emission/validity     : 5.00/15.00
>         MID emission/validity    : 5.00/15.00
>         HNA emission/validity    : 5.00/15.00
> Plugins:
>         Name: "olsrd_httpinfo.so.0.1"
> Not using hysteresis
> 
> IP forwarding is enabled on this system
> Initializing parser...
> Parser: registering event for type 201
> Register parse function: Added function for type 201
> Parser: registering event for type 202
> Register parse function: Added function for type 202
> Parser: registering event for type 3
> Register parse function: Added function for type 3
> Parser: registering event for type 4
> Register parse function: Added function for type 4
> Scheduler event registered int: 20.00
> Initializing APM
> Could not read APM info - setting default willingness(3)
> Using IP version 4
> 
>  ---- Interface configuration ----
> 
> Checking wlan0:
>         Wireless interface detected
>         Metric: 1
>         MTU - IPhdr: 1472
>         Index 0
>         Address:10.51.110.172
>         Netmask:255.0.0.0
>         Broadcast address:10.255.255.255
> Binding socket 6 to device wlan0
> Adding OLSR socket entry 6
> New main address: 10.51.110.172
> Scheduler event registered int: 2.00
> Scheduler event registered int: 5.00
> Scheduler event registered int: 5.00
> Scheduler event registered int: 5.00
> Scheduler event registered int: 5.00
> Scheduler event registered int: 0.60
> Parser: registering event for type -1
> Register parse function: Added function for type -1
> Adding OLSR socket entry 7
> Initializing duplicatetable - hashsize 32
> Scheduler event registered int: 2.00
> Scheduler event registered int: 1.00
> Scheduler event registered int: 1.00
> Loading plugins...
> 
> ---------- Plugin loader ----------
> Library: olsrd_httpinfo.so.0.1
> Httpinfo olsrd plugin 0.1 by Andreas Tønnesen
> Checking plugin interface version.... 2 - OK
> Trying to fetch register function....OK
> Trying to fetch plugin IO function....OK
> Trying to fetch param function....OK
> Sending parameters...
> "Net"/"192.168.29.0 255.255.255.0".... OK
> "Net"/"192.168.1.0 255.255.255.0".... OK
> "Net"/"10.0.0.0 255.0.0.0".... OK
> "port"/"8080".... (HTTPINFO) listening on port: 8080
> OK
> Running registration function...
> olsr_plugin_io(108)
> olsr_plugin_io(109)
> olsr_plugin_io(110)
> olsr_plugin_io(111)
> olsr_plugin_io(115)
> olsr_plugin_io(113)
> olsr_plugin_io(114)
> olsr_plugin_io(112)
> olsr_plugin_io(535)
> olsr_plugin_io(513)
> olsr_plugin_io(514)
> olsr_plugin_io(510)
> olsr_plugin_io(517)
> olsr_plugin_io(518)
> Adding OLSR socket entry 8
> ---------- LIBRARY LOADED ----------
> 
> Main address: 10.51.110.172
> 
> Scheduler started - polling every 0.05 seconds
> Max jitter is 0.500000
> 
> Willingness for 10.11.1.197 changed from 0 to 3 - UPDATING
> sh: clear: not found
>        *** olsr.org - 0.4.9 (Apr 15 2005) ***
> 
> --- 17:52:54.63 ------------------------------------------------- DIJKSTRA
> 
> 10.6.50.38:INF <- 10.6.50.38 FAILED
> 10.10.223.73:INF <- 10.10.223.73 FAILED
> Updating kernel routes...
> mid set: 17:52:54.636863
> 
> --- 17:52:54.63 ---------------------------------------------------- LINKS
> 
> IP address       hyst   LQ     lost   total  NLQ    ETX
> 10.11.1.197      0.000  0.000  0      0      0.000  0.00
> 
> --- 17:52:54.63 ------------------------------------------------ NEIGHBORS
> 
> IP address       LQ     NLQ    SYM   MPR   MPRS  will
> 10.11.1.197      0.000  0.000  NO    NO    NO    3
> 
> --- 17:52:54.63 ------------------------------------------------- TOPOLOGY
> 
> Source IP addr   Dest IP addr     LQ     ILQ    ETX
> Willingness for 10.6.13.115 changed from 0 to 3 - UPDATING
> 
> <SNIP>
> 
>        *** olsr.org - 0.4.9 (Apr 15 2005) ***
> 
> --- 17:52:56.57 ------------------------------------------------- DIJKSTRA
> 
> 10.54.142.133:INF <- 10.54.142.133 FAILED
> 10.11.1.197:INF <- 10.11.1.197 FAILED
> 10.6.50.38:INF <- 10.6.50.38 FAILED
> 10.10.223.73:INF <- 10.10.223.73 FAILED
> 10.8.39.138:INF <- 10.8.39.138 FAILED
> 10.6.13.115:INF <- 10.6.13.115 FAILED
> 10.9.165.194:INF <- 10.9.165.194 FAILED
> 10.51.172.99:INF <- 10.51.172.99 FAILED
> 10.54.142.132:INF <- 10.54.142.132 FAILED
> 10.3.13.37:INF <- 10.3.13.37 FAILED
> 10.7.205.169:INF <- 10.7.205.169 FAILED
> 10.199.156.169:INF <- 10.199.156.169 FAILED
> 10.9.175.120:INF <- 10.9.175.120 FAILED
> 10.212.64.121:INF <- 10.212.64.121 FAILED
> 10.8.8.217:INF <- 10.8.8.217 FAILED
> 10.160.249.87:INF <- 10.160.249.87 FAILED
> 10.200.172.224:INF <- 10.200.172.224 FAILED
> 10.200.183.93:INF <- 10.200.183.93 FAILED
> 10.9.167.26:INF <- 10.9.167.26 FAILED
> Updating kernel routes...
> mid set: 17:52:56.570617
> 
> --- 17:52:56.57 ---------------------------------------------------- LINKS
> 
> IP address       hyst   LQ     lost   total  NLQ    ETX
> 10.54.142.133    0.000  0.100  0      1      0.000  0.00
> 10.8.39.138      0.000  0.300  0      3      0.000  0.00
> 10.6.50.38       0.000  0.100  0      1      0.000  0.00
> 10.10.223.73     0.000  0.100  0      1      0.000  0.00
> 10.6.13.115      0.000  0.600  0      6      0.000  0.00
> 10.11.1.197      0.000  0.200  0      2      0.000  0.00
> 
> --- 17:52:56.57 ------------------------------------------------ NEIGHBORS
> 
> IP address       LQ     NLQ    SYM   MPR   MPRS  will
> 10.54.142.133    0.100  0.000  YES   YES   NO    3
> 10.11.1.197      0.200  0.000  YES   NO    NO    3
> 10.6.50.38       0.100  0.000  YES   NO    NO    3
> 10.10.223.73     0.100  0.000  YES   NO    NO    3
> 10.8.39.138      0.300  0.000  YES   YES   NO    3
> 10.6.13.115      0.600  0.000  YES   NO    NO    3
> 
> --- 17:52:56.57 ------------------------------------------------- TOPOLOGY
> 
> Source IP addr   Dest IP addr     LQ     ILQ    ETX
> 10.51.172.99     10.7.205.169     0.800  1.000  1.25
> 10.51.172.99     10.8.39.138      1.000  1.000  1.00
> 10.51.172.99     10.6.13.115      1.000  1.000  1.00
> 10.51.172.99     10.160.249.87    0.800  0.898  1.39
> 10.54.142.133    10.9.165.194     1.000  0.800  1.25
> 10.54.142.133    10.8.39.138      1.000  1.000  1.00
> 10.54.142.133    10.6.13.115      1.000  1.000  1.00
> 10.8.39.138      10.51.172.99     1.000  1.000  1.00
> 10.8.39.138      10.54.142.132    0.898  0.498  2.24
> 10.8.39.138      10.54.142.133    1.000  1.000  1.00
> 10.8.39.138      10.3.13.37       1.000  1.000  1.00
> 10.8.39.138      10.7.205.169     0.498  0.098  20.48
> 10.8.39.138      10.199.156.169   1.000  0.898  1.11
> 10.8.39.138      10.6.13.115      1.000  0.898  1.11
> 10.8.39.138      10.9.175.120     1.000  0.898  1.11
> 10.8.39.138      10.212.64.121    1.000  0.800  1.25
> 10.8.39.138      10.8.8.217       1.000  1.000  1.00
> 10.160.249.87    10.200.172.224   1.000  0.800  1.25
> 10.160.249.87    10.51.172.99     0.898  0.600  1.86
> 10.160.249.87    10.200.183.93    1.000  1.000  1.00
> 10.9.175.120     10.8.39.138      0.800  1.000  1.25
> 10.9.175.120     10.6.13.115      0.800  1.000  1.25
> 10.9.175.120     10.9.167.26      0.898  1.000  1.11
> ------------------------ End
> 
> Andreas Tønnesen wrote:
> 
> 
>>Hi,
>>
>>The IPv6 address change crash is already fixed in CVS. But having the
>>debuglevel 3 output from the assertion(compiled with -DDEBUG) would
>>help tracing that the problem.
>>
>>- Andreas
>>
>>Robert Frank wrote:
>>
>>
>>>Hi
>>> 
>>>I am also getting the assertion failed error when the IPv6 address of
>>>the node changes. I have 10 nodes . I start the nodes with
>>>preconfigured global Ipv6 address and then change the IPv6 address on
>>>certain nodes (say 5 nodes). when updating the routing table...the
>>>assertion failed error happens.
>>> 
>>>I tried replacing the olsr_delete_routes_from_kernel() in the
>>>process_routes.c with the simple link list traverse and delete
>>>(similar to the one use upto 0.4.8 olsr_delete_routes_from_kernel()).
>>>Then it works fine (assertion failed error doesnt happen).
>>> 
>>>Also when the IPv6 address changes, the routing table is not formed
>>>properly. I analysing whats happening on when the IPv6 address
>>>changes and i will post a more detailed msg later. Hopefully some
>>>changes in the ifnet.c program will do
>>> 
>>>- Rob
>>>
>>>*/Andreas Tønnesen <(spam-protected)>/* wrote:
>>>
>>>    Hi Philippe,
>>>
>>>    Could you provide the output with debug level 3 from when the
>>>assertion
>>>    fails?
>>>
>>>    - Andreas
>>>
>>>    Philippe Vanhaesendonck wrote:
>>>     > Hi!
>>>     >
>>>     > We are running OLSR 0.4.9 on roughly 25 nodes in the Brussels
>>>area.
>>>     >
>>>     > On one node, olsrd aborts on a regular base with the following
>>>    message:
>>>     > olsrd: src/process_routes.c: 318: olsr_delete_routes_from_kernel:
>>>     > Assertion `metric_counter' failed.
>>>     >
>>>     > Some facts:
>>>     >
>>>     > * I have not seen this on any other nodes (but we are only
>>>running
>>>     > OLSR since a couple of days)
>>>     > * The machine is an i386 BusyBox / uClibc base (Elan SC-400
>>>    processor)
>>>     > * It runs from a couple of minutes up to a couple of hours
>>>     > * We are using NLQ -- all nodes share the same config file
>>>     > * The routing is not stable -- that is it changes very fas t.
>>>When
>>>     > you run olsr in debug mode (-d 1), it will scroll at high speed.
>>>     > This is probably due to the quality of the links, but we have
>>>     > substential number of changes in the routes)
>>>     >
>>>     > Hereunder the config file, a capture of the problem and a
>>>dot-draw of
>>>     > the topology (the node having problem is bulles.bxl.rc)
>>>     >
>>>     > Any idea / suggestions?
>>>     >
>>>     > thank you in advance
>>>     >
>>>     > --
>>>     > Phil
>>>     >
>>>     > ----------------------- Config file
>>>     > DebugLevel 0
>>>     > IpVersion 4
>>>     > ClearScreen yes
>>>     > Hna4
>>>     > {
>>>     > }
>>>     > Hna6
>>>     > {
>>>     > }
>>>     > AllowNoInt yes
>>>     > IpcConnect
>>>     > {
>>>     > MaxConnections 1
>>>     > Host 127.0.0.1
>>>     > Net 192.168.1.0 255.255.255.0
>>>     > Net 192.168.29.0 255.255.255.0
>>>     > }
>>>     > UseHysteresis no
>>>     > LinkQualityLevel 2
>>>     > LinkQualityWinSize 10
>>>     > Pollrate 0.05
>>>     > LoadPlugin "olsrd_httpinfo.so.0.1"
>>>     > {
>>>     > PlParam "port" "8080"
>>>     > PlParam "Net" "10.0.0.0 255.0.0.0"
>>>     > PlParam "Net" "192.168.1.0 255.255.255.0"
>>>     > PlParam "Net" "192.168.29.0 255.255.255.0"
>>>     > }
>>>     > Interface "wlan0"
>>>     > {
>>>     > }
>>>     >
>>>     > ----------------------- Example of problem
>>>     > # route
>>>     > Kernel IP routing table
>>>     > Destination Gateway Genmask Flags Metric Ref Use
>>>     > Iface
>>>     > 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
>>>     > 10.0.0.0 * 255.0.0.0 U 0 0 0
>>>     > wlan0
>>>     > 127.0.0.0 * 255.0.0.0 U 0 0 0 lo
>>>     > default gw.bulles-dsl 0.0.0.0 UG 0 0 0 eth0
>>>     > # date; olsrd -d 0 -nofork ; date
>>>     > Tue May 17 12:01:35 CES 2005
>>>     >
>>>     > *** olsr.org - 0.4.9 ***
>>>     > Build date: Apr 15 2005
>>>     > http://www.olsr.org
>>>     >
>>>     > Parsing file: "/etc/olsrd.conf"
>>>     > Httpinfo olsrd plugin 0.1 by Andreas Tønnesen
>>>     > (HTTPINFO) listening on port: 8080
>>>     > olsrd: src/process_routes.c: 318: olsr_delete_routes_from_kernel:
>>>    Assertion
>>>     > `met ric_counter' failed.
>>>     > Aborted
>>>     > Tue May 17 12:20:16 CES 2005
>>>     > # route
>>>     > Kernel IP routing table
>>>     > Destination Gateway Genmask Flags Metric Ref Use
>>>     > Iface
>>>     > 10.200.163.254 soekris.bulles. 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.6.50.38 soekris.bulles. 255.255.255.255 UGH 2 0 0
>>>     > wlan0
>>>     > 10.6.13.115 madou.bxl.rc 255.255.255.255 UGH 2 0 0
>>>     > wlan0
>>>     > 10.9.165.194 madou.bxl.rc 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.10.223.73 soekris.bulles. 255.255.255.255 UGH 2 0 0
>>>     > wlan0
>>>     > 10.11.11.12 soekris.bulles. 255.255.255.255 UGH 1 0 0
>>>     > wlan0
>>>     > 10.54.142.132 madou.bxl.rc 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.11.1.197 * 255.255.255.255 UH 3 0 0
>>>     > wlan0
>>>     > 10.8.8.217 madou.bxl.rc 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.54.142.133 * 255.255.255.255 UH 1 0 0
>>>     > wlan0
>>>     > 10.51.17 2.99 madou.bxl.rc 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.212.64.121 madou.bxl.rc 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.8.39.138 madou.bxl.rc 255.255.255.255 UGH 2 0 0
>>>     > wlan0
>>>     > 10.3.13.37 madou.bxl.rc 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.9.167.26 madou.bxl.rc 255.255.255.255 UGH 4 0 0
>>>     > wlan0
>>>     > 10.199.156.169 madou.bxl.rc 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.9.175.120 madou.bxl.rc 255.255.255.255 UGH 3 0 0
>>>     > wlan0
>>>     > 10.9.166.198 madou.bxl.rc 255.255.255.255 UGH 5 0 0
>>>     > wlan0
>>>     > 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
>>>     > 10.0.0.0 * 255.0.0.0 U 0 0 0
>>>     > wlan0
>>>     > 127.0.0.0 * 255.0.0.0 U 0 0 0 lo
>>>     > default gw.bulles-dsl 0.0.0.0 UG 0 0 0 eth0
>>>     >
>>>     >
>>>     >
>>>     >
>>>     >
>>>   
>>>------------------------------------------------------------------------
>>>     >
>>>     >
>>>     >
>>>   
>>>------------------------------------------------------------------------
>>>     > *> _______________________________________________
>>>     > olsr-users mailing list
>>>     > (spam-protected)
>>>     > https://www.olsr.org/mailman/listinfo/olsr-users
>>>
>>>    --     Andreas Tønnesen
>>>    http://www.olsr.org
>>>    _______________________________________________
>>>    olsr-users mailing list
>>>    (spam-protected)
>>>    https://www.olsr.org/mailman/listinfo/olsr-users
>>>    *
>>>
>>>* *
>>>
>>>------------------------------------------------------------------------
>>>*Yahoo! Mail
>>>Stay connected, organized, and protected. Take the tour
>>><http://tour.mail.yahoo.com/mailtour.html> *
>>>
>>>*
>>>*
>>>------------------------------------------------------------------------
>>>*
>>>_______________________________________________
>>>olsr-users mailing list
>>>(spam-protected)
>>>https://www.olsr.org/mailman/listinfo/olsr-users
>>>*
>>
>>
> 
> _______________________________________________
> olsr-users mailing list
> (spam-protected)
> https://www.olsr.org/mailman/listinfo/olsr-users

-- 
Andreas Tønnesen
http://www.olsr.org



More information about the Olsr-users mailing list