help-cfengine
[Top][All Lists]
Advanced

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

Re: Segmentation Fault in cfagent on RH EL-3.0 updates 3,5


From: Mark Burgess
Subject: Re: Segmentation Fault in cfagent on RH EL-3.0 updates 3,5
Date: Wed, 29 Jun 2005 08:18:00 +0200

This sounds a little strange. The trouble with free segfaults is that
they are impossible to track down. It might even be the version of libc
that you have. Perhaps you could collect a few of these and see if there
is a pattern. Often this kind of thing can occur due to build errors,
e.g. mixed up library versions.  Have you considered rebuilding cfagent?

Mark

On Tue, 2005-06-28 at 18:47 -0700, Gary Meyer wrote:
> Let me clarify a bit, this is : Red Hat Enterprise Linux WS release 3  
> (Taroon Update 5)
> (I've also tried Update 3, and get basically the same thing)
> 
> I've a particular instance in the debugger, and it shows me:
> (gdb) where
> #0  0x0027e08d in _int_free () from /lib/tls/libc.so.6
> #1  0x0027d048 in free () from /lib/tls/libc.so.6
> #2  0x002b0c28 in closedir () from /lib/tls/libc.so.6
> #3  0x0807e945 in RecursiveLink (lp=0x87736e8,
>      from=0xbffe3d20  
> "/usr/pkg/lib/perl5/site_perl/5.8.2/i686-linux/DBI/Const/GetInfo",  
> to=0x341180 "\001", maxrecurse=-107) at link.c:383
> #4  0x0807eaf9 in RecursiveLink (lp=0x87af570,
>      from=0xbffe5dc0  
> "/usr/pkg/lib/perl5/site_perl/5.8.2/i686-linux/DBI/Const",
>      to=0xbffe4dc0  
> "/pcom/distrib/swtools/perlmods/DBI/v1.39/rh9/i86/lib/perl5/site_perl/ 
> 5.8.2/i686-linux/DBI/Const", maxrecurse=-106) at link.c:356
> ...
> 
> So maxrecurse tells me we're 8 levels deep in recursion here.  Also  
> note that in frame 3, the pointer for the "to" variable (0x341180)  
> looks like it's a few digits short ... so I do this:
> (gdb) frame 4
> #4  0x0807eaf9 in RecursiveLink (lp=0x87af570,
>      from=0xbffe5dc0  
> "/usr/pkg/lib/perl5/site_perl/5.8.2/i686-linux/DBI/Const",
>      to=0xbffe4dc0  
> "/pcom/distrib/swtools/perlmods/DBI/v1.39/rh9/i86/lib/perl5/site_perl/ 
> 5.8.2/i686-linux/DBI/Const", maxrecurse=-106) at link.c:356
> 356           RecursiveLink(lp,newfrom,newto,maxrecurse-1);
> (gdb) print newto
> $19 =  
> "/pcom/distrib/swtools/perlmods/DBI/v1.39/rh9/i86/lib/perl5/site_perl/ 
> 5.8.2/i686-linux/DBI/Const/GetInfo\000rlmods/DBI/v1.39/rh9/i86/lib/ 
> perl5/site_perl/5.8.2/i686-linux/DBD/Sponge.pm\000m\00039/rh9/i86/lib/ 
> per"...
> (gdb) frame 3
> #3  0x0807e945 in RecursiveLink (lp=0x87736e8,
>      from=0xbffe3d20  
> "/usr/pkg/lib/perl5/site_perl/5.8.2/i686-linux/DBI/Const/GetInfo",  
> to=0x341180 "\001", maxrecurse=-107) at link.c:383
> 383     closedir(dirh);
> (gdb) print to
> $20 = 0x341180 "\001"
> 
> Note that the value of newto in the call to RecursiveLink (in frame 4)  
> isn't the same as the value of to in frame 3 ... which I think means  
> the heap is getting stepped on.  Note: the value of newto DOES have a  
> null character in it after "/Const/Getinfo" about 103 characters into  
> the string.
> =============================
> Gary Meyer
> Configuration Management Engineer
> Process Engineering
> Caspian Networks
> gmeyer@caspiannetworks.com
> 
> On Jun 28, 2005, at 5:40 PM, Tim Nelson wrote:
> 
> > On Tue, 28 Jun 2005, Gary Meyer wrote:
> >
> >> I can't seem to get cfagent (I'm using 2.1.15, the latest) to run  
> >> successfully on Red Hat Enterprise Linux 3.0 update 3, or update 5.   
> >> It works fine on EL 3.0 with no updates, and I haven't tried the  
> >> other updates, but I suspect somewhere between no updates and Update  
> >> 3, something breaks cfagent. It seems to generate a segmentation  
> >> fault at a different place each time, though if I run with -n, then  
> >> it'll seg fault at the same place every time. It's always in the  
> >> middle of a very large section of recursive link creations.  Most of  
> >> the time it seems to seg fault on readlink, symlink, or closedir  
> >> system calls being called from link.c.
> >>
> >> My company uses Red Hat Enterprise Linux 3.0, and most of the  
> >> computers are at 3.0 with no updates, but a few of the newly  
> >> purchased computers have driver issues, and they work fine with  
> >> either update 3 or 5 ... but now my CFEngine scripts blow up.  Has  
> >> anyone else seen this, or better yet does anyone know how to solve  
> >> the problem ?
> >
> >     Interesting.  I'm probably not doing the size of link creation that  
> > you are, but it works for me on Redhat ES (update 4).
> >
> >     Any idea what kind of values are being passed to the  
> > readlink/symlink/etc?  (I'm wondering about buffer overflows or  
> > something here).
> >
> > -- 
> > Kind Regards,
> >  
> > Tim Nelson
> > Server Administrator
> >  
> 
> 
> _______________________________________________
> Help-cfengine mailing list
> Help-cfengine@gnu.org
> http://lists.gnu.org/mailman/listinfo/help-cfengine





reply via email to

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