[frs-168] FusionReactor trial expires immediately on a Java6 VM running on Linux or Solaris


Overview

Due to Sun Microsystems bug 6519088 in the Linux and Solaris versions of Sun Java 6 prior to version 1.6.0_10-rc2, 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_07).

SUN finally fixed this bug in 1.6.0_10-rc2 (search for 6396599 in bugs fixed in JDK6 U10. Hopefully this will be still the case after it has been released.

Issue Details

Type: Technote
Issue Number: FRS-168
Components: Installer
Environment:
Resolution: Fixed
Last Updated: 16/Apr/09 7:54 AM
Affects Version: 2.0.4, 3.0, 3.0.1
Fixed Version: 1.0, 2.0, 2.0.3, 2.0.4, 3.0, 3.0.1
Server: ColdFusion 6, ColdFusion 7, ColdFusion 8, Flex Data Services, JBoss, Jetty, JRun 4, LiveCycle Data Services, Railo, ServletExec, Tomcat, WebSphere, WebLogic
Platform: Linux, Solaris
Related Issues:

FRS-170: Couldn’t flush system prefs: java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: Not supported: indent-number

FRS-198: Problems with installing or activating a license