Why can't the native library 'libFusionReactor.so' be loaded?
Description
If you run ColdFusion MX 7 Multiserver on Linux/Solaris and have used InstanceManager to install a second instance of FusionReactor on another ColdFusion MX server instance named 'cfusion2'. The InstanceManager told you to restart the server so you've restarted my 'cfusion2' instance with the following commands:
sudo -u nobody /opt/jrun4/bin/jrun stop 'cfusion2'
sudo -u nobody /opt/jrun4/bin/jrun start 'cfusion2' &
When the server is restarting you see the following in the server log file:
... .06/21 16:57:55 info Deploying web application "cfusion" from: file:/opt/jrun4/servers/cfusion2/cfusion.ear/ ........06/21 16:58:00 INFO License Service: Flex 1.5 CF Edition enabled 06/21 16:58:00 INFO Starting Flex 1.5 CF Edition ..java.lang.UnsatisfiedLinkError: Native Library /opt/jrun4/jre/bin/libFusionReactor.so already loaded in another classloader at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at com.intergral.fusionreactor.trace.NativeManager.B(Unknown Source) at com.intergral.fusionreactor.trace.NativeManager .initializeNativeLibrary(Unknown Source) at com.intergral.fusionreactor.L.X.Z(Unknown Source) at com.intergral.fusionreactor.L.X.A(Unknown Source) at com.intergral.fusionreactor.filter.FusionReactorFilter .init(Unknown Source) at jrun.servlet.FilterObject.init(FilterObject.java:63) at jrun.servlet.FilterManager.loadFilter(FilterManager.java:195) at jrun.servlet.FilterManager.init(FilterManager.java:155) at jrun.servlet.FilterManager.create(FilterManager.java:74) at jrun.servlet.WebApplicationService .start(WebApplicationService.java:223) at jrun.ea.EnterpriseApplication.start(EnterpriseApplication.java:194) at jrun.deployment.DeployerService.initModules(DeployerService.java:710) at jrun.deployment.DeployerService .createWatchedDeployment(DeployerService.java:242) at jrun.deployment.DeployerService.deploy(DeployerService.java:430) at jrun.deployment.DeployerService .checkWatchedDirectories(DeployerService.java:179) at jrun.deployment.DeployerService.run(DeployerService.java:891) at jrunx.scheduler.SchedulerService .invokeRunnable(SchedulerService.java:223) at jrunx.scheduler.ThreadPool$ThreadThrottle .invokeRunnable(ThreadPool.java:426) at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66) WARNING - Unable to load FusionReactor's native library 'libFusionReactor.so'. The file is located on the path at the following location but could not be loaded: /opt/jrun4/jre/bin/libFusionReactor.so Please verify that the file is readable by the current user and that the file has not been corrupted in any way. java.lang.UnsatisfiedLinkError: Native Library /opt/jrun4/jre/bin/libFusionReactor.so already loaded in another classloader at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source). at com.intergral.fusionreactor.trace.NativeManager.B(Unknown Source) at com.intergral.fusionreactor.trace.NativeManager .initializeNativeLibrary(Unknown Source) at com.intergral.fusionreactor.L.X.Z(Unknown Source) at com.intergral.fusionreactor.L.X.Y(Unknown Source) at com.intergral.fusionreactor.L.X.N(Unknown Source) at com.intergral.fusionreactor.L.X.A(Unknown Source) at com.intergral.fusionreactor.filter.FusionReactorFilter .init(Unknown Source) at jrun.servlet.FilterObject.init(FilterObject.java:63) at jrun.servlet.FilterManager.loadFilter(FilterManager.java:195) at jrun.servlet.FilterManager.init(FilterManager.java:155) at jrun.servlet.FilterManager.create(FilterManager.java:74) at jrun.servlet.WebApplicationService .start(WebApplicationService.java:223) at jrun.ea.EnterpriseApplication.start(EnterpriseApplication.java:194) at jrun.deployment.DeployerService.initModules(DeployerService.java:710) at jrun.deployment.DeployerService .createWatchedDeployment(DeployerService.java:242) at jrun.deployment.DeployerService.deploy(DeployerService.java:430) at jrun.deployment.DeployerService .checkWatchedDirectories(DeployerService.java:179) at jrun.deployment.DeployerService.run(DeployerService.java:891) at jrunx.scheduler.SchedulerService .invokeRunnable(SchedulerService.java:223) at jrunx.scheduler.ThreadPool$ThreadThrottle .invokeRunnable(ThreadPool.java:426) at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66) WARNING - Unable to load FusionReactor's native library 'libFusionReactor.so'. The file is located on the path at the following location but could not be loaded: /opt/jrun4/jre/bin/libFusionReactor.so Please verify that the file is readable by the current user and that the file has not been corrupted in any way. ..06/21 16:58:03 info Web Services in cfusion.ear#cfusion.war: 06/21 16:58:03 info (No web services found.) 06/21 16:58:03 user JSPServlet: init ...
The native library has been already loaded in another classloader.
Restart the complete server after having added a FusionReactor instance:
sudo -u nobody /opt/jrun4/bin/jrun stop
sudo -u nobody /opt/jrun4/bin/jrun stop
Note: We might revise the destination of the native library for JRun based servers in the near future.
Issue Details
| Type: | Technote |
|---|---|
| Issue Number: | FRS-5 |
| Components: | Installer |
| Environment: | |
| Resolution: | Fixed |
| Added: | 16/05/2007 17:42:47 |
| Affects Version: | 2.0 |
| Fixed Version: | 2.0 |
| Server: | |
| Platform: | Linux, Solaris |
| Related Issues: | None |
Issue Feedback
Did you find this issue helpful?
0 out of 0 people found this article helpful


