Bug#417835: heartbeat: IPv6addr fails on etch

2007-04-04 Thread Simon Horman
On Wed, Apr 04, 2007 at 09:10:02PM +0200, Philipp Kolmann wrote:
> Package: heartbeat
> Version: 1.2.5-3
> Severity: important
> 
> Hi,
> 
> today I upgraded my cluster to etch and wanted to test the failover settings
> but this completely failed. After some debugging I found out, that the
> IPv6addr script fails.
> 
> Looking deeper into this issue, it seems that the function is_addr6_available
> checks the reply for a ICMPV6_ECHO_REQUEST but fails here:
> 
> if (0 != memcmp(&local, &addr.sin6_addr,sizeof(local))) {
> 
> It seems that in etch addr.sin6_addr isn't '::1'.
> 
> I tried it with a sarge test system and there it works. (addr.sin6_addr ==
> '::1').
> 
> I am not sure if this is a heartbeat or kernel problem, but a fix would be
> very welcome.
> 
> Tell me, if you need any info to help fix this issue.

Hi Philipp,

thanks for pointing this out. I did a quick check of
is_addr6_available() in the linux-ha 2.0 tree and it seems that this
local check has been removed all together - though I am not sure why. I
wonder if this would also be a good apprach to take to side-step the
problem that you have found in 1.2.5.

The (untested) patch belows shows what I am thinking about.
Is it possible for you to see if this solves the problem that you are
seeing?

I have CCed the linux-ha-dev list, so the linux-ha developers can
pass their eyes over this. Its a subscriber only list.

For the linux-ha people, this (Debian) bug can be seen at 
http://bugs.debian.org/417835, and posting to
[EMAIL PROTECTED] will log against it.

-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#417835: heartbeat: IPv6addr fails on etch

2007-04-05 Thread Philipp Kolmann
On Wed, Apr 04, 2007 at 04:47:32PM -0700, Simon Horman wrote:
> On Wed, Apr 04, 2007 at 09:10:02PM +0200, Philipp Kolmann wrote:
> > Package: heartbeat
> > Version: 1.2.5-3
> > Severity: important
> > 
> > Hi,
> > 
> > today I upgraded my cluster to etch and wanted to test the failover settings
> > but this completely failed. After some debugging I found out, that the
> > IPv6addr script fails.
> > 
> > Looking deeper into this issue, it seems that the function 
> > is_addr6_available
> > checks the reply for a ICMPV6_ECHO_REQUEST but fails here:
> > 
> > if (0 != memcmp(&local, &addr.sin6_addr,sizeof(local))) {
> > 
> > It seems that in etch addr.sin6_addr isn't '::1'.
> > 
> > I tried it with a sarge test system and there it works. (addr.sin6_addr ==
> > '::1').
> > 
> > I am not sure if this is a heartbeat or kernel problem, but a fix would be
> > very welcome.
> > 
> > Tell me, if you need any info to help fix this issue.
> 
> Hi Philipp,
> 
> thanks for pointing this out. I did a quick check of
> is_addr6_available() in the linux-ha 2.0 tree and it seems that this
> local check has been removed all together - though I am not sure why. I
> wonder if this would also be a good apprach to take to side-step the
> problem that you have found in 1.2.5.
> 
> The (untested) patch belows shows what I am thinking about.
> Is it possible for you to see if this solves the problem that you are
> seeing?
> 
> I have CCed the linux-ha-dev list, so the linux-ha developers can
> pass their eyes over this. Its a subscriber only list.
> 
> For the linux-ha people, this (Debian) bug can be seen at 
> http://bugs.debian.org/417835, and posting to
> [EMAIL PROTECTED] will log against it.

Hi Simon,

thanks for looking into this. I did some more testing yesterday and today and
found the same like you.

My problem now after disabling the local check is, that in send_ua at "if
(libnet_write(l) == -1)" I get the following glibc error:

*** glibc detected *** free(): invalid next size (fast): 0x005042e0
***
Aborted

in gdb I get the following bt:

*** glibc detected *** free(): invalid next size (fast): 0x005042e0
***

Program received signal SIGABRT, Aborted.
[Switching to Thread 47816971899424 (LWP 27541)]
0x2b7d413c907b in raise () from /lib/libc.so.6
(gdb) bt
#0  0x2b7d413c907b in raise () from /lib/libc.so.6
#1  0x2b7d413ca84e in abort () from /lib/libc.so.6
#2  0x2b7d413ff629 in __fsetlocking () from /lib/libc.so.6
#3  0x2b7d41406193 in mallopt () from /lib/libc.so.6
#4  0x2b7d4140621e in free () from /lib/libc.so.6
#5  0x2b7d41290b6b in libnet_write () from /usr/lib/libnet.so.1
#6  0x00401c74 in send_ua (src_ip=0x7fff69b7f360, if_name=) at IPv6addr.c:372
#7  0x004026a9 in main (argc=, argv=) at IPv6addr.c:261

The IP Adress is set correctly, but the checks to verify fail.

For your information the ldd of the binary:

ldd .libs/IPv6addr 
libplumb.so.0 => /usr/lib/libplumb.so.0 (0x2b43ed141000)
libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x2b43ed255000)
libnet.so.1 => /usr/lib/libnet.so.1 (0x2b43ed38)
libc.so.6 => /lib/libc.so.6 (0x2b43ed499000)
libuuid.so.1 => /lib/libuuid.so.1 (0x2b43ed6d6000)
librt.so.1 => /lib/librt.so.1 (0x2b43ed7da000)
libdl.so.2 => /lib/libdl.so.2 (0x2b43ed8e3000)
/lib64/ld-linux-x86-64.so.2 (0x2b43ed029000)
libpthread.so.0 => /lib/libpthread.so.0 (0x2b43ed9e6000)

Thanks for any help
Philipp Kolmann

-- 
The more I learn about people, the more I like my dog!


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#417835: heartbeat: IPv6addr fails on etch

2007-04-04 Thread Philipp Kolmann
Package: heartbeat
Version: 1.2.5-3
Severity: important

Hi,

today I upgraded my cluster to etch and wanted to test the failover settings
but this completely failed. After some debugging I found out, that the
IPv6addr script fails.

Looking deeper into this issue, it seems that the function is_addr6_available
checks the reply for a ICMPV6_ECHO_REQUEST but fails here:

if (0 != memcmp(&local, &addr.sin6_addr,sizeof(local))) {

It seems that in etch addr.sin6_addr isn't '::1'.

I tried it with a sarge test system and there it works. (addr.sin6_addr ==
'::1').

I am not sure if this is a heartbeat or kernel problem, but a fix would be
very welcome.

Tell me, if you need any info to help fix this issue.

thanks
Philipp Kolmann

-- System Information:
Debian Release: 4.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-amd64
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages heartbeat depends on:
ii  adduser  3.102   Add and remove users and groups
ii  iproute  20061002-3  Professional tools to control the 
ii  iputils- 3:20020927-6Tools to test the reachability of 
ii  libc62.3.6.ds1-13GNU C Library: Shared libraries
ii  libglib1 1.2.10-17   The GLib library of C routines
ii  libnet1  1.1.2.1-2   library for the construction and h
ii  libpils0 1.2.5-3 Plugin and Interface Loading Syste
ii  libsenso 1:2.10.1-3  library to read temperature/voltag
ii  libsnmp9 5.2.3-7 NET SNMP (Simple Network Managemen
ii  libssl0. 0.9.8c-4SSL shared libraries
ii  libstoni 1.2.5-3 Interface for remotely powering do
ii  libuuid1 1.39+1.40-WIP-2006.11.14+dfsg-2 universally unique id library
ii  libwrap0 7.6.dbs-13  Wietse Venema's TCP wrappers libra
ii  psmisc   22.3-1  Utilities that use the proc filesy
ii  python   2.4.4-2 An interactive high-level object-o
ii  python-c 0.5.12  register and build utility for Pyt

Versions of packages heartbeat recommends:
ii  iptables1.3.6.0debian1-5 administration tools for packet fi
ii  logrotate   3.7.1-3  Log rotation utility
ii  sysklogd [system-log-da 1.4.1-18 System Logging Daemon

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]