help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: more cfagent during kickstart woes


From: Ed Brown
Subject: Re: more cfagent during kickstart woes
Date: Tue, 03 Aug 2004 08:11:44 -0600

Thank you for the suggestion, a syntax error is certainly worth checking
for, and the symptoms you describe are exactly what Lars described.  

I don't believe that was the problem here (when we occasionally saw
segfaults when cfengine ran within kickstart, right after the ipv6
lookup).  We do a syntax check before committing changes to our
configuration files, and the problem was not 100% replicable: it would
happen, then subsequently everything would work fine, without changing
anything. 

I'm not at all sure that ifconfig/IPv6 is CAUSING any problems, just
that like Lars, it was the last thing we saw, and we hadn't had any such
problems with cfengine in kickstart until that lookup was introduced. It
is odd though, how it hangs around in a zombie state until cfengine
exits.

-Ed



On Wed, 2004-07-28 at 01:52, Geir Hauge wrote: 
> On Tue, Jul 27, 2004 at 02:50:05PM -0600, Ed Brown wrote:
> > On Tue, 2004-07-27 at 13:44, Lars Damerow wrote:
> > 
> > > cfengine always runs like a champ outside of kickstart; I wonder what
> > > difference between a kickstart boot and a regular boot gives it such 
> > > trouble.
> > 
> > The zombie ifconfig process[es] created by the IPv6 lookup (cleaned up
> > when cfengine exits) have been brought up here before, but no traction
> > gained.  (
> > http://lists.gnu.org/archive/html/help-cfengine/2004-06/msg00013.html
> > ).  Our occasional problems with kickstart started at that time (when we
> > upgraded to 2.1.6, I think from 2.1.3), and like your debug trace, our
> > output always ended with the ifconfig call.  That's circumstantial
> > linkage, but it's all I've got.  The intermittent nature of the problem
> > and the segfaults made it hard to make a more detailed report.
> 
> Not sure how related this is, but I've encountered similar problems
> when doing a simple syntax error in a cfagent configuration file. Here's
> a simple configuration file to demonstrate:
> 
> -- ./test.cf --
> control:
>     somepath = ( /my/path )
>     AddInstallable = ( test_class )
> groups:
>     test_class = ( !IsNewerThan(/home/file1, $(somepath)/file2 ) )
> -- end ./test.cf --
> 
> The error here is that there is space within the IsNewerThan() macro.
> The correct line should be:
> 
>     test_class = ( !IsNewerThan(/home/file1,$(somepath)/file2) )
> 
> When trying to parse this file, the following happens:
> 
> # cfagent -p -f ./test.cf 
> cf:cfengine::./test.cf:5: Incomplete variable syntax or bracket mismatch 
> 
> and then it just hangs like this, with cfagent taking up 99% of cpu:
> 
> # ps -ef 
> [...]
> root     22641 16858 99 09:29 pts/2    00:00:35 cfagent -p -f ./test.cf
> root     22642 22641  0 09:29 pts/2    00:00:00 [ifconfig] <defunct>
> [...]
> 
> When running with cfagent -pdddd -f ./test.cf, the last lines it prints
> are:
> 
> cf:cfengine::./test.cf:5: Incomplete variable syntax or bracket mismatch 
> Scanning variable 
> GetMacroValue(main,)
> 
> which means that it calls the char *GetMacroValue(char *scope,char *name)
> function with the last argument as an empty string. Running the same
> command with the syntax error fixed, it prints
> GetMacroValue(main,somepath) there instead, so it seems to me that the
> problem is around there, and not with the ipv6 (in this case at least).
> 
> Hope this helps!





reply via email to

[Prev in Thread] Current Thread [Next in Thread]