Fixed Cacti Spine 0.8.7g Problem on FreeBSD

On latest release of Cacti Spine 0.8.7g, it has new Multi threaded host polling feature. After upgrade Cacti Spine from version 0.8.7e to 0.8.7g, the graphing stopped working on FreeBSD 8.1 box. When we check the process with “top” command, it seems like spine process is hang and it utilizes 100% of CPU usage.

While doing verbose logging on spine, we saw the message “Spine Timed Out While Processing Hosts Internal” freezing until it reaches the script time out at 40 seconds. The logs didn’t provide much info and the actual fixes are available at Cacti Official Spine Patches website. After apply the patches, Spine 0.8.7g is working on the FreeBSD’s box. Most of our packages installation are through FreeBSD ports, I guess that we have to check on Cacti’s Official website to look for patches. Or the maintainer should grab the latest patches and update from FreeBSD ports 🙂

If Spine installation is from FreeBSD ports. Here is the step by step to fixed Spine 0.8.7g problem.

  • Go to /usr/ports/net-mgmt/cacti-spine/
  • Perform make clean to wipe off previous compiled files
  • Do make extract to extract the source files
  • On current directory, go to work/cacti-spine-0.8.7g/
  • Download the latest patch from Cacti’s website and apply the patches
  • Make to build the app from patches
  • Make deinstall to uninstall current cacti
  • and finally make install to install patched spine into binary folder.

shell> cd /usr/ports/net-mgmt/cacti-spine/
shell> make clean
shell> make extract 
shell> cd work/cacti-spine-0.8.7g/
shell> wget http://www.cacti.net/downloads/spine/patches/0.8.7g/unified_issues.patch
shell> patch -p1 -N < unified_issues.patch
shell> make 
shell> make deinstall
shell> make install