[Linux-ha-dev] cl_free: Bad magic number in object at ...

Alan Robertson alanr at unix.sh
Tue Oct 5 15:59:56 MDT 2004


Lars Ellenberg wrote:
> directive:
> bcast eth0 eth1
> (wrong leftover from config file,
>  no more eth1 available...)
> 
> heartbeat &
> 
> [error below.]
> 
> probably this code (and FIXME) from heartbeat/config.c
>     871  if ((funs=g_hash_table_lookup(CommFunctions, option)) != NULL
>     872          &&      funs->new != NULL) {
>     873          struct hb_media* mp = funs->new(value);
>     874          char*           type;
>     875          char*           descr;
>     876 
>     877          funs->descr(&descr);
>     878          funs->mtype(&type);
>     879 
>     880          if (nummedia >= MAXMEDIA) {
>     881                  cl_log(LOG_ERR, "Too many media specified (> %d)"
>     882                  ,       MAXMEDIA);
>     883                  cl_log(LOG_INFO, "Offending command: %s %s"
>     884                  ,       option, value);
>     885                  return HA_FAIL;
>     886          }
>     887 
>     888          sysmedia[nummedia] = mp;
>     889          if (mp == NULL) {
>     890                  ha_log(LOG_ERR, "Illegal %s [%s] in config file [%s]"
>     891                  ,       type, descr, value);
>     892                  PILIncrIFRefCount(PluginLoadingSystem
>     893                  ,       HB_COMM_TYPE_S, option, -1);
> 
>     894                  /* Does this come from ha_malloc? FIXME!! */
>     895                  ha_free(descr); descr = NULL;
>     896                  ha_free(type);  type = NULL;
> 
> obviously it does not (allways).
> 
>     897                  return(HA_FAIL);
>     898          }else{
> 
> 	lge


OK Lars.  I want to make sure I understand what's going on here:

You have a config file with an illegal bcast directive in it.

And, when you have this, it tries to pass something to ha_free that didn't 
come from ha_free.  Is that right?

So, this should be easily reproduced.  Right?

-- 
     Alan Robertson <alanr at unix.sh>

"Openness is the foundation and preservative of friendship...  Let me claim 
from you at all times your undisguised opinions." - William Wilberforce


More information about the Linux-HA-Dev mailing list