simplest test case to reproduce the problem. It triggers the leak very
quickly and without running cluster on top. Plain corosync will show the
problem.
gcc -Wall -o test ipctest.c -lconfdb
Fabio
Fabio M. Di Nitto wrote:
> Hi guys,
>
> this is the setup:
>
> 2 nodes cluster, one x86 and x86_64.
>
> running corosync/trunk, openais 1.1.0, cluster-3.0.5 on top of F12.
>
> startup cman, clvmd, rgmanager and mount a gfs2 partition (pretty much
> basic testing really).
>
> rgmanager is running one VIP service. Nothing fancy here either.
>
> running corosync/flatiron 1.1.2 everything is OK.
>
> Swap corosync 1.1.2 with trunk, there is a memory leak in corosync
> executive.
>
> The leak seems to follow this pattern:
>
> - it always occurs on the node that is running the VIP service
> (rgmanager is running on both nodes).
>
> - the timing of the leak is "fixed". On startup, the first node that
> gets the service will start leaking every 40 to 50 seconds (I measured
> 40secs in a run and 49secs in another run and it´s constant once it
> starts leaking). Relocate the service to the other node. The node that
> gets the service will start leaking but exactly at half of the speed of
> the other node (so every 80 to 100 seconds).
>
> - the size of leak varies depending on the architecture. x86_64 seems
> constantly leaking 144 bytes. x86 varies from 128 to 144 bytes on each leak.
>
> valgrind output that I posted already yesterday doesn´t show any leak.
> It means the memory is allocated, referenced, but for some reasons not
> freed.
>
> Fabio
> _______________________________________________
> Openais mailing list
> [email protected]
> https://lists.linux-foundation.org/mailman/listinfo/openais
#include <errno.h>
#include <limits.h>
#include <corosync/corotypes.h>
#include <corosync/confdb.h>
/* Callbacks are not supported - we will use them to update fullxml doc/ctx */
static confdb_callbacks_t callbacks = {
};
int main()
{
int loop = 1000000, counter = 0;
while (loop > counter)
{
confdb_handle_t handle = 0;
if (confdb_initialize(&handle, &callbacks) != CS_OK)
return -1;
if (confdb_finalize(handle) != CS_OK)
return -2;
counter++;
}
return 0;
}
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais