JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle GlassFish Server 3.1-3.1.1 Release Notes
search filter icon
search icon

Document Information

1.  Oracle GlassFish Server 3.1-3.1.1 Release Notes

Revision History

What's New in the GlassFish Server 3.1.1 Release?

Environment and Component Changes

Embedded GlassFish Server

Expanded Loadbalancer Plug-In Support of Web Servers

New asadmin Subcommands for Secure Admin

Enterprise OSGi Support

Support for JDBC 4.1

What's New in the GlassFish Server 3.1 Release?

GlassFish Server 3.1 Productivity Benefits

Flexible, Extensible, and Customizable

Enhancing Developer Productivity

Production Readiness

GlassFish Server Control

Oracle GlassFish Server and Oracle Fusion Middleware

Key Technology Enhancements

Extending Java EE 6 with Clustering

Load Balancing Support

JMS and Message Queue Broker

DAS Backup and Recovery

Deployment

Security

Logging Service

Hardware and Software Requirements

Supported Platforms, JDK Versions, Browsers, mod_jk, and JDBC Drivers and Databases

System Virtualization Support

Required Disk Space

Required Free Ports

Message Queue Broker Requirements

Important Patch Information

Paths and Environment Settings for the JDK Software

Use the Correct Java Version

Use the JDK Binaries

Set the JAVA_HOME Environment Variable

Set Other Environment Variables As Necessary

Known Issues

Known Issues in GlassFish Server 3.1.1

restart-instance takes a long time on Solaris 11 (sun.security.pkcs11.SunPKCS11) (15537)

Description

Workaround

Accept multiple certs for admin authentication (16437)

Description

Workaround

tcp-no-delay attribute in Http is not working (16902)

Description

Workaround

Invoking GF installer on AIX 6.1 with JDK6 64 bit gives Warning (16667)

Description

Workaround

(JDK) NLS: Crashed when tried to install the bundle in ko locale (16699)

Description

Workaround

PKG_CLIENT_READ_TIMEOUT is too small (16999)

Description

Workaround

Unable to set -server JVM options (16770)

Description

Workaround

cannot remote deploy large wars (15773)

Description

Workaround

AIX. RichAccess stress test. Multiple ArrayIndexOutOfBoundsException and NPE in server.log files (16707)

Description

Workaround

Fail to install the bundle named with -jdk7 when unset JAVA_HOME in solaris 11 Express x86 (16698)

Description

Workaround

Non-persistent timers are incorrectly canceled in a clustered environment (17060)

Description

Workaround

asadmin timeout from HA short execution on AIX (16960)

Description

Workaround

Could not upgrade from ogs-3.1-windows-ml.exe to ogs-3.1.1-b05-windows-ml.exe in Windows 7 x86 (16700)

Description

Workaround

Unable to restart Embedded GlassFish Server instance once a remote EJB is deployed (16916)

Description

Workaround

EJB Timer Service is not loaded correctly after Embedded GlassFish Server restart (16230)

Description

Workaround

list-secure-admin-principals and list-secure-admin-internal-users both incorrectly prompt for a command operand (17005)

Description

Workaround

Switching log levels persistently breaks logging service (17037)

Description

Workaround

Stopping Embedded GlassFish Server leaves several daemon threads running (11088)

Description

Workaround

Administration Guide on Patching in a Closed Network Incorrectly Lists 3.0.1 Patches (13422800)

Description

Workaround

Embedded EJB container returns null reference when META-INF/beans.xml is in the classpath (16285)

Description

Workaround

Known Issues in GlassFish Server 3.1

[OWSM] Interop Metro-WLS:NPE WSSECURTIYTOKEN NULL for WSSE:SECURITYTOKENREFERENCE (Issue 9716247)

Description

Workaround

[JDK_Issue] Performance degradation caused by invoking setSoLinger or setReuseAddress (Issue 7109)

Description

Workaround

[JDK_Issue] IO exception: invalid argument during longevity test (Issue 7529)

Description

Workaround

File permissions on domain /applications directory can cause NullProcessException (Issue 6545)

Description

Workaround

[Open Installer] Option -l to relocate log files ignored on Windows (Issue 10693)

Description

Workaround

Issues occur with ZIP distribution if UAC enabled on Windows Vista (Issue 10755)

Description

Workaround

[Open Installer] Start menus not displayed and then empty on Windows Vista (Issue 5087)

Description

Workaround

Standalone Update Tool fails with segmentation fault on Solaris (Issue 11222)

Description

Workaround

Java EE 6 Managed Bean support not available in app clients launched using Java Web Start (Issue 11257)

Description

Workaround

Warning messages when invoking appclient script on Mac OS X with Apple Java implementation (Issue 8644)

Description

Workaround

Unable to open installation log files using links on the Summary screen on Linux and Mac OS (Issue 6621)

Description

Workaround

updatetool command does not work if you reinstall into the same install directory on Windows (Issue 8233)

Description

Workaround

Problems debugging JPA (Issue 11274)

Description

Workaround

There doesn't appear to be any explanation about the classpath-prefix and classpath-suffix in the GF 3.x documentation (Issue 16082)

Description

Workaround

Windows startup menu shows single entry on multiple installation of Glassfish 3.1 (7002744)

Description

Workaround

Critical JRockit Issues (7020176)

Description

Workaround

New Grizzly integration required for http://java.net/jira/browse/GRIZZLY-970 (15909)

Description

Workaround

ReleaseNotes: document Restart Required issues (Umbrella issue 16040)

Description

Workaround

[UB]org.osgi.framework.BundleException during shutdown after upgrade (15441)

Description

Workaround

Update coordinates failure with enable-security-admin (7017384)

Description

Workaround

Man page for list-supported-cipher-suites (15998)

Description

Workaround

Description of create-jacc-provider references JSR196 but the command has nothing to do with JSR196 and JAAS (15999)

Description

Workaround

lazy-init attribute missing from admin console Edit IIOP Listener page (15975)

Description

Workaround

RMIConnectorStarter constructs invalid URLs with a literal IPv6 address (15937)

Description

Workaround

man-page-review umbrella issue (15929)

Description

Workaround

[UB]Release note security permissions required for CDI applications (15456)

Description

Workaround

build 40 : list-jmsdest for cluster1 not working, it just hangs

Description

Workaround

Create Resource Adapter Config is throwing an exception if JMS is already started (15571)

Description

Workaround

[Release Note]Samples. at ant all output was seen URL for samples that don't have a web client (12264)

Description

Workaround

Domain.xml: setting protocol.http-listener-1.http.max-connections set in 1 or -1 (16025)

Description

Workaround

Intermittent issue : Left tree not refreshed when new elements are added/removed in IE and firefox (15997)

Description

Workaround

[UB][regression] jpaRLCreateEMF failure on sybase (15763)

Description

Workaround

Admin Console: intermittent Blank Screen (15633)

Description

Workaround

Caching JMS session in a session bean causes errors when invoked by a MDB when under load (15558)

Description

Workaround

Domain fails to stop after console loaded (with secure admin enabled) (15482)

Description

Workaround

Modifying keyfile path in a newly created config does not properly list the users (15429)

Description

Workaround

[BigApps] [STRESS] ~17 occurences of "EOFException" warnings coming from JMS (15424)

Description

Workaround

Mysql ping fails when additional properties are not deleted (14547)

Description

Workaround

If TS resource had been changed, tables are not created after server restart (13873)

Description

Workaround

GlassFish/Grizzly not able to accept new request if a remote client hangs (6963818)

Description

Workaround

restore-domain from a config only backup will corrupt the domain directory (7026114)

Description

Workaround

JSF PhaseListener executed for each virtual host (15809)

Description

Workaround

could not find Factory: javax.faces.context.FacesContextFactory (16061)

Description

Workaround

NullPointerException when accessing OSGi web application (15985)

Description

Workaround

GlassFish installer needs to prompt user to set MQ admin password (12305750)

Description

Workaround

Known Issues in GlassFish Server 3.1 Fixed in 3.1.1

Win. Deployment with contextroot: Application [] contains no valid components (13774)

Description

Workaround

[UB]Accessing encoded URLS throws 403: Forbidden (15709)

Description

Workaround

injection points in one bean deployment archive cannot be satisfied by a bean in a separate bean archive, even when they are from libraries in the same module (web archive) (15721)

Description

Workaround

Glassfish Installer does not update MQ config file (imqenv.conf) with values (15724)

Description

Workaround

Remote EJBs fail with ClassCastException in embeddable GlassFish (15775)

Description

Workaround

Column APPLICATIONID is missing from bundled SQL scripts for EJB timer table creation. (15986)

Description

Workaround

create-jvm-options subcommand options incorrectly parsed by asadmin (16037)

Description

Workaround

appclient in cygwin passing extra empty string (16044)

Description

Workaround

3.1 GlassFish installer takes longer to bootstrap Update Center than in 3.0.1 (16067)

Description

Workaround

On Windows the first time pkg.bat or updatetool.bat is run they may echo garbage (16094)

Description

Workaround

Admin GUI hangs on first access after installation on some Solaris Server Hardware. (16153)

Description

Workaround

asupgrade Fails Without Internet Connection (16159)

Description

Workaround

Application info page: status not shown correctly and virtual servers changes not saved (16048)

Description

Workaround

Log Viewer: details garbled after navigating to earlier records, exception in server.log (16029)

Description

Workaround

Cluster -> Resources tab: Should not include resources not included in the web distribution in the table dropdown (15925)

Description

Workaround

Firefox 4.0 does not work for the Admin Console Targeting dialogs (16385)

Description

Workaround

@DSD defined in EJBs bundled in a .war is not available for JPA during prepare() phase (15865)

Description

Workaround

Restrictions and Deprecated Functionality

Node Agent Support

HADB and hadbm Command Support

asadmin Subcommands

Deprecated, Unsupported, and Obsolete Options

Applications That Use Java DB

No Support for Client VM on Windows AMD64

Metro Reliable Messaging in InOrder Delivery Mode

No Support for Kerberos on AIX

Update Center Client Limitations on AIX Platform

Persistence of EJB References in HTTP Sessions Not Supported for Coherence*Web

GlassFish Server Documentation Set

Features Available Only in the Full Platform Profile

Java EE 6 Standards Support

Java EE 6 SDK

How to Report Problems and Provide Feedback

Additional Resources

Third-Party Web Site References

Accessibility Features

Known Issues

This section describes known issues and any available workarounds for Oracle GlassFish Server 3.1 and 3.1.1 software.

These known issues and workarounds are divided into these sections:

Known Issues in GlassFish Server 3.1.1

Issues in GlassFish Server 3.1.1 also apply to GlassFish Server 3.1 unless otherwise stated.

The following topics are addressed here:

restart-instance takes a long time on Solaris 11 (sun.security.pkcs11.SunPKCS11) (15537)

Description

The asadmin restart-domain and restart-instance subcommands intermittently hang on Solaris 11 systems. This is cause by native Security SPI code in the JDK. This issue does not occur on operating systems other than Solaris 11.

Workaround

None. This issue does not cause any problems other than the occasional long wait for the subcommand to complete.

For the complete report about this issue, see GLASSFISH-15537.

Accept multiple certs for admin authentication (16437)

Description

If you enabled secure admin for a GlassFish Server 3.1 domain, the domain remains enabled for secure admin when you install GlassFish Server 3.1.1.

However, GlassFish Server 3.1.1 uses a stronger technique to make sure that servers in one domain do not accidentally communicate with servers in another domain.

Workaround

Your updated GlassFish Server 3.1.1 domain does not use the improved domain isolation technique until you run the following command once:

asadmin> enable-secure-admin

You do not need to specify any other arguments with the command, even if you did so when you first enabled secure admin on your GlassFish Server 3.1 domain. GlassFish Server 3.1.1 automatically begins using the better algorithm from that point on.

For the complete report about this issue, see GLASSFISH-16437.

tcp-no-delay attribute in Http is not working (16902)

Description

The tcp-no-delay attribute for HTTP type network listeners is not working properly. Setting this attribute as follows has no effect:

asadmin> set server-config.network-config.protocols.protocol.http-listener-1.http.tcp-no-delay=true
Workaround

Set the tcpNoDelay property of the HTTP service instead, as follows:

asadmin> set server-config.http-service.property.tcpNoDelay=true

This enables tcpNoDelay for all network listeners.

For the complete report about this issue, see GLASSFISH-16902.

Invoking GF installer on AIX 6.1 with JDK6 64 bit gives Warning (16667)

Description

When the GlassFish Server installer is invoked on the AIX 6.1 platform with the 64–bit version of JDK 6, the following warning is displayed on the screen:

Warning: Could not detect OS Architecture, falling back to os.arch [Architecture=ppc64]
Workaround

None. This warning is harmless and can be ignored.

(JDK) NLS: Crashed when tried to install the bundle in ko locale (16699)

Description

Installation of the Solaris x86 SDK bundle fails in the ko and zh_TW locales.

Workaround

GlassFish Server users can install the ZIP distribution or temporarily switch to an unaffected locale. SDK users can install using the Update Center or temporarily switch to an unaffected locale.

PKG_CLIENT_READ_TIMEOUT is too small (16999)

Description

Installation of the Update Center sometimes times out and fails.

Workaround

If Update Center installation fails in the installer or when running pkg or updatetool from the command line, enter the following from the command line:

> set PKG_CLIENT_CONNECT_TIMEOUT=300
> set PKG_CLIENT_READ_TIMEOUT=300
> glassfish3\bin\updatetool

Unable to set -server JVM options (16770)

Description

GlassFish Server misinterprets the following command:

asadmin> create-jvm-options -server

The command is interpreted as if the following command had been entered, using the short options for --secure and --echo:

asadmin> create-jvm-options -se
Workaround

To specify a JVM option that could be mistaken for one or more asadmin command short options, use a double dash before the JVM option. For example:

asadmin> create-jvm-options -- -server

This double dash tells the asadmin command to stop parsing its own short options and start parsing subcommand options.

cannot remote deploy large wars (15773)

Description

Note - This issue applies only to administrative clients sending administration messages to the domain administration server (DAS). It does not apply to end-user clients sending messages to applications.


By default, when you enable secure admin, the GlassFish Server DAS does not use SSL client certificate authentication to verify the identify of administration clients (such as the asadmin utility, browsers, or IDEs). Instead, the administrative user typically provides a username and password which authorize performance of administrative operations. To enable admin request SSL client certificate support in the DAS, set the following system property to true:

org.glassfish.admin.DASCheckAdminCert

This does not disable username and password authentication. It simply adds client SSL certificate-based authentication as another alternative the DAS can use.

If you perform the following steps, then GlassFish Server might report communication errors related to SSL:

  1. Enable secure admin for the domain.

  2. Enable admin request SSL client certificate support as just described.

  3. Use an administration client that is not configured to send an SSL client certificate for authentication.

  4. Upload a moderate or large file as part of deployment.

This can happen if the upload is in progress when the GlassFish Server DAS requests certificate information from the administration client. This happens only if the client was not configured to use an SSL certificate.

Workaround

To enable admin request SSL client certificate support and deploy a large file, first upload the file manually to the system where the DAS is running or store the file in a shared file system that both your system and the DAS system can access. Then do not specify --upload=true when you deploy the application. The DAS finds the file without uploading it, so the certificate negotiation between the DAS and the administration client can complete normally.

AIX. RichAccess stress test. Multiple ArrayIndexOutOfBoundsException and NPE in server.log files (16707)

Description

The following exception may occur occasionally when the web container tries to clean up expired sessions. This is due to a bug in the IBM JDK.

java.lang.ArrayIndexOutOfBoundsException
at java.util.AbstractCollection.toArray(AbstractCollection.java:353)
at org.apache.catalina.session.ManagerBase.findSessions(ManagerBase.java:907)
at org.apache.catalina.session.PersistentManagerBase.processExpires(PersistentManagerBase.java:602)

A support ticket has been filed with IBM (PMR# 79545,756,000) but no fix is yet available.

Workaround

None. If the above exception occurs, the expired sessions are cleaned up when the method PersistentManagerBase.processExpires is called again later. The application continues to work.

Fail to install the bundle named with -jdk7 when unset JAVA_HOME in solaris 11 Express x86 (16698)

Description

The java_ee_sdk-6u3-b05-jdk7-solaris-x86-ml.sh bundle is not installed if the JAVA_HOME or PATH environment variable is not set properly.

Workaround

Do one of the following:

Non-persistent timers are incorrectly canceled in a clustered environment (17060)

Description

If you attempt to create a non-persistent timer (through TimerService or the @Schedule annotation) and deploy it to a clustered environment, the timer is canceled before the first time it is run. GlassFish Server looks at the database to see if the timer is there, doesn't see it, and then cancels it. Non-persistent timers aren't stored in the database, so the canceling shouldn't happen.

Workaround

Add the system property com.sun.ejb.timer.ReadDBBeforeTimeout=false to stop GlassFish Server from checking the database before running the timer.


Caution

Caution - This might have negative ramifications if the cluster also contains persistent timers.


asadmin timeout from HA short execution on AIX (16960)

Description

During High Availability testing on AIX, the Domain Admin Server (DAS) freezes and requires a complete restart.

Workaround

An IBM patch can be downloaded from https://www-304.ibm.com/support/docview.wss?uid=isg1fixinfo117990.

Could not upgrade from ogs-3.1-windows-ml.exe to ogs-3.1.1-b05-windows-ml.exe in Windows 7 x86 (16700)

Description

Upgrading from ogs-3.1-windows-ml.exe to ogs-3.1.1-b05-windows-ml.exe in Windows 7 x86 may produce the error, Unsupported Upgrade Path.

Workaround

Convert the domain.xml file to native encoding before upgrading. Follow these steps:

  1. Back up the domain.xml file.

  2. Run the following commands:

    native2ascii domain.xml domain.xml.ascii
    native2ascii -reverse -encoding UTF-8 domain.xml.ascii domain.xml
  3. Run the asupgrade command under c:\glassfish311\glassfish\bin\.

  4. Run the following commands:

    native2ascii -encoding UTF-8 domain.xml domain.xml.ascii
    native2ascii -reverse domain.xml.ascii domain.xml

Unable to restart Embedded GlassFish Server instance once a remote EJB is deployed (16916)

Description

Code that performs these steps fails with ORB and EJB container exceptions at the restart step:

  1. Start embedded GlassFish Server.

  2. Deploy a remote EJB application.

  3. Undeploy the application.

  4. Stop the server.

  5. Restart the server.

  6. Redeploy the application.

Workaround

Perform these steps:

  1. Start embedded GlassFish Server.

  2. Deploy a remote EJB application.

  3. Undeploy the application.

  4. Stop the server using the dispose method.

  5. Restart the host virtual machine (JVM).

  6. Recreate the embedded GlassFish Server instance.

  7. Redeploy the application.

EJB Timer Service is not loaded correctly after Embedded GlassFish Server restart (16230)

Description

Code that performs these steps fails at the redeploy step:

  1. Start embedded GlassFish Server.

  2. Deploy an application that uses the EJB Timer Service.

  3. Undeploy the application.

  4. Stop the server.

  5. Restart the server.

  6. Redeploy the application.

Workaround

Perform these steps:

  1. Start embedded GlassFish Server.

  2. Deploy an application that uses the EJB Timer Service.

  3. Undeploy the application.

  4. Stop the server using the dispose method.

  5. Restart the host virtual machine (JVM).

  6. Recreate the embedded GlassFish Server instance.

  7. Redeploy the application.

list-secure-admin-principals and list-secure-admin-internal-users both incorrectly prompt for a command operand (17005)

Description

The list-secure-admin-principals and list-secure-admin-internal-users subcommands of asadmin both incorrectly prompt for a command operand.

Workaround

Use the following commands instead:

asadmin get "secure-admin.secure-admin-principal.*"
asadmin get "secure-admin.secure-admin-internal-user.*"

Switching log levels persistently breaks logging service (17037)

Description

Changing log levels in the Administration Console causes logging to stop. This is because the level of the com.sun.enterprise.server.logging.GFFileHandler logger is changed to OFF.

Workaround

Fix the com.sun.enterprise.server.logging.GFFileHandler logger level using the following command:

asadmin set-log-levels com.sun.enterprise.server.logging.GFFileHandler=ALL

Specify the --target option for a server instance other than the domain administration server (DAS).

Stopping Embedded GlassFish Server leaves several daemon threads running (11088)

Description

After you stop embedded GlassFish Server, some daemon threads continue to run. Some of these threads don't exit until the virtual machine (JVM) exits. Restarting embedded GlassFish Server repeatedly in the same JVM can cause Out of Memory errors.

Workaround

Restart the JVM.

Administration Guide on Patching in a Closed Network Incorrectly Lists 3.0.1 Patches (13422800)

Description

The list of patches in To Configure a Local Repository Server Inside a Closed Network in Oracle GlassFish Server 3.1 Administration Guide is outdated.

Workaround

The correct list of patches should be:

Operating System
Patch ID
sunos-sparc
147902
sunos-i386
147903
linux-i386
147904
windows-i386
147907
aix-powerpc
147905
mac-universal
147906

Embedded EJB container returns null reference when META-INF/beans.xml is in the classpath (16285)

Description

A mismatch of ant.jar versions between GlassFish Server and NetBeans (or the junit classpath) can cause the embedded EJB container to fail with the following message:

SEVERE: Exception while loading the app : java.lang.IncompatibleClassChange Error: 
org.apache.tools.ant.listener.MailLogger and org.apache.tools.ant.listener.MailLogger$Values 
disagree on InnerClasses attribute
com.google.common.collect.ComputationException: java.lang.IncompatibleClassChangeError: 
org.apache.tools.ant.listener.MailLogger and org.apache.tools.ant.listener.MailLogger$Values 
disagree on InnerClasses attribute at 
com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:218)

Or the following warning:

"WARNING: multiple versions of ant detected in path for junit
jar:file:/opt/netbeans-6.9.1/java/ant/lib/ant.jar!/org/apache/tools/ant/Project.class"
Workaround

When running GlassFish Server in embedded mode, replace ant.jar (in as-install/modules) with the one from the junit classpath or NetBeans, or temporarily rename or remove this file. Restore this file to the original when running GlassFish Server in nonembedded mode.

Known Issues in GlassFish Server 3.1

The following topics are addressed here:

[OWSM] Interop Metro-WLS:NPE WSSECURTIYTOKEN NULL for WSSE:SECURITYTOKENREFERENCE (Issue 9716247)

Description

There is an issue with web services communication between GlassFish Server Metro and Oracle WebLogic Server when using the Oracle Web Services Manager (OWSM) wss11_saml_token_with_message_protection_service_policy policy.

Workaround

The fix for this problem is in Oracle WebLogic Server 11.1.1.4.0. See the Oracle WebLogic product page for more information.

[JDK_Issue] Performance degradation caused by invoking setSoLinger or setReuseAddress (Issue 7109)

Description

When the setSoLinger method or the setReuseAddess method is invoked, performance is degraded and the following exception is thrown:

[#|2009-01-26T00:33:56.325-0800|WARNING|sun-appserver9.1|
javax.enterprise.system.container.web|_ThreadID=17;
_ThreadName=SelectorReaderThread-8084;
_RequestID=11ae0030-c392-4217-8408-cfa7efe0a879;|setSoLinger
exception
java.net.SocketException: Invalid argument

This issue is caused by an issue with the JDK software. This issue is resolved in JDK version 7.

Workaround

None.

For the complete report about this issue, see GLASSFISH–7109.

[JDK_Issue] IO exception: invalid argument during longevity test (Issue 7529)

Description

During an HTTP longevity test, the following exception is thrown 42 hours into the run:

[#|2009-04-05T17:41:26.537-0700|SEVERE|glassfish|javax.enterprise.system.core|
_ThreadID=15;_ThreadName=Thread-1;|doSelect
exception
java.io.IOException: Invalid argument

The instance and application are still accessible during the run.

This issue is caused by an issue with the JDK software. This issue is resolved in JDK version 7.

Workaround

None.

For the complete report about this issue, see GLASSFISH–7529.

File permissions on domain /applications directory can cause NullProcessException (Issue 6545)

Description

If a domain's /applications directory restricts access, or if you use directory deployment from a restricted directory, the server cannot read the files in the expanded directory. A NullProcessException error occurs during deployment.

Workaround

Change the file access settings for such directories to grant the server permission to read the directory contents.

For the complete report about this issue, see GLASSFISH–6545.

[Open Installer] Option -l to relocate log files ignored on Windows (Issue 10693)

Description

Option -l to relocate log files is ignored when used with options -a and -s and the log files are created in the default location.

Workaround

None.

For the complete report about this issue, see GLASSFISH–10693.

Issues occur with ZIP distribution if UAC enabled on Windows Vista (Issue 10755)

Description

Some features will not work well on Windows Vista with User Account Control (UAC) enabled. One example is the Administration Console, which cannot be launched.

Workaround

Disable UAC and reboot.

For the complete report about this issue, see GLASSFISH–10755.

[Open Installer] Start menus not displayed and then empty on Windows Vista (Issue 5087)

Description

The Start menu group for GlassFish Server is not displayed after installation is first completed. If you log out and then log back in, the menu group is displayed but it is empty.

Workaround

None.

For the complete report about this issue, see GLASSFISH–5087.

Standalone Update Tool fails with segmentation fault on Solaris (Issue 11222)

Description

The standalone Update Tool started with the updatetool command fails with a segmentation fault on Solaris when installing add-on components.

Workaround

Ensure that your system conforms to the standalone Update Tool patch requirements as defined in the Update Center Release Notes.

Update Tool functionality in the Administration Console uses a different Java-based Update Center API and is not affected by this issue.

For the complete report about this issue, see GLASSFISH–11222.

Java EE 6 Managed Bean support not available in app clients launched using Java Web Start (Issue 11257)

Description

When using Java Web Start to launch an application client, any managed beans in the application client will not be recognized.

Workaround

Launch the application client using the appclient script. Managed beans in the application client will be supported normally.

For the complete report about this issue, see GLASSFISH–11257.

Warning messages when invoking appclient script on Mac OS X with Apple Java implementation (Issue 8644)

Description

When you invoke the appclient script on Mac OS X systems with Java from Apple installed, the following stack trace is seen twice (only the first few lines are shown here):

Intentionally suppressing recursive invocation exception!
java.lang.IllegalStateException: recursive invocation
    at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1394)
    at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1377)
    at sun.security.jca.ProviderConfig$1.run(ProviderConfig.java:64)
...
Workaround

None needed.

Despite the warning messages, the client will be launched successfully and run normally. These errors are from an issue in the Apple Java implementation.

For the complete report about this issue, see GLASSFISH–8644.

Unable to open installation log files using links on the Summary screen on Linux and Mac OS (Issue 6621)

Description

Installation log files cannot be opened by clicking the links on the Summary page that displays at the end of the installation process in the graphical installer.

Workaround

Access the files manually. The names of the installation log and summary files are timestamp-install.log and timestamp-install-summary.html. On Linux and Mac systems these files are generated under the $TMP directory.

For the complete report about this issue, see GLASSFISH–6621.

updatetool command does not work if you reinstall into the same install directory on Windows (Issue 8233)

Description

If you reinstall GlassFish Server (with Update Tool) in the same installation directory with the same defaults and invoke Update Tool using the updatetool command, you receive a message saying that Update Tool is not installed and are asked if you want to install it. This occurs on Windows systems only.

Workaround

Following uninstallation, manually remove the remaining .org* directory before reinstalling.

For more information this issue, see GLASSFISH–8233.

Problems debugging JPA (Issue 11274)

Description

Debugging JPA is difficult because of limited messages from the server.

Workaround

Add the property org.eclipse.persistence.session.level=INFO to the logging.properties file. You can then use the Administration Console to control EclipseLink loggers.

For the complete report about this issue, see GLASSFISH–11274.

There doesn't appear to be any explanation about the classpath-prefix and classpath-suffix in the GF 3.x documentation (Issue 16082)

Description

In previous GlassFish Server versions, the JVM options provided a classpath-prefix and classpath-suffix attributes that made it possible to add JAR files or directories either in front of,or after the application serve's system classpath. These options are no longer present in GlassFish Server 3.1.

Starting with GlassFish Server v3 Preview, after switching to OSGi, the classpath-prefix and classpath-suffix options have been labeled “do not use.”

Workaround

The classpath-prefix was typically used to substitute another package for one of the GlassFish Server packages, for example if a newer one was available. This same result can be achieved by using the Java Endorsed Standards Override Mechanism or on a per-application basis with the --libraries option for the deploy subcommand. These are documented in the Oracle GlassFish Server 3.1 Application Development Guide. The Java Optional Package Mechanism, which is documented in this guide, does what classpath-suffix used to do.

Windows startup menu shows single entry on multiple installation of Glassfish 3.1 (7002744)

Description

Windows Start Menu shows a single GlassFish Server even when multiple GlassFish Server installations are installed.

Workaround

None. When running GlassFish Server from the Start menu, the most recent installation starts. Similarly, when uninstalling from the Start menu, the last installed version is uninstalled.

Critical JRockit Issues (7020176)

Description

There are two critical JRockit issues when running longevity tests (24x7) on GlassFish Server 3.1. The issues are documented at:

The GlassFish Server certification matrix has been updated and JRockit has been removed. However, the installer UI still has an image that mentions JRockit support as a new feature.

Workaround

None JRockit is not supported on GlassFish Server 3.1.

New Grizzly integration required for http://java.net/jira/browse/GRIZZLY-970 (15909)

Description

There is a known security vulnerability with Grizzly when running Java Runtime Environment 6 versions prior to Update 24. See http://java.net/jira/browse/GRIZZLY-970 for details.

Workaround

Use Java Runtime Environment 6 update 24 or greater to avoid the vulnerability. Oracle has released a security alert for this issue. For instructions on how to resolve it, see http://blogs.oracle.com/security/2011/02/security_alert_for_cve-2010-44.html.

For the complete report about this issue, see GLASSFISH-15909.

ReleaseNotes: document Restart Required issues (Umbrella issue 16040)

Description

There are a number of configuration functions for which a server restart is required, and a number for which a restart is not required. However, the underlying component modules for the functions listed below are not correctly prompting the user about the restart requirements. These incorrect or missing restart prompts occur regardless of whether the given function is performed from the command line or through the Administration Console.

This is an umbrella issue for the sub-issues listed below. The URL for the JIRA query that you can use to display all these sub-issues is http://java.net/jira/secure/IssueNavigator.jspa?mode=hide&requestId=10358.

Workaround

Restart the DAS after performing any of the functions listed above.

For the complete report about this issue, see GLASSFISH-16040.

[UB]org.osgi.framework.BundleException during shutdown after upgrade (15441)

Description

When shutting down a server that was started with the java -jar command, a large number of exceptions may sometimes be displayed in the console. Shutting down a server that was started with the --verbose option also causes this error.

Workaround

These are harmless exceptions and can be ignored. The errors are only displayed in the console when the server that is being shut down was started in either --verbose mode or by using the java -jar command. Also note that the --upgrade option implies --verbose, so shutting down a server that was started with the --upgrade option may also produce this error.

For the complete report about this issue, see GLASSFISH-15441.

Update coordinates failure with enable-security-admin (7017384)

Description

The asadmin update-admin-server-coordinates subcommand fails if secure-admin is enabled.

Workaround

Either disable secure-admin, or use the --adminport option with the update-admin-server-coordinates subcommand to explicitly set the port you want to use.

For more information, see enable-secure-admin(1).

Man page for list-supported-cipher-suites (15998)

Description

The example in the man page for the list-supported-cipher-suites subcommand lists the Kerberos cipher (*_KRB5_*) suites, but the Kerberos suites are not supported in GlassFish Server 3.1.

Workaround

None. This is a documentation error. Kerberos cipher suites are not supported in GlassFish Server 3.1.

Description of create-jacc-provider references JSR196 but the command has nothing to do with JSR196 and JAAS (15999)

Description

The subcommand description in create-jacc-provider man page references JSR196 and JAAS but the subcommand has nothing to do with those specifications. In addition, there is a typographical error in the subcommand example. Finally, the subcommand description for the delete-jacc-provider should be reworded.

Workaround

These man page errors will be corrected in the next GlassFish Server release. In the meantime, note the following:

lazy-init attribute missing from admin console Edit IIOP Listener page (15975)

Description

It is not possible to set the lazy-init value for an IIOP listener from either the GlassFish Server Administration Console or the command line. Even the asadmin set command cannot be used to change the value.

Workaround

Currently, the only workaround for this issue is to edit the domain.xml file directly. For example, the domain.xml file could contain a property similar to the following:

<iiop-listener port="3700" id="orb-listener-1" address="0.0.0.0"
lazy-init="true"></iiop-listener>

In this example, the lazy-init property is enabled, and it can be disabled by changing the lazy-init value to false.

Note that lazy-init is disabled by default, so the domain.xml file could contain an iiop-listener element similar to the following:

<iiop-listener port="3700" id="orb-listener-1" address="0.0.0.0"></iiop-listener>

In this case, to enable lazy-init, you would add the following property to the iiop-listener element:

lazy-init="true"

For the complete report about this issue, see GLASSFISH-15975.

RMIConnectorStarter constructs invalid URLs with a literal IPv6 address (15937)

Description

When using GlassFish Server 3.1 on a system that uses IPv6 addressing, and there is a need to make the JMX service listen on a specific IPv6 address, and the address is specified as a literal IPv6 address, the RMIConnectorStarter class constructs an invalid URL in the start method.

For example, if your domain.xml contains the following:

<jmx-connector port="8686" address="e80::216:3eff:fe3e:4c35" security-enabled="false"
auth-realm-name="admin-realm" name="system"></jmx-connector>

The server will not open the JMX RMI port successfully and exceptions will be reported in the log file.

Workaround

The recommended workaround for this problem is to not use a literal address. Instead, define a name for the address, either in DNS or the hosts file, and then use that name as the value for the address for the JMX listener.

An alternate workaround is to enclose the address value in square braces. For example, use:

<jmx-connector port="8686" address="[e80::216:3eff:fe3e:4c35]" security-enabled="false"
auth-realm-name="admin-realm" name="system"></jmx-connector>

Caution

Caution - This issue is planned to be fixed in either a 3.1 patch or a subsequent GlassFish Server release. This alternate workaround will cause the system to operate incorrectly when the issue is fixed. The square braces will need to be removed after the fix is applied.


For the complete report about this issue, see GLASSFISH-15937.

man-page-review umbrella issue (15929)

Description

During the final GlassFish Server 3.1 development phase, fixes were made to a number of man pages after the man pages had already been localized. For users of non-EN locales, these corrections will not appear in the man pages, but are correctly displayed in the Oracle GlassFish Server 3.1-3.1.1 Reference Manual.

This is an umbrella issue that includes the following man page review issues:

Workaround

The correct man pages are displayed in GlassFish Server distributions for the EN locale, and will be available for all locales in GlassFish Server 3.2. In the meantime, users of non-EN 3.1 locales should refer to the Oracle GlassFish Server 3.1-3.1.1 Reference Manual for the latest subcommand usage instructions.

For the complete report about this issue, see GLASSFISH-15929.

[UB]Release note security permissions required for CDI applications (15456)

Description

It is necessary to grant additional permissions to CDI-enabled Java EE applications that are deployed in a GlassFish Server 3.1 domain or cluster for which security manager is enabled. These additional permissions are not required when security manager is disabled.

Workaround

To deploy CDI-enabled Java EE applications in a GlassFish Server 3.1 domain or cluster for which security manager is enabled, add the following permissions to the applications:

grant codeBase "file:${com.sun.aas.instanceRoot}/applications/[ApplicationName]" {
 permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};

For example, for a CDI application named foo.war, add the following permissions to the server.policy file, restart the domain or cluster, and then deploy and use the application.

grant codeBase "file:${com.sun.aas.instanceRoot}/applications/foo" {
 permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
}; 

See Changing Permissions for an Application in Oracle GlassFish Server 3.1 Application Development Guide for instructions on modifying application permissions. See Enabling and Disabling the Security Manager in Oracle GlassFish Server 3.1 Application Development Guide for instructions on enabling and disabling security manager. For the complete report about this issue, see GLASSFISH-15456.

build 40 : list-jmsdest for cluster1 not working, it just hangs

Description

Listing JMS physical destinations causes the DAS to hang if the MQ Broker for the instance is not started. This issue occurs in both the Administration Console and when using the asadmin list-jmsdest subcommand.

Workaround

All JMS destination subcommands, including list-jmsdest, create-jmsdest, delete-jmsdest, and flush-jmsdest requires the MQ broker for the instance to be running. For more information, see the Oracle GlassFish Server Message Queue 4.5 Release Notes.

Create Resource Adapter Config is throwing an exception if JMS is already started (15571)

Description

Creating a JMSRA resource adapter configuration and setting the thread pool to http-thread-pool generates an exception in the server.log.

Workaround

GlassFish Server 3.1 provides Grizzly-based and ORB-based thread pool implementations. By default, the create-resource-adapter-config subcommand takes a thread-pool ID parameter that is based on an ORB thread pool. When a thread-pool is initialized, the ORB thread pool manager verifies that the thread-pool is not already being used by the Grizzly thread pool manager. The thread-pool is initialized only if Grizzly is not already using the configuration.

For more information, see Chapter 15, Administering the Object Request Broker (ORB), in Oracle GlassFish Server 3.1 Administration Guide. For the complete report about this issue, see GLASSFISH-15571.

[Release Note]Samples. at ant all output was seen URL for samples that don't have a web client (12264)

Description

When running the GlassFish Server sample files, the output generated by the ant all command displays deployment URLs even for applications that do not have a Web client. For example, the criteriaQuery and hello-jaxws2.2 sample applications do not have a Web client, but ant all still generates deploy-url messages for them, similar to the following:

Application deployed at htt://localhost:8080/criteriaQuery
Application deployed at htt://localhost:8080/hello-jaxws2.2
Workaround

This is a simple message string error, and does not affect the functionality of the samples. Ignore this message for applications that do not have a Web client and corresponding URL.

For the complete report about this issue, see GLASSFISH-12264.

Domain.xml: setting protocol.http-listener-1.http.max-connections set in 1 or -1 (16025)

Description

The man page for the create-transport man page states the following for the --maxconnectionscount option:

The maximum number of connections for the network listener that references this transport. A value of -1 specifies no limit. The default value is 4096.

However, because of a GlassFish Server bug, setting the --maxconnectionscount value to -1 disables keep-alive for the connection.

Workaround

Use the following values for --maxconnectionscount:

-1

Currently does not correctly set the --maxconnectionscount to unlimited. Instead, specify some big number, up to Integer.MAX_VALUE.

1

Process one keep-alive request, and then close the connection after processing the second request on the same connection.

0

Disable keep-alive for the connection

For more information, see Timeout in Oracle GlassFish Server 3.1 Performance Tuning Guide. For the complete report about this issue, see GLASSFISH-16025.

Intermittent issue : Left tree not refreshed when new elements are added/removed in IE and firefox (15997)

Description

When running the GlassFish Server Administration Console in some versions of Internet Explorer and Firefox, the node tree on the left side of the Administration Console is not always updated correctly when new elements are added to the server configuration. For example, the node tree may not update correctly after adding a new JDBC Pool, resource, or virtual server. This issue is not consistently reproducible and is very intermittent.

Workaround

Reload the Administration Console by pressing the Home button or the browser's reload button to update the values in the node tree.

For the complete report about this issue, see GLASSFISH-15997.

[UB][regression] jpaRLCreateEMF failure on sybase (15763)

Description

When using the DataDirect driver with Sybase, inserting an entity that uses GenerationType.IDENTITY will fail. The problem is that the DataDirect driver creates a stored procedure for every parameterized prepared statement.

Workaround

Set the PrepareMethod=direct property on the corresponding datasource to change the default DataDirect behavior for handling prepared statements.

For the complete report about this issue, see GLASSFISH-15763.

Admin Console: intermittent Blank Screen (15633)

Description

The Administration Console sometimes simply displays a blank screen even though the status bar in the browser window indicates that the page loading is complete. This can happen if you have been working in the Administration Console and then restart the server from the command line. This can also happen after upgrading or reinstalling GlassFish Server.

Workaround

This issue can usually be resolved by doing a Shift+Reload in your browser window. In some cases, particularly when the error occurs after a GlassFish Server upgrade or reinstallation, it may be necessary to clear your browser's cache, cookies, and active logins going back at least one day in the browser history.

For the complete report about this issue, see GLASSFISH-15633.

Caching JMS session in a session bean causes errors when invoked by a MDB when under load (15558)

Description

A stateless session bean should not save JMS connections or sessions in fields of the bean. Applications that do so may encounter errors.

Workaround

To avoid this issue, if a stateless session bean's business method requires the use of a JMS connection and session, then the business method should create the JMS connection and session, use it to send or receive messages, and then close the connection and session before returning.

For the complete report about this issue, see GLASSFISH-15558.

Domain fails to stop after console loaded (with secure admin enabled) (15482)

Description

Server fails to stop when in secure admin mode and the Administration Console has been loaded.

Workaround

This is just one of a number of issues that may occur when using a JDK version lower than 1.6.0_22. Ensure that you are using JDK 1.6.0_22 or later. See Hardware and Software Requirements for complete information about GlassFish Server 3.1 JDK requirements.

For the complete report about this issue, see GLASSFISH-15482.

Modifying keyfile path in a newly created config does not properly list the users (15429)

Description

If an asadmin set subcommand is executed to change a realm-property for a realm that is already loaded (perhaps due to an earlier CLI command targeted at the realm), then the realm continues to behave as if the set subcommand was not executed.

Workaround

Restart GlassFish Server after using a set subcommand to change a property for a realm that has already been loaded.

For the complete report about this issue, see GLASSFISH-15429.

[BigApps] [STRESS] ~17 occurences of "EOFException" warnings coming from JMS (15424)

Description

Very occasionally, WARNING messages that state "java.io.EOFException: Trying to read 72 bytes. Already read 0 bytes" may be observed in the server log.

Workaround

If no other messages or exceptions are logged at the same time in either the server or broker logs these messages may be ignored.

For the complete report about this issue, see GLASSFISH-15424.

Mysql ping fails when additional properties are not deleted (14547)

Description

Performing a MySQL ping after setting nonstandard for mysql-pool, the following error message is displayed:

Ping failed Exception - Access denied to execute this method : 
setLargeRowSizeThreshold Please check the server.log for more details.
Workaround

Only set the standard documented properties for mysql-pool. These properties are as follows:

For more information, see Configuration Specifics for JDBC Drivers in Oracle GlassFish Server 3.1 Administration Guide. For the complete report about this issue, see GLASSFISH-14547.

If TS resource had been changed, tables are not created after server restart (13873)

Description

If an EJB Timer resource is changed after the EJB Timer Service is started on a previous resource, the EJB Timer table is not created after a server restart.

Workaround

The DAS must be restarted if any automatic timers are to be deployed. In addition, unless the EJB Timer table is created manually, the domain-dir/generated/ejb-timer-service-app marker file also needs to be removed.

For the complete report about this issue, see GLASSFISH-13873.

GlassFish/Grizzly not able to accept new request if a remote client hangs (6963818)

Description

When closing an idle or expired connection, Grizzly waits a period of time, called the linger time, for any pending data transmission to complete. If the client on the connection is not network accessible, GlassFish Server might appear to hang.

Workaround

Add the following JVM option to the configuration:

-Dcom.sun.enterprise.web.connector.grizzly.linger=-1

restore-domain from a config only backup will corrupt the domain directory (7026114)

Description

When a domain is restored using a configuration-only backup, the contents of the domain's config directory are restored but the other contents of the directory are lost, thus corrupting the domain.

Workaround

Perform the following steps to restore a domain directory from a configuration-only backup.

The domain name to be restored in this example is named domain1. The configuration is restored to a temporary directory named /tmp/domain1. Once the configuration is restored, the old configuration is moved aside and the restored configuration is copied from the temporary directory to the domain directory.

  1. Create a temporary directory to hold the restored configuration files for the domain.

    For example:

    mkdir /tmp/domain1
  2. Restore the domain.

    asadmin restore-domain --backupdir /tmp/das-backups --domaindir /tmp domain1
  3. Stop the domain.

  4. Change to the domain directory that is actually being restored.

    cd domain-dir
  5. Rename the existing domain config directory.

    For example:

    mv config config-
  6. Copy the domain configuration from the /tmp directory into the real domain config directory.

    cp /tmp/domain1 config

JSF PhaseListener executed for each virtual host (15809)

Description

JSF 2.0 PhaseListeners are executed on each virtual server for any given request. In a multiple virtual server scenario, this means the PhaseListener is invoked multiple times, once for each VM.

The root cause of the problem, like most Mojarra-with-Virtual Server problems, is the invalidity of the assumption that there is always just one ServletContext per application per VM. In the case of N virtual servers, there are N ServletContext instances (and attendant lifecycle listener calls) per application per VM. For example, in a seven-node virtual server scenario, the PhaseListeners are invoked seven times.

Workaround

Create a custom LifecycleFactory instance that correctly handles the virtual server case. Details for doing this are provided in http://java.net/jira/secure/attachment/44826/i_gf_15809-workaround.txt.

For the complete report about this issue, see GLASSFISH-15809.

could not find Factory: javax.faces.context.FacesContextFactory (16061)

Description

JSF/Seam 3 applications intermittently fail to start, generating an error message similar to the following:

WARNING: StandardWrapperValve[FacesServlet]: PWC1382: Allocate exception 
for servlet FacesServlet
java.lang.IllegalStateException: Application was not properly initialized at 
startup, could not find Factory: javax.faces.context.FacesContextFactory

This issue may occur when a JSF application does not register the Faces Servlet in the application's web.xml file. The com.sun.faces.config.FacesInitializer will attempt to initialize the JSF Servlet, which normally works without problem, except when Seam Faces is included in the application, which also tries to initialize the Servlet. This issue is not deterministic because of the random ordering of listeners by GlassFish Server.

Workaround

Add the following code to the web.xml file for the application:

<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

For the complete report about this issue, see GLASSFISH-16061.

NullPointerException when accessing OSGi web application (15985)

Description

OSGi JSF applications appear to deploy correctly, but the first attempt to access the application through a Web browser generates a NullPointerException error. In addition, subsequent attempts to redeploy the application fail.

Workaround

This issue has been corrected in GlassFish Server 3.1.1. If using GlassFish Server 3.1, the workaround is to omit the --type osgi option when deploying the application with the asadmin deploy subcommand.

For example, the following command will generate the NullPointerException:

asadmin> deploy --type osgi --contextroot foo-web /foo_apps/foo-web.war

The error is not generated when the --type osgi option is omitted:

asadmin> deploy --contextroot foo-web /foo_apps/foo-web.war

For the complete report about this issue, see GLASSFISH-15985.

GlassFish installer needs to prompt user to set MQ admin password (12305750)

Description

GlassFish Server Message Queue (MQ) 4.5 and GlassFish Server 3.1 are now installed together through a common installation program. Prior versions of MQ and GlassFish Server were installed separately through their own installation programs.

The older MQ installation program prompted the user to set an MQ administrator password, but the GlassFish Server 3.1 installer does not. Instead, in GlassFish Server 3.1 with MQ 4.5, the default behavior at MQ instance startup is to generate content for a file-based user repository configuration file named passwd. By default, this file-based user repository is configured as the MQ repository to be used to authenticate client connections to the broker. The default passwd file contains the following user entries:

User Name
Password
admin
admin
guest
guest

These credentials may not match those used for the GlassFish Server administrator.

Workaround

Ideally, the GlassFish Server administrator and MQ administrator should share the same user credentials because the two products are now the same. Functionality for setting the MQ administrator user name and password during product installation are planned for future versions of the GlassFish Server installer.

In the meantime, there are several post-installation workarounds, listed below, that you can perform on the MQ side with the imqusermgr User Manager utility to change or set the MQ administrator user name and password. In all cases, see User Manager Utility in Oracle GlassFish Server Message Queue 4.5 Administration Guide for more detailed information about this utility.

Known Issues in GlassFish Server 3.1 Fixed in 3.1.1

Win. Deployment with contextroot: Application [] contains no valid components (13774)

Description

On Windows, under certain very specific conditions, deploying the same or different applications using the same app name can result in unexpected errors.

To encounter this problem all of the following conditions must be true:

GlassFish Server treats the leftover file as part of the second application, even though it is not. This can cause various errors, most notably "Application [] contains no valid components."

Workaround
  1. Avoid deploying different applications using the same app name.

  2. If you need to redeploy an application but have removed a file from the app and that file remains in the applications/appName directory tree even though you redeploy the app, consider deploying the revised app using a different app name.

  3. If you see this error, restart the DAS (use the asadmin stop-domain subcommand or stop the domain using the Administration Console) and then deploy or redeploy the app.

For the complete report about this issue, see GLASSFISH-13774.

[UB]Accessing encoded URLS throws 403: Forbidden (15709)

Description

A 403: Forbidden error is displayed when browsing to an application that contains an encrypted URL and is deployed on Oracle Web Server 7 on Windows 2008.

This is not a GlassFish Server problem, but is caused by a Web Server fix that disallows URIs with a ":" value.

Workaround

Modify the obj.conf file for the Web Server, as follows:

Replace:

PathCheck fn="uri-clean"

With:

<Client type="~magnus-internal/lbplugin">
PathCheck fn="uri-clean"
</Client>

For the complete report about this issue, see GLASSFISH-15709.

injection points in one bean deployment archive cannot be satisfied by a bean in a separate bean archive, even when they are from libraries in the same module (web archive) (15721)

Description

The Bean Deployment Archive (BDA) visibility graph does not correctly implement the CDI and Java EE 6 specifications. Beans in WEB-INF/lib are made available to beans in WEB-INF/classes, but the converse is not true; that is, beans in WEB-INF/classes cannot be injected into WEB-INF/lib injection points. In addition, beans in one JAR in WEB-INF/lib cannot be injected into beans in a different JAR in the same WEB-INF/lib. According to the CDI and EE6 Platform specifications, both of these scenarios should work. This issue occurs because of the way Weld handles cyclic references among BDAs.

Workaround

This issue should be fixed in GlassFish Server 3.1.1. If using GlassFish Server 3.1, you can repackage the application such that either of the following conditions are met:

For the complete report about this issue, see GLASSFISH-15721.

Glassfish Installer does not update MQ config file (imqenv.conf) with values (15724)

Description

The GlassFish Server Installer does not update the MQ configuration file (imqenv.conf) with appropriate system values (for example, JDK_HOME directory). This would be useful when MQ is run independently from GlassFish Server.

Workaround

Manually update the imqenv.conf file (located in the MQ_HOME/etc directory). The MQ executables will use the java that is in the user's PATH. The user can also specify another Java Runtime by setting IMQ_DEFAULT_JAVAHOME in the imqenv.conf file.

For example, on Unix:

IMQ_DEFAULT_JAVAHOME=/usr/jdk/jdk1.6.0

On Windows:

IMQ_DEFAULT_JAVAHOME=c:\path\to\jdk

For the complete report about this issue, see GLASSFISH-15724.

Remote EJBs fail with ClassCastException in embeddable GlassFish (15775)

Description

This is a Thread context class loader issue. GlassFish.start() sets the context class loader to an internal class loader and does not reset it after the call is complete. As a consequence, the user's classes can no longer be loaded using the context class loader in the thread that starts the server.

Workaround

A possible workaround is to set the context class loader before looking up the remote EJB; for example:

GlassFish gf = GlassFishRuntime.bootstrap().newGlassFish();
gf.start();
gf.getDeployer().deploy(myapp);
ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
try { Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); 
new InitialContext().lookup(myEJB); } 
finally { Thread.currentThread().setContextClassLoader(oldCl); }

For the complete report about this issue, see GLASSFISH-15775.

Column APPLICATIONID is missing from bundled SQL scripts for EJB timer table creation. (15986)

Description

When creating a new EJB timer in GlassFish Server 3.1, the bundled timer table creation scripts generate corresponding .sql files that are missing the APPLICATIONID column.

The actual table for the timer is created automatically by the timer service on first deployment. The generated .sql files are for documentation purposes only, so this issue does not affect the EJB timer or the timer service in any way.

Workaround

None required. The .sql files generated by the timer creation scripts serve no direct functional purpose, but can be used as a reference point if you want to create a timer table yourself. To see the column definition as it should be, look at the corresponding .sql file for the actual timer table.

For the complete report about this issue, see GLASSFISH-15986.

create-jvm-options subcommand options incorrectly parsed by asadmin (16037)

Description

The asadmin utility is incorrectly interpreting create-jvm-options subcommand options as asadmin utility options. As a result, attempts to create a JVM option, such as -Xrs, fail; for example:

asadmin> create-jvm-options -Xrs
Non-boolean option: X, not allowed in argument: -Xrs
Usage: asadmin [-H|--host <host(default:localhost)>]
        [-p|--port <port(default:4848)>] [-u|--user <user(default:admin)>]
        [-W|--passwordfile <passwordfile>]
        [-t|--terse[=<terse(default:false)>]]
        [-s|--secure[=<secure(default:false)>]]
        [-e|--echo[=<echo(default:false)>]]
        [-I|--interactive[=<interactive(default:true)>]]
        [-?|--help[=<help(default:false)>]]
        create-jvm-options [command-specific options]
Command create-jvm-options failed.

The usage message appears to be in the style of a v2 usage message. In GlassFish Server 3.1, asadmin utility options are not provided in the usage message.

Workaround

To workaround this problem, run the create-jvm-options subcommand in single mode specifying at least one asadmin utility option. For example:

dashost$ asadmin --host dashost create-jvm-options -Xrs
Created 1 option(s)
Command create-jvm-options executed successfully.

For the complete report about this issue, see GLASSFISH-16037.

appclient in cygwin passing extra empty string (16044)

Description

Using Cygwin on Windows, the app client container (ACC) passes an extra empty-string argument to the client's main method. This might result in the app client throwing an index-out-of-range exception if the client does not guard itself against empty argument values.

Workaround
  1. If your client works with a variable number of arguments make sure that it protects itself against empty argument values.

  2. Avoid using Cygwin on Windows for clients that cannot be made to guard against an empty argument value.

For the complete report about this issue, see GLASSFISH-16044.

3.1 GlassFish installer takes longer to bootstrap Update Center than in 3.0.1 (16067)

Description

The GlassFish Server 3.1 Update Center may take significantly longer to load the first time it is launched than it did in GlassFish Server 3.0.1. This is caused by a performance regression in Update Center, not in GlassFish Server itself. This performance regression is documented in JIRA issue UPDATECENTER2-2175.

Workaround

None, although download and program loading times can be improved by bypassing any proxy servers.

You can verify that the Update Center package download process is proceeding by watching the file count in the glassfish3/.org.opensolaris,pkg/download/number directory.

For the complete report about this issue, see GLASSFISH-16067.

On Windows the first time pkg.bat or updatetool.bat is run they may echo garbage (16094)

Description

On Windows, if you do not install Update Center as part of the GlassFish Server product installation, the first time you run pkg.bat (or updatetool.bat) the scripts echo a large amount of garbage output before prompting you to continue with the Update Center installation. The Update Center installation works, but the large amount of initial garbage output may be confusing.

Workaround

No workaround is necessary. The garbage output is harmless and can be safely ignored.

For the complete report about this issue, see GLASSFISH-16094.

Admin GUI hangs on first access after installation on some Solaris Server Hardware. (16153)

Description

After installing GlassFish Server 3.1 and starting the DAS for the first time on some Solaris Server hardware, the GlassFish Server Administration Console starts to load, but then the browser screen goes blank and the browser hangs indefinitely. The only way to continue is to kill the hung prtfru process.

The problem is that during the generation of the GlassFish Server registration page, if the SolarisSystemEnvironment.getSNViaPrtfruX() method is called, and the output from the prtfru -x command is significant (for example, a large server could output over 3000 lines/150Kbytes) then the page generation will hang.

For the complete report about this issue, see KM article 1299968.1 on the My Oracle Support site.

Workaround

There are three possible workarounds for this problem:

For the complete report about this issue, see GLASSFISH-16153.

asupgrade Fails Without Internet Connection (16159)

Description

Upgrade Tool fails when trying to parse the product version in the source domain.xml file when an Internet connection is not available. This problem only occurs when using Upgrade Tool to perform a side-by-side upgrade on 2.x domain without an Internet connection.

Workaround

The workaround for this issue is as follows:

  1. Copy the older source domain to be upgraded to the new target as-install/domains directory.

    Rename the target domain1 directory, if one exists, before proceeding.

  2. Re-run the upgrade.

    asadmin> start-domain --upgrade domain-name

For the complete report about this issue, see GLASSFISH-16159.

Application info page: status not shown correctly and virtual servers changes not saved (16048)

Description

The information page for a deployed application may display incorrect information in a DAS only configuration. Specifically:

This issue only occurs on the DAS when no clusters or standalone instances have been configured.

Workaround

The issue has been fixed and will be available in future product releases. In the meantime, the following workarounds are available:

For the complete report about this issue, see GLASSFISH-16048.

Log Viewer: details garbled after navigating to earlier records, exception in server.log (16029)

Description

When viewing server log records, switching views between the DAS and another server instance may cause the view to become blank or garbled. The issue is caused by a missing logFile parameter in the URL for the detailed log screen.

Workaround

Specify the name of the log file manually in the URL for the detailed log screen. For example, an incorrect URL may read:

http://localhost:4848/common/logViewer/logEntryDetail.jsf?instanceName=server&
logLevel=INFO&logFile=&recNumber=10

If the name of the log file is server.log, you would add this as the logFile parameter in the URL:

http://localhost:4848/common/logViewer/logEntryDetail.jsf?instanceName=server&
logLevel=INFO&logFile=server.log&recNumber=10

For the complete report about this issue, see GLASSFISH-16029.

Cluster -> Resources tab: Should not include resources not included in the web distribution in the table dropdown (15925)

Description

When using the GlassFish Server Web profile distribution, the Clusters->Resources tab in the Administration Console displays a drop-down list of resources that you can create, some of which are not available for that distribution. If you try to create one of these unsupported resources when using the Web profile, an HTTP Status 404 error message will be displayed. Note that the resources are correctly displayed in the node tree on the left side of the Administration Console.

Workaround

The GlassFish Server 3.1 Web profile distribution does not contain any of the JMS or MQ components. The following resources are only available in the Full profile distribution:

To work around this issue, refresh the exception screen by clicking the cluster node in the tree or by refreshing the browser.

Firefox 4.0 does not work for the Admin Console Targeting dialogs (16385)

Description

Firefox 4.0 does not work for the Administration Console Targeting dialogs. All other Web pages display correctly.

“Targeting dialogs” refer to those dialogs in which two adjacent columns of options are displayed, one for “Available Targets” and the other for “Selected Targets.” A user can select the desired options and move them from one column to other.

For example, such a dialog can be displayed by navigating to the Resources->JDBC->JDBC Resources->resource-name->Target page and then clicking Manage Targets. The resulting Manage Resource Targets page will not be displayed correctly in Firefox 4.0. Specifically, the CSS page formatting is not rendered, leaving just plain text and no layout.

Workaround

None. This is a rendering issue in Firefox 4.0. Other browsers and earlier versions of Firefox do not exhibit this behavior.

For the complete report about this issue, see GLASSFISH-16385.

@DSD defined in EJBs bundled in a .war is not available for JPA during prepare() phase (15865)

Description

The following application configuration results in a @DataSourceDefinition not found error:

  1. A @DataSourceDefinition annotation is defined in an EJB that is bundled in a WAR file.

  2. A JPA Persistence Unit is also in the WAR file, and that JPA depends on the @DataSourceDefinition exported by the EJB.

In this configuration, the @DataSourceDefinition is not available during prepare() phase during which the JPA creates its tables. The @DataSourceDefinition is available only after deployment.

Workaround

A JPA can only perform lookups on Data Source Definitions (DSDs) for scoped applications ("java:app"). Because of this, the workaround for this issue is to define the @DataSourceDefinition in the web.xml, application.xml, or Servlet instead of defining it in the EJB.

For the complete report about this issue, see GLASSFISH-15865.