A few other things exploded so I've only just had the chance to check this out. Info:

I'm not using a config file at this time. This is a Redhat 7.1 uniprocessor P4 but I get the same results on a dual-proc Opteron running the same bastardized RH7.1-derivative.

When built from the 2.5.6 tarball, the monitoring core works outside of debug mode.

When built from *this* 2.6.0 tarball, not so much ... works in debug though:

 644383 Jun  3 12:55 ganglia-2.6.0.tar.gz

gdb the happy elf provides this traceback on the gmond threads which *are* created:

#0  0x40084b85 in __sigsuspend (set=0xbffff200)
    at ../sysdeps/unix/sysv/linux/sigsuspend.c:45
#1  0x401ad1c9 in __pthread_wait_for_restart_signal (self=0x401b5f40)
    at pthread.c:969
#2  0x401ad29c in __pthread_create_2_1 (thread=0x807be94, attr=0x0,
    start_routine=0x80539f8 <schedule_thread>, arg=0x807be88) at restart.h:34
#3  0x08053291 in tpool_init (tpoolp=0xbffff3a4, num_worker_threads=1,
    max_queue_size=128, do_not_block_when_full=1) at tpool.c:100
#4  0x08053338 in ganglia_thread_pool_create (num_worker_threads=1,
    max_queue_size=128, do_not_block_when_full=1) at tpool.c:122
#5  0x0804bc4b in main (argc=1, argv=0xbffff4c4) at gmond.c:254

Line 254 is:

receive_pool = ganglia_thread_pool_create( gmond_config.num_receive_channels, 128, 1 );

Commenting out this line and re-running semi-works - my connection's accepted and I get an empty DTD. Which is better than what I was getting before - "connection refused." :)

It's lunchtime and I am stupid when it comes to thread debugging, so I thought I would post what I laughingly call my "findings" in the admittedly slim hope that someone else will have figured this out by the time I finish eating my sandwich.

Even if no one *does* figure it out by then, I'll at least have informed the community a little bit. And, of course, I'll have had a sandwich.



Reply via email to