Hi Andrew<br><br> Sorry,pengine output a core.<br><br>-----<br>gdb) where<br>#0  0x00002b247fa8b53a in g_list_nth_data () from /lib64/libglib-2.0.so.0<br>
#1  0x00002b247ebc5027 in g_hash_table_iter_next (iter=0x7fff1568e4c0, key=0x0, value=0x7fff1568e4e0)<br>    at ../include/crm/common/util.h:<div id=":2w">348<br>#2  0x00002b247ebc9301 in native_rsc_location (rsc=0x12aa9cc0, constraint=0x12af5480) at native.c:1215<br>

#3  0x00002b247ebcf56c in group_rsc_location (rsc=0x12aa9cc0, constraint=0x12af5480) at group.c:421<br>#4  0x00002b247ebb85a1 in apply_placement_constraints (data_set=0x7fff1568e6b0) at allocate.c:523<br>#5  0x00002b247ebb96f6 in stage2 (data_set=0x7fff1568e6b0) at allocate.c:872<br>

#6  0x00002b247ebb6754 in do_calculations (data_set=0x7fff1568e6b0, xml_input=0x1295ec90, now=0x0)<br>    at pengine.c:262<br>#7  0x00002b247ebb5d3e in process_pe_message (msg=0x12941e60, xml_data=0x1295a610, sender=0x12940ac0)<br>

    at pengine.c:124<br>#8  0x0000000000401265 in pe_msg_callback (client=0x12940ac0, user_data=0x0) at main.c:60<br>#9  0x00002b247f634b97 in G_CH_dispatch_int (source=0x1293fd80, callback=0, user_data=0x0) at GSource.c:637<br>

#10 0x00002b247fa8ddb4 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0<br>#11 0x00002b247fa90c0d in ?? () from /lib64/libglib-2.0.so.0<br>#12 0x00002b247fa90f1a in g_main_loop_run () from /lib64/libglib-2.0.so.0<br>

#13 0x000000000040186f in main (argc=1, argv=0x7fff1568eb48) at main.c:177<br>(gdb)<br><br>------<br><br>Regards,<br>Tomo<br></div><br><br><br><br><div class="gmail_quote">2010/11/11 Andrew Beekhof <span dir="ltr">&lt;<a href="mailto:andrew@beekhof.net">andrew@beekhof.net</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">On Thu, Nov 11, 2010 at 12:31 PM, nozawat &lt;<a href="mailto:nozawat@gmail.com">nozawat@gmail.com</a>&gt; wrote:<br>

&gt; Hi Andrew,<br>
&gt;<br>
</div><div class="im">&gt;  I ran it. However, an error has been output.<br>
&gt;  Probably I have a feeling that glib does not move well.<br>
&gt;  I attached ha-log.<br>
&gt;<br>
&gt;  I feel like cannot read a library well.<br>
&gt;  It is contents of core as follows.<br>
<br>
</div>you&#39;ll need the debuginfo package installed<br>
<br>
&gt; ----<br>
<div><div></div><div class="h5">&gt; $ gdb /usr/sbin/corosync core.27920<br>
&gt; GNU gdb Fedora (6.8-37.el5)<br>
&gt; Copyright (C) 2008 Free Software Foundation, Inc.<br>
&gt; License GPLv3+: GNU GPL version 3 or later<br>
&gt; &lt;<a href="http://gnu.org/licenses/gpl.html" target="_blank">http://gnu.org/licenses/gpl.html</a>&gt;<br>
&gt; This is free software: you are free to change and redistribute it.<br>
&gt; There is NO WARRANTY, to the extent permitted by law.  Type &quot;show copying&quot;<br>
&gt; and &quot;show warranty&quot; for details.<br>
&gt; This GDB was configured as &quot;x86_64-redhat-linux-gnu&quot;...<br>
&gt;<br>
&gt; warning: core file may not match specified executable file.<br>
&gt; Core was generated by `/usr/lib64/heartbeat/pengine&#39;.<br>
&gt; Program terminated with signal 11, Segmentation fault.<br>
&gt; [New process 27920]<br>
&gt; #0  0x00002b247fa8b53a in ?? ()<br>
&gt; (gdb) where<br>
&gt; #0  0x00002b247fa8b53a in ?? ()<br>
&gt; #1  0x00002b247ebc5027 in ?? ()<br>
&gt; #2  0x0000000000000000 in ?? ()<br>
&gt; ------<br>
&gt;<br>
&gt; Regards,<br>
&gt; Tomo<br>
&gt;<br>
&gt; 2010/11/11 Andrew Beekhof &lt;<a href="mailto:andrew@beekhof.net">andrew@beekhof.net</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Nov 11, 2010 at 10:26 AM, nozawat &lt;<a href="mailto:nozawat@gmail.com">nozawat@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; Hi Andrew,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;  Thanks for a revision.<br>
&gt;&gt; &gt;  I confirmed completion of compiling it.<br>
&gt;&gt; &gt;  I revised it a little, I attach a patch.<br>
&gt;&gt;<br>
&gt;&gt; Thanks!  Did you try running it?<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Regards,<br>
&gt;&gt; &gt; Tomo<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 2010/11/11 Andrew Beekhof &lt;<a href="mailto:andrew@beekhof.net">andrew@beekhof.net</a>&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; This might be a little better:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; diff -r dd75da218e4f <a href="http://configure.ac" target="_blank">configure.ac</a><br>
&gt;&gt; &gt;&gt; --- a/<a href="http://configure.ac" target="_blank">configure.ac</a>      Fri Oct 29 12:12:45 2010 +0200<br>
&gt;&gt; &gt;&gt; +++ b/<a href="http://configure.ac" target="_blank">configure.ac</a>      Tue Nov 09 13:20:55 2010 +0100<br>
&gt;&gt; &gt;&gt; @@ -654,7 +654,7 @@ AC_MSG_RESULT(using $GLIBCONFIG)<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;  AC_CHECK_LIB(glib-2.0, g_hash_table_get_values)<br>
&gt;&gt; &gt;&gt;  if test &quot;x$ac_cv_lib_glib_2_0_g_hash_table_get_values&quot; != x&quot;&quot;yes; then<br>
&gt;&gt; &gt;&gt; -   AC_MSG_ERROR(Your version of Glib is too old, you need at least<br>
&gt;&gt; &gt;&gt; 2.14)<br>
&gt;&gt; &gt;&gt; +   AC_MSG_WARN(Your version of Glib is too old, you should have at<br>
&gt;&gt; &gt;&gt; least<br>
&gt;&gt; &gt;&gt; 2.14)<br>
&gt;&gt; &gt;&gt;  fi<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;  #<br>
&gt;&gt; &gt;&gt; diff -r dd75da218e4f include/crm/common/util.h<br>
&gt;&gt; &gt;&gt; --- a/include/crm/common/util.h Fri Oct 29 12:12:45 2010 +0200<br>
&gt;&gt; &gt;&gt; +++ b/include/crm/common/util.h Tue Nov 09 13:20:55 2010 +0100<br>
&gt;&gt; &gt;&gt; @@ -298,4 +298,59 @@ extern int node_score_infinity;<br>
&gt;&gt; &gt;&gt;  extern xmlNode *create_operation_update(xmlNode *parent, lrm_op_t<br>
&gt;&gt; &gt;&gt; *op, const char *caller_version, int target_rc, const char *origin,<br>
&gt;&gt; &gt;&gt; int level);<br>
&gt;&gt; &gt;&gt;  extern void free_lrm_op(lrm_op_t *op);<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; +#if HAVE_LIBGLIB_2_0<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +#else<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +typedef struct fake_ghi<br>
&gt;&gt; &gt;&gt; +{<br>
&gt;&gt; &gt;&gt; +       int         offset;<br>
&gt;&gt; &gt;&gt; +       GHashTable *hash;<br>
&gt;&gt; &gt;&gt; +       GList      *values;<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +} GHashTableIter;<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +static inline void g_hash_append_value(gpointer key, gpointer value,<br>
&gt;&gt; &gt;&gt; gpointer user_data)<br>
&gt;&gt; &gt;&gt; +{<br>
&gt;&gt; &gt;&gt; +    GList **values = (GList **)user_data;<br>
&gt;&gt; &gt;&gt; +    *values = g_list_append(*values, value);<br>
&gt;&gt; &gt;&gt; +}<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +static inline GList *g_hash_table_get_values(GHashTable *hash_table);<br>
&gt;&gt; &gt;&gt; +{<br>
&gt;&gt; &gt;&gt; +    GList *values = NULL;<br>
&gt;&gt; &gt;&gt; +    g_hash_table_foreach(hash_table, g_hash_append_value, &amp;values);<br>
&gt;&gt; &gt;&gt; +}<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +static inline void g_hash_table_iter_init(GHashTableIter *iter,<br>
&gt;&gt; &gt;&gt; GHashTable *hash_table)<br>
&gt;&gt; &gt;&gt; +{<br>
&gt;&gt; &gt;&gt; +    iter-&gt;offset = 0;<br>
&gt;&gt; &gt;&gt; +    iter-&gt;hash = hash_table;<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +    /* iter-&gt;values = g_hash_table_get_values(hash_table); */<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +    /* We could cache the values, but then we need to clean up the<br>
&gt;&gt; &gt;&gt; list<br>
&gt;&gt; &gt;&gt; +     * later which doesn&#39;t fit the glib2 API<br>
&gt;&gt; &gt;&gt; +     * So instead we calculate it in _next() every time its needed<br>
&gt;&gt; &gt;&gt; +     */<br>
&gt;&gt; &gt;&gt; +}<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +static inline gboolean g_hash_table_iter_next(GHashTableIter *iter,<br>
&gt;&gt; &gt;&gt; gpointer *key, gpointer *value)<br>
&gt;&gt; &gt;&gt; +{<br>
&gt;&gt; &gt;&gt; +    GList *values = iter-&gt;values;<br>
&gt;&gt; &gt;&gt; +    if(iter-&gt;values == NULL) {<br>
&gt;&gt; &gt;&gt; +       values = g_hash_table_get_values(iter-&gt;hash_table);<br>
&gt;&gt; &gt;&gt; +    }<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +    iter-&gt;offset++;<br>
&gt;&gt; &gt;&gt; +    *value = g_list_nth_data(values, iter-&gt;offset);<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +    if(iter-&gt;values == NULL) {<br>
&gt;&gt; &gt;&gt; +       g_list_free(values);<br>
&gt;&gt; &gt;&gt; +    }<br>
&gt;&gt; &gt;&gt; +    return (*value) != NULL;<br>
&gt;&gt; &gt;&gt; +}<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt;  #endif<br>
&gt;&gt; &gt;&gt; +<br>
&gt;&gt; &gt;&gt; +#endif<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
&gt;&gt; &gt;&gt; <a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
&gt;&gt; &gt;&gt; Getting started:<br>
&gt;&gt; &gt;&gt; <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
&gt;&gt; &gt;&gt; Bugs:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
&gt;&gt; &gt; <a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
&gt;&gt; &gt; Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
&gt;&gt; &gt; Bugs:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
&gt;&gt; <a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
&gt;&gt;<br>
&gt;&gt; Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
&gt;&gt; Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
&gt;&gt; Bugs:<br>
&gt;&gt; <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
&gt; <a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
&gt;<br>
&gt; Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
&gt; Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
&gt; Bugs:<br>
&gt; <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
<a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
<br>
Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
Bugs: <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
</div></div></blockquote></div><br>