cactid - Solaris 10 - Net-Snmp problem

Post support questions that directly relate to Linux/Unix operating systems.

Moderators: Developers, Moderators

Post Reply
gordonj
Posts: 4
Joined: Thu Jan 04, 2007 9:05 am

cactid - Solaris 10 - Net-Snmp problem

Post by gordonj »

Hi,

Can anyone help with this problem I'm having getting cactid going on Solaris 10 on Sparc.

The brief outline is that when running cactid it gives this message "Illegal Instruction"

I have tried building cactid against both net-snmp-5.2.3 and 5.3.1 and get the same result. Both net-snmp and cactid have been compiled using the Sun 'CoolTools' gcc compiler.

The problem occurs when cactid calls 'init_snmp("cactid");' in snmp.c, so I think the problem may lie with net-snmp rather than cactid itself.

Here's a snip of the cactid output, with debugging turned on in snmp.conf

... Initialisation, db queries run sucessfully...
CACTID: CACTID: Version 0.8.6i starting
CACTID: MYSQL: Connecting to MySQL database 'cacti' on 'localhost'...
CACTID: MYSQL: Connected to MySQL database 'cacti' on 'localhost'...
CACTID: CACTID: Initializing Net-SNMP API
CACTID: DEBUG: SNMP Header Version is 5.2.3
CACTID: DEBUG: SNMP Library Version is 5.2.3
No log handling enabled - turning on stderr logging
trace: read_config(): read_config.c, 779:
read_config: /cacti/apps/net-snmp-5.2.3/share/snmp/snmp.conf:53 examining: mibdirs /cacti/apps/net-snmp/share/snmp/mibs
trace: run_config_handler(): read_config.c, 482:
read_config: Found a parser. Calling it: mibdirs / /cacti/apps/net-snmp/share/snmp/mibs
trace: handle_mibdirs_conf(): mib.c, 2094:
read_config:initmib: using mibdirs: /cacti/apps/net-snmp/share/snmp/mibs

... mibs loaded...

... searches for a 'cactid.conf' which it fails to find...

read_config: /var/net-snmp/cactid.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /var/net-snmp/cactid.local.conf: No such file or directory
trace: netsnmp_ds_set_boolean(): default_store.c, 205:
netsnmp_ds_set_boolean: Setting LIB:27 = 1/True
trace: snmp_call_callbacks(): callback.c, 205:
callback: START calling callbacks for maj=0 min=0
trace: snmp_call_callbacks(): callback.c, 219:
callback: calling a callback for maj=0 min=0
trace: sc_hash(): scapi.c, 416:
trace: sc_get_properlength(): scapi.c, 117:
Illegal Instruction

I have tried copying a cactid.conf (the snmp config not the database connection config) from another server containing this:

engineBoots 25060
oldEngineID 0x800007e5806038bc768c701a45

But the same results occur.

Running a truss on cactid ends with this output:

Incurred fault #1, FLTILL %pc = 0x00265BC8
siginfo: SIGILL ILL_ILLOPC addr=0x00265BC8
Received signal #4, SIGILL [default]
siginfo: SIGILL ILL_ILLOPC addr=0x00265BC8

I have also tried using cactid-0.8.6g with the same problems.

Has anyone run into this issue or has anyone got any ideas?

edit: Forgot to mention that snmpwalk works fine in the net-snmp install, so that appears to be ok as far as I can tell.
gordonj
Posts: 4
Joined: Thu Jan 04, 2007 9:05 am

Post by gordonj »

Any ideas anyone?
anteater
Posts: 3
Joined: Tue Jan 16, 2007 1:37 pm

Post by anteater »

Hi,
i got it running with the following configure call
./configure --prefix=/opt/cactid --with-mysql=<path to mysql> --with-snmp=<path to net-snmp>

the cactid.conf file is located in /etc and looks like this:
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass <password>
DB_Port 3306


What does an ldd on the cactid give ?
gordonj
Posts: 4
Joined: Thu Jan 04, 2007 9:05 am

Post by gordonj »

> ./configure --prefix=/opt/cactid --with-mysql=<path to mysql> --with-snmp=<path to net-snmp>

Yeah that looks pretty similar to what I had:

./configure --with-mysql=/cacti/apps/mysql --with-snmp=/cacti/apps/net-snmp-5.2.3 --prefix=/cacti/apps/cactid-0.8.6i

> the cactid.conf file is located in /etc and looks like this:

Yeah I've got that file ok and it can connect to the database, but it's a different cactid.conf that gets looked for, I think by net-snmp when it is initialised, I not sure if it's important that it's missing, as I mentioned I've tried copying this file from another working (Linux) box, but I get the same result.

>What does an ldd on the cactid give ?

libnetsnmp.so.9 => /cacti/apps/net-snmp/lib/libnetsnmp.so.9
libcrypto.so.0.9.8 => /usr/local/ssl/lib/libcrypto.so.0.9.8
libkstat.so.1 => /lib/libkstat.so.1
libpthread.so.1 => /lib/libpthread.so.1
libm.so.2 => /lib/libm.so.2
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
libc.so.1 => /lib/libc.so.1
libdl.so.1 => /lib/libdl.so.1
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libmp.so.2 => /lib/libmp.so.2
libmd5.so.1 => /lib/libmd5.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
/platform/SUNW,Sun-Fire-V240/lib/libmd5_psr.so.1
User avatar
TheWitness
Developer
Posts: 17007
Joined: Tue May 14, 2002 5:08 pm
Location: MI, USA
Contact:

Post by TheWitness »

The cactid.conf file iwth the database information in it is not the Cactid.conf that net-snmp want's access to. I will do a little research on this and get back to you.

TheWitness
True understanding begins only when we realize how little we truly understand...

Life is an adventure, let yours begin with Cacti!

Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages


For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
User avatar
TheWitness
Developer
Posts: 17007
Joined: Tue May 14, 2002 5:08 pm
Location: MI, USA
Contact:

Post by TheWitness »

Edit, snmp.c in the Cactid source directory and search for three instances of "init_snmp". Change those lines from 'init_snmp("cactid")' to 'init_snmp("")' and let me know how it goes.

TheWitness
True understanding begins only when we realize how little we truly understand...

Life is an adventure, let yours begin with Cacti!

Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages


For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
anteater
Posts: 3
Joined: Tue Jan 16, 2007 1:37 pm

Post by anteater »

Hi,
the only idea/suggestion i have now is to recompile snmp/cacti with the Sun Studio 11 Compiler. Might be a problem off gcc and the not with gcc compiled libs. Studio 11 is for free, you can find it on http://developers.sun.com/sunstudio/downloads/index.jsp
gordonj
Posts: 4
Joined: Thu Jan 04, 2007 9:05 am

Post by gordonj »

Thanks for the replies.
TheWitness wrote:The cactid.conf file iwth the database information in it is not the Cactid.conf that net-snmp want's access to. I will do a little research on this and get back to you.
I found this cactid.conf on a working Linux box (in /var/net-snmp iirc). I got the same result with this is place as not.

engineBoots 25060
oldEngineID 0x800007e5806038bc768c701a45
TheWitness wrote:Edit, snmp.c in the Cactid source directory and search for three instances of "init_snmp". Change those lines from 'init_snmp("cactid")' to 'init_snmp("")' and let me know how it goes..
Unfortunatly I get the same end result. Now it looks for a file called '.conf'. Here's the full output from the snmp debugging from the start of config reading until where it fails. I'm thinking this snmp cacti config file might be a red herring anyway?

trace: read_configs(): read_config.c, 841:
read_config: reading normal configuration tokens
trace: read_config_files(): read_config.c, 1089:
read_config: config path used: /cacti/apps/net-snmp-5.2.3/etc/snmp:/cacti/apps/net-snmp-5.2.3/share/snmp:/cacti/apps/net-snmp-5.2.3/lib/snmp://.snmp:/var/net-snmp
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/etc/snmp/snmp.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/etc/snmp/snmp.local.conf: No such file or directory
trace: read_config(): read_config.c, 719:
read_config: Reading configuration /cacti/apps/net-snmp-5.2.3/share/snmp/snmp.conf
trace: read_config(): read_config.c, 779:
read_config: /cacti/apps/net-snmp-5.2.3/share/snmp/snmp.conf:33 examining: dodebugging 1
trace: read_config(): read_config.c, 779:
read_config: /cacti/apps/net-snmp-5.2.3/share/snmp/snmp.conf:53 examining: mibdirs /cacti/apps/net-snmp/share/snmp/mibs
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/share/snmp/snmp.local.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/lib/snmp/snmp.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/lib/snmp/snmp.local.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: //.snmp/snmp.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: //.snmp/snmp.local.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /var/net-snmp/snmp.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /var/net-snmp/snmp.local.conf: No such file or directory
trace: read_config_files(): read_config.c, 1089:
read_config: config path used: /cacti/apps/net-snmp-5.2.3/etc/snmp:/cacti/apps/net-snmp-5.2.3/share/snmp:/cacti/apps/net-snmp-5.2.3/lib/snmp://.snmp:/var/net-snmp
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/etc/snmp/.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/etc/snmp/.local.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/share/snmp/.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/share/snmp/.local.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/lib/snmp/.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /cacti/apps/net-snmp-5.2.3/lib/snmp/.local.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: //.snmp/.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: //.snmp/.local.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /var/net-snmp/.conf: No such file or directory
trace: read_config(): read_config.c, 700:
read_config: /var/net-snmp/.local.conf: No such file or directory
trace: netsnmp_ds_set_boolean(): default_store.c, 205:
netsnmp_ds_set_boolean: Setting LIB:27 = 1/True
trace: snmp_call_callbacks(): callback.c, 205:
callback: START calling callbacks for maj=0 min=0
trace: snmp_call_callbacks(): callback.c, 219:
callback: calling a callback for maj=0 min=0
trace: sc_hash(): scapi.c, 416:
trace: sc_get_properlength(): scapi.c, 117:
Illegal Instruction
anteater wrote: The only idea/suggestion i have now is to recompile snmp/cacti with the Sun Studio 11 Compiler. Might be a problem off gcc and the not with gcc compiled libs. Studio 11 is for free, you can find it on http://developers.sun.com/sunstudio/downloads/index.jsp
Thanks I'll give that a go.
Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests