Mark,
Thanks! Works like a champ in svn 324. No need to apologize, you are
very responsive to bugs and fix them quickly. I am sorry that I could
not find it. I see that you fixed it in fncall.c
if (UnresolvedArgs(expargs))
{
FNCALL_STATUS.status = FNCALL_FAILURE;
rval.item = CopyFnCall(fp);
rval.rtype = CF_FNCALL;
DeleteExpArgs(expargs);
return rval;
}
switch (this)
{
case cfn_canonify: case cfn_canonify:
I was real close to finding it, as I did pass by this chunk of code
many times. I just didn't know enough about the code to fix it.
Now for a small typo in generic_agent.c (line 288). It doesn't effect
anything, but I happened to notice it:
snprintf(vbuff,CF_BUFSIZE,"%s/bin/cfagent -D from_cfexecd",CFWORKDIR);
should be
snprintf(vbuff,CF_BUFSIZE,"%s/bin/cf-agent -D from_cfexecd",CFWORKDIR);
I am also tracking down another bug where cf-agent segfaults when
connecting to multiple hosts (on AIX). I am not sure it is cfengine's
fault as the free operation should work as it is a valid memory
address. I'll let you know when I figure it out. On the last
connection host it will free the connection:
cf3 Existing connection just became free...
Segmentation fault in splay at 0xd03aa0c4 ($t1)
0xd03aa0c4 (splay+0xdc) 7ca744aa lswi r5,r7,0x8
(dbx) where
splay(??, ??, ??) at 0xd03aa0c4
free_y(??, ??) at 0xd03aab7c
free_common(??) at 0xd033ce7c
DeleteTypeContext(type = kp_files), line 948 in "agent.c"
ScheduleAgentOperations(bp = 0x2024acb8), line 695 in "agent.c"
KeepPromiseBundles(), line 647 in "agent.c"
KeepPromises(), line 277 in "agent.c"
main(argc = 2, argv = 0x2ff22a18), line 135 in "agent.c"
agent.c : line 948
if (svp->server)
{
free(svp->server);
}
(dbx) whatis svp->server
char *server;
(dbx) p &svp->server
0x20243ba8
(dbx) 0x20243ba8/10x
0x20243ba8: 2024 3bc8 2024 31b8 2024 3850 0000 0010
0x20243bb8: 2024 3df0
On Sat, May 2, 2009 at 3:10 AM, Mark Burgess <[email protected]> wrote:
>
> Matt, I apologise for your trouble. I now found the time to look for
> this and please try the latest svn where this now seems to work correctly.
>
> M
>
> Matt Richards wrote:
>> Greetings. It seems that when you pass in a parameter to a usebundle,
>> canonify can't handle it. Consider the following example.
>>
>> bundle control common {
>> bundlesquence = { "test" };
>> }
>>
>> ##
>>
>> bundle agent test {
>>
>> vars:
>> "test_files" slist => { "/etc/motd",
>> "/etc/resolv.conf",
>> "/etc/netsvc.conf"
>> };
>>
>> methods:
>> "any" usebundle => test_func("$(test_files)");
>>
>> }
>>
>> ##
>>
>> bundle agent test_func(filename) {
>>
>> vars:
>>
>> "canon_filename" string => canonify("$(filename)");
>>
>> reports:
>> Yr2009::
>> "filename: $(filename)";
>> "canon_filename: $(canon_filename)";
>>
>> }
>>
>>
>> running the example:
>> cf3 =========================================================
>> cf3 reports in bundle drop_copy (2)
>> cf3 =========================================================
>> cf3
>> cf3
>> cf3 .........................................................
>> cf3 Promise by: filename: /etc/netsvc.conf
>> cf3 .........................................................
>> cf3
>> cf3 R: filename: /etc/netsvc.conf
>> cf3
>> cf3 .........................................................
>> cf3 Promise by: canon_filename: __filename_
>> cf3 .........................................................
>> cf3
>> cf3 R: canon_filename: __filename_
>> cf3 Method invoked successfully
>> cf3
>> cf3 + Private classes augmented:
>> cf3
>> cf3 - Private classes diminished:
>> cf3
>> cf3
>> cf3
>> _______________________________________________
>> Bug-cfengine mailing list
>> [email protected]
>> https://cfengine.org/mailman/listinfo/bug-cfengine
>
> --
> Mark Burgess
>
> -------------------------------------------------
> Professor of Network and System Administration
> Oslo University College, Norway
>
> Personal Web: http://www.iu.hio.no/~mark
> Office Telf : +47 22453272
> -------------------------------------------------
>
_______________________________________________
Bug-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/bug-cfengine