Just wondering if anyone has (anecdotal or better) evidence of getting the monitoring core working on Solaris 8. I just tried cranking up gmond on a Netra t1 test box - it compiles but dumpes core (Bus error).

A little gdb work seems to indicate that it is having malloc problems setuid'ing to nobody. I tried removing the setuid code and then it dumps core while allocating the host cache (also a Bus error, with a similar malloc -> *free -> t_splay trace). Tried lowering the size of the cache to 128 and that didn't help.

As I wasn't the one who built this box I am not ruling out the possibility that this is all the fault of some grotesque libc incompatibility. But other stuff is working on that box, so I thought I'd ask here first before doing a libc upgrade.

I did get some warnings during the compile, but nothing relating to this (just complaints about a constant being redefined).

Here's the gdb backtrace:

(gdb) backt
#0  0xff1422b0 in t_splay () from /lib/libc.so.1
#1  0xff142020 in t_delete () from /lib/libc.so.1
#2  0xff141c24 in realfree () from /lib/libc.so.1
#3  0xff1424f8 in cleanfree () from /lib/libc.so.1
#4  0xff14162c in _malloc_unlocked () from /lib/libc.so.1
#5  0xff141520 in malloc () from /lib/libc.so.1
#6  0xff149578 in _nss_XbyY_buf_alloc () from /lib/libc.so.1
#7  0xff13baa0 in getpwnam () from /lib/libc.so.1
#8  0x17d10 in become_a_nobody ()
#9  0x130f4 in main ()

Dump of assembler code for function become_a_nobody:
0x17d04 <become_a_nobody>:      save  %sp, -112, %sp
0x17d08 <become_a_nobody+4>:    call  0x2d670 <getpwnam>
0x17d0c <become_a_nobody+8>:    mov  %i0, %o0
0x17d10 <become_a_nobody+12>:   orcc  %o0, 0, %l0
0x17d14 <become_a_nobody+16>:   bne  0x17d28 <become_a_nobody+36>
0x17d18 <become_a_nobody+20>:   sethi  %hi(0x1c800), %o0
0x17d20 <become_a_nobody+28>:   call  0x15a6c <err_quit>
0x17d24 <become_a_nobody+32>:   mov  %i0, %o1
0x17d28 <become_a_nobody+36>:   call  0x2d67c <getuid>
[...]

I'd include the traces for the other (libc) functions but they're pretty lengthy and I'm not sure how useful they'd be. Anything short of access to the machine itself available on request. :)

Runs like a champ on the Linux and SGI test boxen...

Thanks! :)


Reply via email to