Aloha,

I just noticed a major memory leak in the Globus 4.0.3 C API on MacOS X 10.4.9. I wrote the following code for testing purposes:

#include <globus_gram_client.h>

int main()
{
    int rc = -1;

    while(1)
    {
        rc = globus_module_activate(GLOBUS_GRAM_CLIENT_MODULE);
        if ( GLOBUS_SUCCESS != rc )
            printf("Error activating module\n");

        rc = globus_module_deactivate(GLOBUS_GRAM_CLIENT_MODULE);
        if ( GLOBUS_SUCCESS != rc )
            printf("Error deactivating module\n");
    }
    return 0;
}

and built it with:

gcc globus_leak_test.c -o globus_leak_test -I/usr/local/globus-4.0.3/ include/gcc32dbgpthr/ -L/usr/local/globus-4.0.3/lib/ - lglobus_gram_client_gcc32dbgpthr -lglobus_common_gcc32dbgpthr

The execution of this small program aborts after ~ 1.5 hours when it blasts the 2GB per process memory limit ;-) For long-running applications which frequently activate and deactivate specific Globus subsystems (like my app.) this is a serious show-stopper.

Is this a known leak? Does anyone have any idea what's going wrong here?

Have a good weekend!

Ole

Reply via email to