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