[Pacemaker] cib still leaks in pacemaker-1.0.3

Nikola Ciprich extmaillist at linuxbox.cz
Sat May 16 20:33:15 UTC 2009


Hi guys,
I was able to enable valgrind on our production cluster today,
but unfortunately only on the secondary node, I'll be allowed to enable 
it on primary node hopefully during next weekend.
Unfortunately it seems that valgrind probably won't be of much help here.
I've got some output from it, but it's only few warnings and it seems 
that growing memory consumption is not really caused by leak, but (maybe)
only by some growing memory structure. I'm doing one not very nice thing
in my cluster which might be the culprit:
I'm monitoring some service by a cron script and periodically changing
related resource score by the following command:

cibadmin -U -o constraints -X "
        <rsc_location id="divacard0-master-loc" rsc="ms-divacard0">
           <rule id="divacard0-master-rule-${host}" score="${score}" role="Master">
              <expression id="divacard0-master-exp-${host}" attribute="#uname" operation="eq" value="${host}"/>
           </rule>
        </rsc_location>
Is it possible that this could be causing cib growing memory consumption?
Anyways, I'm attaching valgrind output for cib process:

==14779== My PID = 14779, parent PID = 14766.  Prog and args are:
==14779==    /usr/lib64/heartbeat/cib
==14779==
==14779== Conditional jump or move depends on uninitialised value(s)
==14779==    at 0x674E354: (within /usr/lib64/libxml2.so.2.6.26)
==14779==    by 0x674CDA5: (within /usr/lib64/libxml2.so.2.6.26)                     gz                                           ==14779==    by 0x674CD5E: (within /usr/lib64/libxml2.so.2.6.26)
==14779==    by 0x674CD5E: (within /usr/lib64/libxml2.so.2.6.26)
==14779==    by 0x674C77D: (within /usr/lib64/libxml2.so.2.6.26)
==14779==    by 0x6751853: xmlXPathEvalExpression (in /usr/lib64/libxml2.so.2.6.26)
==14779==    by 0x4E3CB58: xpath_search (xml.c:2545)
==14779==    by 0x50567BE: cib_process_xpath (cib_ops.c:880)
==14779==    by 0x5053CB3: cib_process_query (cib_ops.c:49)
==14779==    by 0x5057F3E: cib_perform_op (cib_utils.c:539)
==14779==    by 0x40AFBD: cib_process_command (callbacks.c:843)
==14779==    by 0x40A3FC: cib_process_request (callbacks.c:660)
==14779==    by 0x408E7E: cib_common_callback_worker (callbacks.c:259)
==14779==    by 0x4090EE: cib_common_callback (callbacks.c:315)
==14779==    by 0x408C4C: cib_rw_callback (callbacks.c:206)
==14779==    by 0x5E69858: G_CH_dispatch_int (GSource.c:624)
==14779==    by 0x739FDB3: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x73A2C0C: (within /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x73A2F19: g_main_loop_run (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x40D3F0: cib_init (main.c:508)     │             ││                                         │       │
==14779==    by 0x40C8AE: main (main.c:217)
==14779== Conditional jump or move depends on uninitialised value(s)
==14779==    at 0x674E354: (within /usr/lib64/libxml2.so.2.6.26)
==14779==    by 0x674CDA5: (within /usr/lib64/libxml2.so.2.6.26)
==14779==    by 0x674C77D: (within /usr/lib64/libxml2.so.2.6.26)                                                                  ==14779==    by 0x6751853: xmlXPathEvalExpression (in /usr/lib64/libxml2.so.2.6.26)
==14779==    by 0x4E3CB58: xpath_search (xml.c:2545)
==14779==    by 0x50567BE: cib_process_xpath (cib_ops.c:880)
==14779==    by 0x5053CB3: cib_process_query (cib_ops.c:49)
==14779==    by 0x5057F3E: cib_perform_op (cib_utils.c:539)
==14779==    by 0x40AFBD: cib_process_command (callbacks.c:843)
==14779==    by 0x40A3FC: cib_process_request (callbacks.c:660)
==14779==    by 0x408E7E: cib_common_callback_worker (callbacks.c:259)
==14779==    by 0x4090EE: cib_common_callback (callbacks.c:315)
==14779==    by 0x408C4C: cib_rw_callback (callbacks.c:206)
==14779==    by 0x5E69858: G_CH_dispatch_int (GSource.c:624)
==14779==    by 0x739FDB3: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x73A2C0C: (within /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x73A2F19: g_main_loop_run (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x40D3F0: cib_init (main.c:508)
==14779==    by 0x40C8AE: main (main.c:217)
==14779== Syscall param unlink(pathname) points to uninitialised byte(s)
==14779==    at 0x6ACCC27: unlink (in /lib64/libc-2.5.so)
==14779==    by 0x5E6BBC5: socket_destroy_channel (ipcsocket.c:870)
==14779==    by 0x5E6780A: G_CH_destroy_int (GSource.c:677)
==14779==    by 0x739F74C: (within /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x739FEB9: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x73A2C0C: (within /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x73A2F19: g_main_loop_run (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x40D3F0: cib_init (main.c:508)
==14779==    by 0x40C8AE: main (main.c:217)
==14779==  Address 0x4092A72 is 2 bytes inside a block of size 110 alloc'd
==14779==    at 0x4C20809: malloc (vg_replace_malloc.c:149)
==14779==    by 0x73A6BFA: g_malloc (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x5E6B7AE: socket_accept_connection (ipcsocket.c:708)
==14779==    by 0x5E69364: G_WC_dispatch (GSource.c:830)
==14779==    by 0x739FDB3: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x73A2C0C: (within /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x73A2F19: g_main_loop_run (in /lib64/libglib-2.0.so.0.1200.3)
==14779==    by 0x40D3F0: cib_init (main.c:508)
==14779==    by 0x40C8AE: main (main.c:217)
Can this help?
BR
nik


-- 
-------------------------------------
Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 01 Ostrava

tel.:   +420 596 603 142
fax:    +420 596 621 273
mobil:  +420 777 093 799

www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: servis at linuxbox.cz
-------------------------------------




More information about the Pacemaker mailing list