NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Porting Corosync/Pacemaker - Help needed with gdb


Corosync can be compiled without any patches. You can pick version 1.4.4 from and just compile it. As for cluster-glue and Pacemaker, I didn´t make any patches yet.. there were some minor issues to fix in order to make it compile. Also, I used a slightly older release of cluster-glue because the recent one insists of libaio :(

I just found that my build was already compiled with -g. How can I print the content of conn_info and analyze the cause of the crash?



2012/12/1 Christos Zoulas <>
In article <>,
Stephan  <> wrote:
>Hi folks,
>some time ago I managed to get Corosync working on NetBSD - now the
>official 1.x builds can be compiled and run "out of the box". Recently, I
>made Pacemaker 1.1 and cluster_glue compile after making some cosmetic
>changes to the code.
>However, when I load the Pacemaker subsystem into Corosync, corosync
>crashes with SIGSEGV. It alway does in pthread_mutex_lock(), for example in
>the following code block:
>static int ipc_thread_active (void *conn)
>        struct conn_info *conn_info = (struct conn_info *)conn;
>        int retval = 0;
>        pthread_mutex_lock
>(&conn_info->mutex);                                   <<<--- CRASH
>        if (conn_info->state == CONN_STATE_THREAD_ACTIVE) {
>                retval = 1;
>        }
>        pthread_mutex_unlock (&conn_info->mutex);
>        return (retval);
>I am not sure how to track this down with gdb. Here are some findings:

If you compile with -g you should be able to print the contents of conn_info.


Home | Main Index | Thread Index | Old Index