Forum: Cfengine Help
Subject: Core dump in cf-agent vars.c:308
Author: mvpel
Link to topic: https://cfengine.com/forum/read.php?3,22200,22200#msg-22200

As I was muddling through the bootstrap of my new cfengine 3.1.5 build:

sudo /usr/local/sbin/cf-agent --bootstrap
cf-promises needs to be installed in /var/cfengine/bin for pre-validation of 
full configuration
/var/cfengine/state/cf_lock.db: No such file or directory
/var/cfengine/performance.db: No such file or directory
Bus error(coredump)

Call stack:
====
#0  GetVariable.part.1 (scope=0x74e4 "", lval=0x79ec1f08 "track_value", 
returnv=0x7a002669, rtype=0x7a002668 "") at 
/home/pelletm/src/cfengine-3.1.5/src/vars.c:308
#1  0xc49f6c8c in BooleanControl (scope=0x0, name=0x0) at 
/home/pelletm/src/cfengine-3.1.5/src/vars.c:737
#2  0xc4a14570 in EndAudit () at 
/home/pelletm/src/cfengine-3.1.5/src/logging.c:71
#3  0x7328 in KeepPromises () at 
/home/pelletm/src/cfengine-3.1.5/src/agent.c:359
#4  0x7480 in main (argc=20, argv=0x10800) at 
/home/pelletm/src/cfengine-3.1.5/src/agent.c:144

Relevant code:
====
enum cfdatatype GetVariable(char *scope,char *lval,void **returnv, char *rtype)
{
  int slot,i,found = false;
  struct Scope *ptr = NULL;
  char scopeid,vlval,sval;
  char expbuf;
...

   if (!found)
      {
      Debug("No such variable found %s.%s\n\n",scopeid,lval);
      *returnv = lval;     <============= line 308
      *rtype   = CF_SCALAR;
      return cf_notype;
      }
   }

At coredump:
=====
returnv == 0x7a002669
*returnv == 0x0
lval = 0x79ec1f08 "track_value"

In calling function:
=====
int BooleanControl(char *scope,char *name)

{ char varbuf, rtype;

if (name == NULL)
   {
   return false;
   }
 
if (GetVariable(scope,name,(void *)varbuf,&rtype) != cf_notype)  <=====
   {
   return GetBoolean(varbuf);
   }

return false;
}
=================

I'm not quite clear on how the pointers fit together here to figure out why 
this might be dumping core, and my test program isn't behaving as I expect. Any 
suggestions?

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to