FusionReactor trial expires immediately on a Java6 VM running on Linux or Solaris
Description
Overview
Due to Sun Microsystems bug 6519088 in the Linux and Solaris versions of Sun Java 6, the FusionReactor license cannot be installed nor activated. The error message reported by the target server looks like the following:
13.08.2007 14:32:03 java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: Not supported: indent-number
As a result the trial period for FusionReactor expires immediately after the server is restarted.
Since Sun seems not to be interested in fixing this issue in Java 6, we have created our own fix for it. So, if you are interested in a permanent (unofficial) fix for this issue you can download fix6519088-1.0.0.jar.
This JAR simply implements the fix suggested in http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6519088
To apply the fix you have to prepend the JAR file to the boot classpath of your Java VM. This procedure differs depending on the server you use and is described in the following section.
Applying the fix
Copy the JAR file to the etc/lib directory of your FusionReactor installation (e.g. /opt/fusionreactor/etc/lib). In the following we assume that FusionReactor has been installed to /opt/fusionreactor.
Adobe Servers
JRun and ColdFusion servers require a change in the jvm.config file as shown below:
...
# Arguments to VM
java.args=-Xbootclasspath/p:/opt/fusionreactor/etc/lib/fix6519088-1.0.0.jar -server ...
...
Stop the server, locate the java.args variable and insert the text shown in blue color as the first argument and restart the server again.
Resin Server
Caucho Resin (the application server coming with Railo Server) requires a change in the $RAILO_HOME/conf/resin.conf XML configuration file as shown below:
...
<jvm-arg>-Xbootclasspath/p:/opt/fusionreactor/etc/lib/fix6519088-1.0.0.jar</jvm-arg>
<jvm-arg>-Xmx256m</jvm-arg>
<jvm-arg>-Xss1m</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Dcom.sun.management.jmxremote</jvm-arg>
...
Stop the server, find the first <jvm.arg> element and insert the blue <jvm-arg> shown above before it then restart the server again.
Other Servers
Other servers like Apache Tomcat, JBoss or Jetty require a change of the belonging start or configuration script (e.g. catalina.sh for Tomcat or run.sh for JBoss) or simply passing the -Xbootclasspath/p argument as an additional argument when the server is started directly with the java command.
Tomcat
To apply the fix for a Tomcat server running with a Java 6 VM add the following line at the top of the catalina.sh file but after the #!/bin/sh line:
JAVA_OPTS="-Xbootclasspath/p:/opt/fusionreactor/etc/lib/fix6519088-1.0.0.jar -Djava.library.path=."
JBoss
To apply the fix for a Tomcat server running with a Java 6 VM add the following line at the top of the run.sh file but after the #!/bin/sh line:
JAVA_OPTS="-Xbootclasspath/p:/opt/fusionreactor/etc/lib/fix6519088-1.0.0.jar -Djava.library.path=."
Jetty
Start Jetty with the following command:
java -Xbootclasspath/p:/opt/fusionreactor/etc/lib/fix6519088-1.0.0.jar -jar start.jar
If you change the JVM of your server back to version 5 there will be no such problem. This problem only exists in version 6 of the JVM and unfortunately still has not been fixed by SUN in the latest update (1.6.0_05).
Issue Details
| Type: | Technote |
|---|---|
| Issue Number: | FRS-168 |
| Components: | Installer |
| Environment: | |
| Resolution: | Fixed |
| Added: | 13/08/2007 14:50:37 |
| Affects Version: | 2.0.4 |
| Fixed Version: | 1.0 |
| Server: | ColdFusion 6, ColdFusion 7, ColdFusion 8, Flex Data Services, JBoss, Jetty, JRun 4, LiveCycle Data Services, Railo, ServletExec, Tomcat, WebLogic, WebSphere |
| Platform: | Linux, Solaris |
| Related Issues: |
|
Issue Feedback
Did you find this issue helpful?
1 out of 1 person found this article helpful


