Sun Java System Application Server Platform Edition 9.0 Update 1 Release Notes

Chapter 3 Known Issues and Limitations

This section describes known problems and associated workarounds for the Sun Java System Application Server Platform Edition 9.0 Update 1 product. If a summary statement does not specify a particular platform, the problem applies to all platforms. This information is organized into the following sections:

Administration

The package-appclient script does not work if domain1 is not present. (ID 6171458)

By default, there is a hard-coded value in $INSTALL/lib/package-appclient.xml for the AS_ACC_CONFIG variable for domain1 that is pointed to by asenv.conf. If domain1 is deleted and a new domain created, the AS_ACC_CONFIG variable is not updated with the new domain name, which causes the package-appclient script to fail.

Solution

Do one of the following:

Starting Application Server with additional JMX Agent is not supported. (ID 6200011)

J2SE 1.4.x, 5.0, or later can be configured on the Application Server. An integral feature of J2SE 5.0 platform is the ability to start a JMX agent. This is activated when you explicitly set system properties at the server startup.

Example values include:

name="com.sun.management.jmxremote" value="true"
name="com.sun.management.jmxremote.port" value="9999"
name="com.sun.management.jmxremote.authenticate" value="false"
name="com.sun.management.jmxremote.ssl" value="false"

After configuring JMX properties and starting the server, a new jmx-connector server is started within the Application Server VM. An undesirable side-effect of this is that the administration functions are affected adversely, and the Application Server administration GUI and CLI may produce unexpected results. The problem is that there are some conflicts between the built in jmx-connector server and the new jmx-connector server.

Solution

If using jconsole (or any other JMX-compliant client), consider reusing the standard JMX Connector Server that is started with Application Server startup.

When the server starts up, a line similar to the one shown below appears in the server.log. You can connect to the JMXServiceURL specified there and perform the same management/configuration operations after successfully providing the credentials; for example:

[#|2004-11-24T17:49:08.203-0800|INFO|sun-appserver-ee8.1|javax.enterprise.
system.tools.admin|_ThreadID=10;|ADM1501: Here is the JMXServiceURL for the 
JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://hostname:8686/management/
rmi-jmx-connector]. This is where the remote administrative clients should 
connect using the JSR 160 JMX Connectors.|#]

For more information, refer to the Sun Java System Application Server 9.0 Update 1 Administration Guide.

InvalidJvmOptionException is thrown on stopping server if JDK path contains spaces (Windows) (ID 6475341)

When the Application Server is installed in a location with space(s) in the path, you will see a message similar to the following in the log when the instance is stopped. Note that Application Server functionality is not affected by this condition.


InvalidJvmOptionException: Invalid Jvm Option Files/Java/jdk1.5.0_07/jre/lib/ext;
C:/Sun/AppServer/domains/domain1/lib/ext;C:/Sun/AppServer/javadb/lib. 
Option must start with -.

display-error-statistics brings negative stats

The Admin Console GUI is able to differentiate between a real zero (0) and a state for which statistics are not available (N/A). The command-line interface currently displays negative 1 (-1) instead of N/A. For example, the following output for the display-error-statics command shows —1 instead of N/A.


# asadmin display-error-statistics
Please enter the admin user name>admin
Please enter the admin password>
Timestamp                               Severity  Warning 
---------------------------------------------------------
1143659837750(Mar 29, 2006 11:17:17 AM)     0        0       
1143656237750(Mar 29, 2006 10:17:17 AM)     0        0       
1143652637750(Mar 29, 2006 9:17:17 AM)      -1       -1      
1143649037750(Mar 29, 2006 8:17:17 AM)      -1       -1      
1143645437750(Mar 29, 2006 7:17:17 AM)      -1       -1      
---------------------------------------------------------
Command display-error-statistics executed successfully.

Solution

Use the Admin Console GUI to display error statistics. This issue will be fixed in a later release.

Application Client

This section describes known application client issues and associated solutions.

Installation

This section describes known installation/uninstallation issues and associated solutions.

Installation shutdown hanging on some Linux systems after clicking the Finish button. (5009728)

This problem has been observed on several Linux systems. It is most common on Java Desktop System 2 but has also been observed on RedHat distributions.

After clicking the Finish button on the last installer screen, the installer fails to launch a browser window containing the product About page or product registration page, and hangs indefinitely, not returning the command prompt.

Solution

Exit the installer by pressing Ctrl+C in the terminal window in which the installer was started. After doing this, browser window containing product About page or registration page will sometimes be launched, but if it does not show up, start the browser and enter following URL in order to review About page:

file://install_dir/docs/about.html

If you also selected the installation option to register the product, follow the link to registration page available on product About page.

Intermittent J2SE detection and bootstrap issues in install wrapper on Linux. (6172980)

The setup executable that launches the Linux installer sometimes hangs. Instead of resolving the J2SE location and starting the install wizard, the wrapper hangs and returns the following messages:

Chcking available disk space....
Checking Java(TM) 2 Runtime Environment....
Extracting Java(TM) 2 Runtime Environment....
Deleting temporary files.....

This issue is seen only in some versions of Linux, and seems to depend on environment settings, especially the presence of the JAVA_HOME variable.

Solutions

To work around this issue:

ProcedureTo work around the bootstrap issues on Linux

  1. Unset the JAVA_HOME variable by running unset or unsetenv depending on your shell.

  2. Run setup with the -javahome option to specify the JAVA_HOME used by the installer.

Lifecycle Management

This section describes known lifecycle management issues and associated solutions.

After setting the ejb-timer-service property minimum-delivery-interval to 9000, an attempt to set the ejb-timer-service property redelivery-interval-in-mills to 7000 causes the set command to fail with the following error: (ID 6193449)

[echo] Doing admin task set
[exec] [Attribute(id=redelivery-interval-internal-in-millis) : Redelivery-
Interval (7,000) should be greater than or equal to Minimum-delivery-
interval-in-millis (9,000)]
[exec] CLI137 Command set failed.

Solution

Use the default values for these properties, as follows:

minimum-delivery-interval(default)=7000
redelivery-interval-in-millis(default)=5000

Values other than these defaults will generate an error.

Java Persistence API

This section lists known issues and associated solutions related to the Java Persistence API.

The query compiler does not check all the rules as defined in the Java Persistence Language specification.

The query compiler does not check all the rules as defined in the Java Persistence Language chapter of the specification. In particular, it does not check:

An invalid query may compile but may cause a SQLException at runtime. Or it might happen that the underlying database is less restrictive and supports the generated SQL, but executing the same query on a different database fails with a SQLException.

Solution

Verify the above conditions manually.

In some cases, the query compiler throws a misleading error message, because it mentions the wrong token in the error message. (Glassfish ID 550)

For more information, see https://glassfish.dev.java.net/issues/show_bug.cgi?id=550.

Solution

Manually verify what is wrong in the query.

Two persistence units containing the same class cannot currently be deployed in the same EAR file.

Solution

Use different class names.

You cannot list MappedSuperclass explicitly using class element in persistence.xml. (Glassfish ID 558)

For more information, see https://glassfish.dev.java.net/issues/show_bug.cgi?id=558.

Solution

Do not list MappedSuperclass explicitly.

Unable to map null database values to primitives.

Solution

Use Java wrapper types for mapping to nullable database columns.

Upgrade

This section describes known issues and associated solutions related to upgrading and using the Upgrade Tool.

Domains created in custom-path other than install_dir/domains directory are not upgraded directly while upgrading from Application Server Platform Edition 8 to Application Server Platform Edition 9.0 Update 1. (ID 6165528)

When running the Upgrade Utility and identifying the install_dir as the source installation directory, the upgrade process upgrades only those domains that are created under install_dir/domains directory. Domains created in other locations are not upgraded.

Solution

Before starting the upgrade process, copy all the domain directories from their different locations to the install_dir/domains directory.

The installer running “Upgrade in place” fails to start upgrade tool on some Linux systems after clicking on the “Start Upgrade Wizard” button. (6207337)

This problem has been observed on several Linux systems, it is most common on Java Desktop System 2 but has also been observed on RedHat distributions.

After clicking the Start Upgrade Tool button on the final installer screen, the installer fails to launch the upgrade tool to complete the upgrade process, and hangs indefinitely, not returning the command prompt.

Solution

This issue is not encountered if command line installation mode is used to run upgrade in place.

ProcedureTo use command line installation mode

  1. If you ran upgrade in place in GUI mode and encountered this problem, exit the installer by pressing Ctrl+C in the terminal window in which the installer was started.

  2. Start upgrade tool from the terminal window, using following command:


    install_dir/bin/asupgrade --source install_dir/domains --target install_dir 
    --adminuser adminuser--adminpassword adminpassword --masterpassword changeit

    adminuser and adminpassword should match the values used for the installation you are upgrading.

  3. When the upgrade tool completes the upgrade process you can also start the browser and enter following URL in order to review About page:

    file://install_dir/docs/about.html

    If you also selected the installation option to register the product, follow the link to registration page available on product About page.

Must close Application Server files when running Upgrade Tool on Windows

While running Upgrade Tool on Windows, you must close all files in the installation being upgraded. If a file is left open, then the Upgrade Tool has been observed to hang.

Web Container

This section describes known web container issues and associated solutions.

Unable to compile JSP page on resource constrained servers. (ID 6184122)

The JSP page is accessed but fails to compile, and the server log contains the error message “Unable to execute command” with the following stack trace:

at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec
(Execute.java:655) at org.apache.tools.ant.taskdefs.Execute.launch
(Execute.java:416) at org.apache.tools.ant.taskdefs.Execute.execute
(Execute.java:427) at org.apache.tools.ant.taskdefs.compilers.
DefaultCompilerAdapter.executeExternalCompile(DefaultCompilerAdapter.
java:448) at org.apache.tools.ant.taskdefs.compilers.JavacExternal.
execute(JavacExternal.java:81) at org.apache.tools.ant.taskdefs.Javac.
compile(Javac.java:842) at org.apache.tools.ant.taskdefs.Javac.execute
(Javac.java:682) at org.apache.jasper.compiler.Compiler.generateClass
(Compiler.java:396)

Solution

Set the JSP compilation switch fork to false.

This can be done either of two ways:

Either setting will prevent ant from spawning a new process for javac compilation.