[Pacemaker] Pacemaker-1.1.4, when?

Andrew Beekhof andrew at beekhof.net
Thu Nov 11 06:51:43 EST 2010


On Thu, Nov 11, 2010 at 12:31 PM, nozawat <nozawat at gmail.com> wrote:
> Hi Andrew,
>
>  I ran it. However, an error has been output.
>  Probably I have a feeling that glib does not move well.
>  I attached ha-log.
>
>  I feel like cannot read a library well.
>  It is contents of core as follows.

you'll need the debuginfo package installed

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




More information about the Pacemaker mailing list