Can you provide example code that fails? Marco Hoehle wrote: > Hello, > > > running on CentOS 5.3 / RHEL5.3 32 and 64bit , cf3 trunk build 434. > When compiling cf3 without special options the cf-agent binary is > throwing a segfault after every run. > When disabling FORTIFY_SOURCE with CFLAGS="-g -O2 -D_FORTIFY_SOURCE=0" > the binary is running somewhat stable ... but on configuration errors it > still reacts sometimes with segmentation faults. The bad side is that > cf-agent intends to go into failsafe mode but never does because of the > segfault. > Below you can find some examples. > > -- this seems to be reproducable ------------------------- > > looks like when cf-agent is called with the -f option and through the > path variable (not direct path) it is segfaulting ... > Same happens when instead of the -f option an broken promise is > configured. The agent will segfault. > >> this is fine > [r...@mir inputs]# /var/cfengine/bin/cf-agent -K -f testing/hello_world.cf > R: Hello World > >> this is bad > r...@mir inputs]# cf-agent -K -f testing/hello_world.cf > R: Hello World > *** buffer overflow detected ***: cf-agent terminated > ======= Backtrace: ========= > /lib/i686/nosegneg/libc.so.6(__chk_fail+0x41)[0x907f61] > /lib/i686/nosegneg/libc.so.6(__strcpy_chk+0x43)[0x907383] > cf-agent[0x809f95e] > cf-agent[0x809fefa] > > another example. > ----- wrong defined body should not finish in a segfault of cf-agent > -------------------- > > [r...@mir inputs]# cf-agent -K > cf3:/var/cfengine/inputs/sys/main.cf:3,1: Redefinition of body control > for common is a broken promise, near token '{' > cf3:/var/cfengine/inputs/sys/main.cf:12,20: Redefinition of input list > (broken promise), near token '}' > Summarizing promises as text to /var/cfengine/inputs/promises.cf.txt > Summarizing promises as html to /var/cfengine/inputs/promises.cf.html > cf-agent was not able to get confirmation of promises from cf-promises, > so going to failsafe > *** buffer overflow detected ***: cf-agent terminated > ======= Backtrace: ========= > /lib/i686/nosegneg/libc.so.6(__chk_fail+0x41)[0x907f61] > /lib/i686/nosegneg/libc.so.6(__strcpy_chk+0x43)[0x907383] > cf-agent[0x809f95e] > cf-agent[0x809fefa] > cf-agent[0x804cba4] > /lib/i686/nosegneg/libc.so.6(__libc_start_main+0xdc)[0x835e8c] > cf-agent[0x804ad51] > > well it never goes into failsafe because of the segfault and my clients > will become unmanaged through this. > > -------------------------------------------------- > > > and yet another example. I was trying to fill an slist with > execresult("/bin/ls /mydir/*.cf","noshell") and divine what. The > cf-agent process dies with a segmentation fault .... but this one is > different than the others ;) > > when using execresult to get a dynamic configfile list all processes do > segfaults > cf3 > Parsing file /var/cfengine/inputs/sys/update.cf > cf3 > Parsing file /var/cfengine/inputs/sys/library.cf > cf3 > Parsing file /var/cfengine/inputs/sys/server.cf > cf3 > Parsing file /var/cfengine/inputs/sys/cfengine_maintenance.cf > Segmentation fault > > ------ details --- > GetVariable(global,files_unixnews): using scope 'global' for variable > 'files_unixnews' > return final variable type=slist, value={ > /bin/ls: /var/cfengine/unixnews.ch/*.cf: No such file or directory} > ExpandPrivateRval(scope=sys,type=/) > Cannot append X to rval-list [(null)] > Segmentation fault > ------------------------- > > > ------- slist for dynmic variables finishes with segfault > --------------------- > GetVariable(global,files_unixnews): using scope 'global' for variable > 'files_unixnews' > return final variable type=slist, value={ > hostname_test.cf main.cf} > ExpandPrivateRval(scope=sys,type=n) > Cannot append X to rval-list [(null)] > Segmentation fault > > > > Thanks in advance for reviewing. > Kind regards > marco > > > > > > > > _______________________________________________ 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