> I don't know why you would be getting a segfault on this line.  Gmond expects 
> the array to be NULL terminated so all you are doing is adding one extra 
> entry and filling it will NULLs.  With the array being NULL terminated, gmond 
> doesn't have to keep track of the metric count, it only has to look for a 
> NULL entry.
>


More modifications- and I can't figure out where the problem is.

I tried

gmi->name=NULL

that didn't work either

Then I thought I should remove the null metric and have only one metric like:



    gmi = (Ganglia_25metric*)apr_array_push(metric_info);

gmi->name= apr_pstrdup (pool,"Random_Numbers_2");
gmi->tmax=90;
gmi->type=GANGLIA_VALUE_UNSIGNED_INT;
gmi->msg_size= UDP_HEADER_SIZE+8;
gmi->units= apr_pstrdup (pool,"Num");
gmi->slope=apr_pstrdup (pool,"both");
gmi->fmt=apr_pstrdup (pool,"%u");
gmi->desc= apr_pstrdup (pool,"Example module metric (random numbers) 2");
MMETRIC_INIT_METADATA(gmi, pool);
MMETRIC_ADD_METADATA(gmi,MGROUP,"example_2");

printf ("\n First metric done");

/*
gmi = (Ganglia_25metric*)apr_array_push(metric_info);
printf ("\nStarted second metric..");

gmi->name= apr_pstrdup (pool,"Constant_Number_2");
gmi->tmax=90;
gmi->type=GANGLIA_VALUE_UNSIGNED_INT;
gmi->msg_size= UDP_HEADER_SIZE+8;
gmi->units= apr_pstrdup (pool,"Num");
gmi->slope=apr_pstrdup (pool,"zero");
gmi->fmt=apr_pstrdup (pool,"%u");
gmi->desc= apr_pstrdup (pool,"Example module metric (constant number) 2");
MMETRIC_INIT_METADATA(gmi, pool);
MMETRIC_ADD_METADATA(gmi,MGROUP,"example_2");

printf ("\nSecond metric done");
*/
//gmi = (Ganglia_25metric*)apr_array_push(metric_info);
//printf ("\nStarted null metric");

//gmi->name= apr_pstrdup (pool,NULL);

//memset (gmi, 0, sizeof(*gmi));
printf ("\nMetric initing done");
return 0;

And this gives a segfault too! And here is the output:

In the ex_metric_init function
Got first GMI
 First metric done
Segmentation fault


ie there is a segfault between the last and second last printf
statements! Any clues?

Thanks,
Sylvester

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers

Reply via email to