jAMES HERBST

Broken Symbolic link when upgrading to 10.5.1.2 on an ESA Appliance

Discussion created by jAMES HERBST on Jan 28, 2016
Latest reply on Jan 28, 2016 by Jeff Shurtliff

I just got done performing an upgrade across all SA components from 10.5.1.1 to 10.5.1.2 and wanted to give everyone a heads up if they run into an issue where the collectd service fails to start and ultimately neither will the rsa-esa service.  The error message I recieved running puppet agent -t returned:

 

lt_dlopen ("/usr/lib64/collectd/java.so") failed: file not found. The most common cause for this problem are missing dependencies. Use ldd(1) to check the dependencies of the plugin / shared object

 

After doing some digging in the knowledge base I found Article 000029746.

 

One or more of the following problems have been observed with this issue:

  • "package is not present on system" for java-1.7.0-openjdk.X86_64 is displayed when attempting to apply the Q4 update.
  • After applying the update and rebooting, collectd fails to start on the SA server, and when attempting to restart collectd from the command line, an error similar to the error below is observed:

# service collectd restart
Stopping collectd:                                         [  OK  ]
Starting collectd: ERROR: lt_dlopen ("/usr/lib64/collectd/java.so") failed: file not found. The most common cause for this problem are missing dependencies. Use ldd(1) to check the dependencies of the plugin / shared object.
                                                                     [  OK  ]

  • All appliances display "Error" in the Updates column after applying the update and rebooting.
  • A similar error is seen in the messages log after applying the update and rebooting the SA server:

collectd[2419]: lt_dlopen ("/usr/lib64/collectd/java.so") failed: file not found. The most common cause for this problem are missing dependencies. Use ldd(1) to check the dependencies of the plugin / shared object.
collectd[2419]: plugin_load: Load plugin "java" failed with status 1.
collectd[2419]: Found a configuration for the `java' plugin, but the plugin isn't loaded or didn't register a configuration callback.

 

 

 

This issue can be resolved by removing the incorrect link and recreating the link.  Follow the steps below on any host reporting the issue.

  1. SSH to the machine as the root user.
  2. Issue these commands in sequence:
    rm /usr/lib64/libjvm.so 
  3. ln -svf /usr/lib/jvm/jre/lib/amd64/server/libjvm.so /usr/lib64/libjvm.so
  4. Restart the collectd service.
    service collectd restart

 

In my SA deployment the directory has for the symlink has changed from:

 

/usr/lib/jvm/jre/lib/amd64/server/libjvm.so

to

/usr/lib/jvm/jre-openjdk/lib/amd64/server/libjvm.so

 

 

If you notice this issue the full command to update the link is:

 

rm /usr/lib64/libjvm.so

ln -svf /usr/lib/jvm/jre-openjdk/lib/amd64/server/libjvm.so /usr/lib64/libjvm.so

 

 

Hopefully this isn too confusing.  I'm terrible at documentation!!

 

 

Outcomes