Forum: CFEngine Help Subject: Segfault in 3.1.5 on 32 bit debian lenny Author: andrela Link to topic: https://cfengine.com/forum/read.php?3,23376,23376#msg-23376
Hi list, I have a problem i have been unable to locate the source of. I have a piece of policy that crashes cf-promises/cf-agent on 32 bit debian lenny but not on my other platforms (32 and 64 bit debian squeeze and 64 bit debian lenny). I dont know if i have made a compilation error or if there is a bug in the cfengine code.(i have built the packages from the same sourcepackage of the debian modified version of 3.1.5) If i change the content of the file i read in i dont get this error, i can only reproduce this with this exact code. If i change the email to r...@example.com i dont get this error. If you think this can be a issue in cfengine rathen than a build issue on my part i can register a bug and upload full backtrace. Best Regards Andreas Larsson Axis Coimmunications AB When i run my testpolicy i get this error: host:~# cf-agent -K -f /tmp/testbug3.cf *** glibc detected *** /var/lib/cfengine3/bin/cf-promises: free(): invalid next size (fast): 0x081ae2c8 *** ======= Backtrace: ========= /lib/libc.so.6[0xb7378935] /lib/libc.so.6(cfree+0x9c)[0xb737a7dc] /var/lib/cfengine3/bin/cf-promises[0x80adfd2] /var/lib/cfengine3/bin/cf-promises[0x8087387] /var/lib/cfengine3/bin/cf-promises[0x808478f] /var/lib/cfengine3/bin/cf-promises[0x80955b6] /var/lib/cfengine3/bin/cf-promises[0x808bcc0] /var/lib/cfengine3/bin/cf-promises[0x808c483] /var/lib/cfengine3/bin/cf-promises[0x804ce06] /var/lib/cfengine3/bin/cf-promises[0x804f23c] /var/lib/cfengine3/bin/cf-promises[0x804f884] /var/lib/cfengine3/bin/cf-promises[0x804bace] /lib/libc.so.6(__libc_start_main+0xe5)[0xb7324455] /var/lib/cfengine3/bin/cf-promises[0x804b691] ======= Memory map: ======== 08048000-080d7000 r-xp 00000000 fd:06 342018 /usr/sbin/cf-promises 080d7000-080de000 rw-p 0008e000 fd:06 342018 /usr/sbin/cf-promises 080de000-08208000 rw-p 080de000 00:00 0 b7100000-b7121000 rw-p b7100000 00:00 0 b7121000-b7200000 ---p b7121000 00:00 0 b72af000-b72b6000 r-xp 00000000 fd:03 51293 /lib/libnss_compat-2.7.so b72b6000-b72b8000 rw-p 00006000 fd:03 51293 /lib/libnss_compat-2.7.so b72b8000-b72c7000 r-xp 00000000 fd:03 51292 /lib/libresolv-2.7.so b72c7000-b72c9000 rw-p 0000e000 fd:03 51292 /lib/libresolv-2.7.so b72c9000-b72cb000 rw-p b72c9000 00:00 0 b72cb000-b72cf000 r-xp 00000000 fd:03 51306 /lib/libnss_dns-2.7.so b72cf000-b72d1000 rw-p 00003000 fd:03 51306 /lib/libnss_dns-2.7.so b72d1000-b72d3000 rw-p b72d1000 00:00 0 b72d3000-b72e7000 r-xp 00000000 fd:06 499714 /usr/lib/libz.so.1.2.3.3 b72e7000-b72e8000 rw-p 00013000 fd:06 499714 /usr/lib/libz.so.1.2.3.3 b72e8000-b72ea000 r-xp 00000000 fd:03 51298 /lib/libdl-2.7.so b72ea000-b72ec000 rw-p 00001000 fd:03 51298 /lib/libdl-2.7.so b72ec000-b72f5000 r-xp 00000000 fd:03 51288 /lib/libnss_files-2.7.so b72f5000-b72f7000 rw-p 00008000 fd:03 51288 /lib/libnss_files-2.7.so b72f7000-b730a000 r-xp 00000000 fd:03 51287 /lib/libnsl-2.7.so b730a000-b730c000 rw-p 00012000 fd:03 51287 /lib/libnsl-2.7.so b730c000-b730e000 rw-p b730c000 00:00 0 b730e000-b7446000 r-xp 00000000 fd:03 51296 /lib/libc-2.7.so b7446000-b7447000 r--p 00138000 fd:03 51296 /lib/libc-2.7.so b7447000-b7449000 rw-p 00139000 fd:03 51296 /lib/libc-2.7.so b7449000-b744d000 rw-p b7449000 00:00 0 b744d000-b7587000 r-xp 00000000 fd:06 502985 /usr/lib/i686/cmov/libcrypto.so.0.9.8 b7587000-b759d000 rw-p 0013a000 fd:06 502985 /usr/lib/i686/cmov/libcrypto.so.0.9.8 b759d000-b75a0000 rw-p b759d000 00:00 0 b75a0000-b76d0000 r-xp 00000000 fd:06 499715 /usr/lib/libdb-4.6.so b76d0000-b76d3000 rw-p 00130000 fd:06 499715 /usr/lib/libdb-4.6.so b76d3000-b76f7000 r-xp 00000000 fd:03 51289 /lib/libm-2.7.so b76f7000-b76f9000 rw-p 00023000 fd:03 51289 /lib/libm-2.7.so b76f9000-b7721000 r-xp 00000000 fd:06 499912 /usr/lib/libpcre.so.3.12.1 b7721000-b7722000 rw-p 00027000 fd:06 499912 /usr/lib/libpcre.so.3.12.1 b7722000-b7729000 r-xp 00000000 fd:03 51299 /lib/librt-2.7.so b7729000-b772b000 rw-p 00006000 fd:03 51299 /lib/librt-2.7.so b772b000-b773f000 r-xp 00000000 fd:03 51305 /lib/libpthread-2.7.so b773f000-b7741000 rw-p 00013000 fd:03 51305 /lib/libpthread-2.7.so b7741000-b7743000 rw-p b7741000 00:00 0 b7743000-b774b000 r-xp 00000000 fd:03 51304 /lib/libnss_nis-2.7.so b774b000-b774d000 rw-p 00007000 fd:03 51304 /lib/libnss_nis-2.7.so b774d000-b774e000 rw-p b774d000 00:00 0 b774e000-b7752000 r-xp 00000000 fd:03 49172 /lib/libattr.so.1.1.0 b7752000-b7753000 rw-p 00003000 fd:03 49172 /lib/libattr.so.1.1.0 b7753000-b7759000 r-xp 00000000 fd:03 49323 /lib/libacl.so.1.1.0 b7759000-b775a000 rw-p 00005000 fd:03 49323 /lib/libacl.so.1.1.0 b7760000-b776c000 r-xp 00000000 fd:03 49189 /lib/libgcc_s.so.1 b776c000-b776d000 rw-p 0000b000 fd:03 49189 /lib/libgcc_s.so.1 b776d000-b7772000 rw-p b776d000 00:00 0 b7772000-b7773000 r-xp b7772000 00:00 0 b7773000-b778d000 r-xp 00000000 fd:03 51295 /lib/ld-2.7.so b778d000-b778f000 rw-p 0001a000 fd:03 51295 /lib/ld-2.7.so bffe5000-c0000000 rw-p bffe5000 00:00 0 *** glibc detected *** cf-agent: corrupted double-linked list: 0x081bf1b0 *** ======= Backtrace: ========= /lib/libc.so.6[0xb7386935] /lib/libc.so.6[0xb7386bd4] /lib/libc.so.6[0xb7388a95] /lib/libc.so.6(__libc_malloc+0x96)[0xb738a676] cf-agent[0x8095c44] cf-agent[0x806db05] cf-agent[0x806729b] cf-agent[0x80785a3] cf-agent[0x804dc26] cf-agent[0x804dc4a] cf-agent[0x804c108] cf-agent[0x809cadc] cf-agent[0x809d303] cf-agent[0x804c3a4] cf-agent[0x804c618] cf-agent[0x804d515] cf-agent[0x804db52] /lib/libc.so.6(__libc_start_main+0xe5)[0xb7332455] cf-agent[0x804b6d1] ======= Memory map: ======== 08048000-080e6000 r-xp 00000000 fd:06 341825 /usr/sbin/cf-agent 080e6000-080ec000 rw-p 0009e000 fd:06 341825 /usr/sbin/cf-agent 080ec000-08219000 rw-p 080ec000 00:00 0 b7100000-b7121000 rw-p b7100000 00:00 0 b7121000-b7200000 ---p b7121000 00:00 0 b72b0000-b72bc000 r-xp 00000000 fd:03 49189 /lib/libgcc_s.so.1 b72bc000-b72bd000 rw-p 0000b000 fd:03 49189 /lib/libgcc_s.so.1 b72bd000-b72c4000 r-xp 00000000 fd:03 51293 /lib/libnss_compat-2.7.so b72c4000-b72c6000 rw-p 00006000 fd:03 51293 /lib/libnss_compat-2.7.so b72c6000-b72d5000 r-xp 00000000 fd:03 51292 /lib/libresolv-2.7.so b72d5000-b72d7000 rw-p 0000e000 fd:03 51292 /lib/libresolv-2.7.so b72d7000-b72d9000 rw-p b72d7000 00:00 0 b72d9000-b72dd000 r-xp 00000000 fd:03 51306 /lib/libnss_dns-2.7.so b72dd000-b72df000 rw-p 00003000 fd:03 51306 /lib/libnss_dns-2.7.so b72df000-b72e1000 rw-p b72df000 00:00 0 b72e1000-b72f5000 r-xp 00000000 fd:06 499714 /usr/lib/libz.so.1.2.3.3 b72f5000-b72f6000 rw-p 00013000 fd:06 499714 /usr/lib/libz.so.1.2.3.3 b72f6000-b72f8000 r-xp 00000000 fd:03 51298 /lib/libdl-2.7.so b72f8000-b72fa000 rw-p 00001000 fd:03 51298 /lib/libdl-2.7.so b72fa000-b7303000 r-xp 00000000 fd:03 51288 /lib/libnss_files-2.7.so b7303000-b7305000 rw-p 00008000 fd:03 51288 /lib/libnss_files-2.7.so b7305000-b7318000 r-xp 00000000 fd:03 51287 /lib/libnsl-2.7.so b7318000-b731a000 rw-p 00012000 fd:03 51287 /lib/libnsl-2.7.so b731a000-b731c000 rw-p b731a000 00:00 0 b731c000-b7454000 r-xp 00000000 fd:03 51296 /lib/libc-2.7.so b7454000-b7455000 r--p 00138000 fd:03 51296 /lib/libc-2.7.so b7455000-b7457000 rw-p 00139000 fd:03 51296 /lib/libc-2.7.so b7457000-b745b000 rw-p b7457000 00:00 0 b745b000-b7595000 r-xp 00000000 fd:06 502985 /usr/lib/i686/cmov/libcrypto.so.0.9.8 b7595000-b75ab000 rw-p 0013a000 fd:06 502985 /usr/lib/i686/cmov/libcrypto.so.0.9.8 b75ab000-b75ae000 rw-p b75ab000 00:00 0 b75ae000-b76de000 r-xp 00000000 fd:06 499715 /usr/lib/libdb-4.6.so b76de000-b76e1000 rw-p 00130000 fd:06 499715 /usr/lib/libdb-4.6.so b76e1000-b7705000 r-xp 00000000 fd:03 51289 /lib/libm-2.7.so b7705000-b7707000 rw-p 00023000 fd:03 51289 /lib/libm-2.7.so b7707000-b772f000 r-xp 00000000 fd:06 499912 /usr/lib/libpcre.so.3.12.1 b772f000-b7730000 rw-p 00027000 fd:06 499912 /usr/lib/libpcre.so.3.12.1 b7730000-b7737000 r-xp 00000000 fd:03 51299 /lib/librt-2.7.so b7737000-b7739000 rw-p 00006000 fd:03 51299 /lib/librt-2.7.so b7739000-b774d000 r-xp 00000000 fd:03 51305 /lib/libpthread-2.7.so b774d000-b774f000 rw-p 00013000 fd:03 51305 /lib/libpthread-2.7.so b774f000-b7751000 rw-p b774f000 00:00 0 b7751000-b7759000 r-xp 00000000 fd:03 51304 /lib/libnss_nis-2.7.so b7759000-b775b000 rw-p 00007000 fd:03 51304 /lib/libnss_nis-2.7.so b775b000-b775c000 rw-p b775b000 00:00 0 b775c000-b7760000 r-xp 00000000 fd:03 49172 /lib/libattr.so.1.1.0 b7760000-b7761000 rw-p 00003000 fd:03 49172 /lib/libattr.so.1.1.0 b7761000-b7767000 r-xp 00000000 fd:03 49323 /lib/libacl.so.1.1.0 b7767000-b7768000 rw-p 00005000 fd:03 49323 /lib/libacl.so.1.1.0 b777e000-b7780000 rw-p b777e000 00:00 0 b7780000-b7781000 r-xp b7780000 00:00 0 b7781000-b779b000 r-xp 00000000 fd:03 51295 /lib/ld-2.7.so b779b000-b779d000 rw-p 0001a000 fd:03 51295 /lib/ld-2.7.soAborted host:~# Policy look like this. host:~# cat /tmp/testbug3.cf body common control { bundlesequence => { "etc_aliases" }; } bundle agent etc_aliases { files: "/tmp/aliases" create => "true", edit_defaults => std_defs, edit_line => edit_aliases; } bundle edit_line edit_aliases { vars: "matches" int => getfields("root:.*","/tmp/aliases",":",root_alias), comment => "Count the number of occurencers of root: and split the first occurance on : result is placed in root_alias"; "bla" slist => { "root:" , "$(root_alias[2])" , ", r...@axis.com" }, comment => "Create a string list containing the old root line + ,r...@axis.com"; "new_root_alias" string => join("", bla ), comment => "join the stringlist for the new root line to a string"; reports: linux:: "matches: $(matches)"; "root_alias: $(root_alias[2])"; "bla: $(bla)"; } body edit_defaults std_defs { empty_file_before_editing => "false"; edit_backup => "false"; max_file_size => "300000"; } /tmp aliases look like this host: # cat /tmp/aliases root: r...@axis.com host: # _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine