[support] Destination unreachable from HA on BU???

Mattias Blomqvist mattias.blomqvist at gmail.com
Thu Mar 26 18:45:46 JST 2009


Hi

I may revisit the kernel problem later. Right now I'm satisfied with
having it running on 2.6.29.

Regarding the segfault I think I found the source.
Forget what I said about ulimit. It always seem to segfault on the
first run regardless of what ulimit is. Why it doesn't segfault after
the first run is unknown to me but my guess is that something is left
behind that prevents further segfaults.
Anyhow, since the umip package from natisbad.org default seems to
build with debug symbols it was pretty easy to find with the core file
and some gdb...
What happens is the following:
The segfault is in a memcpy in libnetlink and it is a result of the
gateway variable pointing to non-accessible memory in the call to
addattr_l() in route_mod() in rtnl.c
This in turn is called from apply_update_tunnel_route() in movement.c
where the actual error seems to be. This functions is only present in
movement.c after applying the tunnel_support patch so the error is in
the patch.
Line 436 in tunnel_support.patch is:
gateway = RTA_DATA(rta_tb[RTA_DST]);
Shouldn't this be:
gateway = RTA_DATA(rta_tb[RTA_GATEWAY]);
???

BR,
Mattias


On Wed, Mar 25, 2009 at 5:38 PM, Arnaud Ebalard <arno at natisbad.org> wrote:
> Hi,
>
> Mattias Blomqvist <mattias.blomqvist at gmail.com> writes:
>
>> First, thanks everyone for the help. I was obviously looking for
>> errors in the wrong place. If someone runs an MN on debian 5.0 kernel
>> 2.6.26-1, please tell me how.
>
> Well, it worked when 2.6.26 was the latest kernel. I just had the set of
> patches from my repo applied to the kernel.
>
>      http://hg.natisbad.org/migrate2_patches_kernel/
>
> If you want to, you just have to clone the repo and do an hg update to
> a version intended for 2.6.26. You will also have to recompile a
> version of UMIP with the patches from the same date:
>
>      http://hg.natisbad.org/migrate2_patches_umip_nemo/
>
>> It works ok over a tunnel interface after some trouble.
>>
>> When mip6d (umip from natisbad.org) is configured with a tunnel
>> interface it sometimes segfaults on start leaving ip6tnl-devices up
>> etc...
>> After setting ulimit to unlimited I can't get it to segfault so no
>> core file. :(
>
> That's *very* weird you cannot reproduce it after the ulimit. Can you do
> the following *in the same* terminal:
>
> # mipd
> segfault
> # ulimit -c unlimited
> # mip6d                    | repeat till it segfaults
> ^c                         |
>
> and provide the whole output.
>
> One thing I would be interested in is having mip6d straced in order to
> get some idea of where the segfault happens.
>
> One thing to keep in mind: when umip segfaults, it leaves many things
> behind (tunnel, policies, ...) as you noticed. When mip6d is restarted
> after that, it does not like that and may fail.
>
> Cheers,
>
> a+
>


More information about the Support mailing list