On Wed, 26 Apr 2006, David Lee wrote:

> [...]
> In "membership/ccm/ccm.c" (gdb frame #4 above) the code is:
> ------------------------------
>                 type = ha_msg_value(msg, F_TYPE);
>                 orig = ha_msg_value(msg, F_ORIG);
>                 status = ha_msg_value(msg, F_STATUS);
>
>                 ccm_debug(LOG_DEBUG, "recv msg %s from %s, status:%s"
>                 ,       type, orig, status);
> ------------------------------
>
>
> Looking at the values:
> ------------------------------
> (gdb) print type
> $3 = 0x39da8 "resource"
> (gdb) print orig
> $4 = 0x36928 "shiel"
> (gdb) print status
> $5 = 0x0
> (gdb)
> ------------------------------
>
>
> So that's the problem: calling a "printf"-like routine with a null pointer
> (variable "status") for a "%s" value.  A null "%s" is technically illegal.

I've applied patch in CVS, so that the "status" passed to "ccm_debug(...)"
is never null.

Now BasicSanityCheck (which is what exposed the problem in my case) is one
step closer to working on Solaris.  (Indeed, with CSW/blastwave Solaris
packages, BSC is almost (not quite) all there.  Pleasing.)


-- 

:  David Lee                                I.T. Service          :
:  Senior Systems Programmer                Computer Centre       :
:                                           Durham University     :
:  http://www.dur.ac.uk/t.d.lee/            South Road            :
:                                           Durham DH1 3LE        :
:  Phone: +44 191 334 2752                  U.K.                  :
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to