fixed: http://hg.clusterlabs.org/pacemaker/stable-1.0/rev/cf478ed1269f
sorry about that On Wed, Jun 3, 2009 at 6:10 PM, Lars Ellenberg <lars.ellenb...@linbit.com> wrote: > > current mercurial pacemaker stable-1.0 > > do > cibadmin -Q --xpath //@id > and watch your cib segfault: > WARN: Managed /usr/lib/heartbeat/cib process 15295 killed by signal 11 > [SIGSEGV - Segmentation violation] > > :) > > (gdb) bt > #0 0x40280a8b in xmlAddChild () from /usr/lib/libxml2.so.2 > #1 0x40031828 in add_node_copy (parent=0x80b6c10, src_node=0x8101720) at > xml.c:266 > #2 0x40051c64 in cib_process_xpath (op=0x806a068 "cib_query", options=2, > section=0x80ffe68 "//@id", req=0x8115bf0, input=0x0, existing_cib=0x8115d98, > result_cib=0xbfd1d198, answer=0xbfd1d19c) at cib_ops.c:938 > #3 0x4004ebb4 in cib_process_query (op=0x806a068 "cib_query", options=2, > section=0x80ffe68 "//@id", req=0x8115bf0, input=0x0, existing_cib=0x8115d98, > result_cib=0xbfd1d198, answer=0xbfd1d19c) at cib_ops.c:49 > #4 0x400531c1 in cib_perform_op (op=0x806a068 "cib_query", call_options=2, > fn=0x805c8d4, is_query=1, section=0x80ffe68 "//@id", req=0x8115bf0, > input=0x0, manage_counters=0, config_changed=0xbfd1d188, > current_cib=0x8115d98, result_cib=0xbfd1d198, diff=0x0, output=0xbfd1d19c) > at cib_utils.c:539 > > blah blah. > > problem: the result is an attribute node, and gets added to the properties > field of the querry-result node on first match, > the next match will segfault out somewhere. > > for only one match, I simply get an empty answer from cibadmin, no segfault. > > now, why do I want to do that. > lets say I have the IP, and want to know the xml id of the IPaddr2 primitive > that handles this IP. > > (yes, of course, you are right. actually I do not care about the IPaddr2, but > want to deduce the master id from a given drbd resource name. > but lets stay with the IP example for now.) > > cibadmin -Q --xpath '//primiti...@type="IPaddr2" and > instance_attributes/nvpair [...@name = "ip" and @value="10.0.0.1"]]' > > fine. I can sed the id out from there. > but I'd like to just do > cibadmin -Q --xpath '//primiti...@type="IPaddr2" and > instance_attributes/nvpair [...@name = "ip" and @value="10.0.0.1"]]/@id' > (which, unfortunately, is empty). > > according to xmllint, my xpath query is correct, however: > > cat > tmp.xml <<___ > <cib> > <configuration> > <resources> > <primitive class="ocf" id="ip_try3" provider="heartbeat" type="IPaddr2"> > <instance_attributes id="ip_try3-instance_attributes"> > <nvpair id="ip_try3-instance_attributes-ip" name="ip" > value="10.0.0.1"/> > </instance_attributes> > </primitive> > </resources> > </configuration> > </cib> > ___ > > > xmllint --shell tmp.xml <<<'ls //@id' > / > ls //@id > tan 7 ip_try3 > t-- 27 ip_try3-instance_attributes > t-- 30 ip_try3-instance_attributes-ip > / > > > xmllint --shell tmp.xml <<<'ls //primiti...@type="IPaddr2" and > instance_attributes/nvpa...@name = "ip" and @value="10.0.0.1"]]/@id' > / > ls //primiti...@type="IPaddr2" and instance_attributes/nvpa...@name = > "ip" and @value="10.0.0.1"]]/@id > tan 7 ip_try3 > / > > > -- > : Lars Ellenberg > : LINBIT | Your Way to High Availability > : DRBD/HA support and consulting http://www.linbit.com > > DRBD® and LINBIT® are registered trademarks of LINBIT, Austria. > > _______________________________________________ > Pacemaker mailing list > Pacemaker@oss.clusterlabs.org > http://oss.clusterlabs.org/mailman/listinfo/pacemaker > -- -- Andrew _______________________________________________ Pacemaker mailing list Pacemaker@oss.clusterlabs.org http://oss.clusterlabs.org/mailman/listinfo/pacemaker