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 <mark.burg...@iu.hio.no> 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 >> Bug-cfengine@cfengine.org >> 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 Bug-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/bug-cfengine