Release Notes for SunTM ONE Application Server, Enterprise Edition

Formerly known as iPlanetTM Application Server.

Version 6.5 Service Pack 1, Maintenance Update 6 for SPARCTM/SolarisTM

Part Number: 819-0785-05

Updated October 11, 2004

These release notes contain important information available at the time of the Version 6.5 SP1, Maintenance Update 6 release of Sun ONE Application Server, Enterprise Edition.

This document contains the following sections:


Installation Notes 

This section contains information about installing Sun ONE Application Server 6.5 SP1 Enterprise Edition, Maintenance Update 6. For detailed information about installation procedures, see Sun ONE Application Server Installation Guide at Sun documentation web site.

Relevant Architecture: SPARC

Relevant Operating Systems: Solaris 2.6, Solaris 8 and 9

Files included with this patch:

./ias/gxlib/libgxbindu.so
./ias/gxlib/libgxprincipal.so
./ias/gxlib/libgxreposit.so
./ias/gxlib/libjx2thread.so
./ias/gxlib/libjx2ebfp.so
./ias/gxlib/libiASApachePlugin.so
./ias/gxlib/libgxdsync.so
./ias/gxlib/libgxdsync_failover.so
./ias/gxlib/libgxdsync_token.so
./ias/gxlib/libgxdsync_messenger.so
./ias/gxlib/libgxdsync_timeout.so
./ias/gxlib/libgxdsync_services.so
./ias/gxlib/libgxagent.so
./ias/gxlib/libgxnsapi6.so
./ias/gxlib/libgxsecurity.so
./ias/gxlib/libgxorcl.so
./ias/gxlib/libgxconn.so
./ias/gxlib/libgxutil.so
./ias/bin/.kas
./ias/bin/.kjs
./ias/bin/.kjs.memopt
./ias/bin/.kxs
./ias/bin/.kxs.memopt
./ias/bin/patchversion
./ias/bin/iascontrol
./ias/classes/java/kfcjdk11.jar
./ias/classes/java/kfcjdk11_properties.jar
./ias/classes/java/kadmin.jar
./ias/classes/java/buzz.jar
./ias/classes/java/jasper.jar
./ias/classes/java/jts.jar
./ias/usr/java/jre/lib/ext/j2eeorb.jar
./ias/kdb/en_US/gxserver.properties

Installation Instructions

  1. Ensure that all application server processes have been shutdown.
  2. Ensure that the directory server is running.
  3. If the Web server is running on the same machine as Sun ONE Application Server, then stop the Web server before installing this update.
  4. Ensure that patch 109147-26 for Solaris 8 has been applied on the machine you are running application server. This patch is available for download from http://sunsolve.sun.com
  5. Become the user who had installed the Sun ONE Application Server you want to patch.
  6. Change the working directory to the directory containing the patch.
  7. Set the environment variable GX_ROOTDIR to the directory where you have installed Sun ONE Application Server:
  8. Example: for Bourne shell

    GX_ROOTDIR=/opt/appserver/ias; export GX_ROOTDIR

    Example: for Korn shell and BASH

    export GX_ROOTDIR=/opt/appserver/ias

    Example: for C shell

    setenv GX_ROOTDIR /opt/appserver/ias

  9. Apply the Update by typing:
  10. ./applypatch

Special Install Instructions

Uninstallation Instructions

  1. Ensure that all webserver and application server processes have been shutdown.
  2. Ensure that the directory server is running.
  3. Become the user who had installed the application server installation for which you want to backout the patch.
  4. Change working directory to the directory where the backup data is saved. The backup data is saved in a directory named backup_patch number in your Sun ONE Application Server installation directory:
  5. Example: cd /opt/appserver/ias/backup_6

    Note: If the Webconnector plugin is installed on a different machine, then you must uninstall the update from the Webconnector directory as well. To restore the old files from the backup directory, follow the steps given under Uninstallation Instructions.

  6. If you want all the files in the backup directory to be removed after uninstalling Maintenance Update 6, set the REMOVE_BACKUPFILES environment variable to 1.
  7. Example: for Bourne shell

    REMOVE_BACKUPFILES=1; export REMOVE_BACKUPFILES

    Example: for Korn shell and BASH

    export REMOVE_BACKUPFILES=1

    Example: for C shell

    setenv REMOVE_BACKUPFILES 1

    Note: The presence of the backup directory does not affect the reinstallation of the same patch. However, you may want to remove the files in the backup directory to save disk space.

  8. Uninstall the Update by typing:
  9. ./unpatch

Special Uninstallation Instructions


Special Instructions


Resolved Issues

The following table lists the critical issues resolved in Sun ONE Application Server, Enterprise Edition 6.5 SP1, Maintenance Update 6 release. This list also includes bugs fixed in Maintenance Update Releases 1, 2, 3, 4, and 5.  

Table 1    List of resolved issues 
 

Bug ID 

Description 

6165314 kxs crash during QA stress test.
4952015 KJS crash at GXDSyncPrimary::DoRemoveNode.
4989429 KJS engine hangs in Dsync when IAS cluster is stopped and restarted in sequence.
4989962 KXS and KJS will crash when Dsync node dump is performed.
4990938 Web container authorization behaviour is not compliant with servlet spec.
5009277 Dsync Session/Token state not cleanup in timely fashion.
5048819 KJS hangs waiting for reply from primary KXS (but there is no replyfrom KXS).
5048832 Cluster related hang while on restart.
5048833 Application Server 6.5SP1 Maintenance Update 3 hangs due to improper usage of locks.
2049542 Problems with declarative security with Application Server 6.5 SP3
5063942 Observed KJS crash on stress with SFSB when KJS is restarted in the middle.
6152705 Host IP/Port information for primary KXS gets corrupted during failover.
2101050 KXS Core dump in Stress scenario with Application Server 6.5 Maintenance Update 3 Exception Release 3 build.
6157057 Dsync cleaner threads on backup KXS hangs with fix for 5009277.
6157391 Dsync logging cannot be enabled dynamically on KJS engines.
6157392 Memory corruption occurs during KJS startup due to logging of PID within KJS log file.
4638593 Application Server 6.0 SP4 eventLog to DB doesn't log KJS messages on startup of server.
4535796 Problems with declarative security with Application Server SP3.
5009277 Dsync Session/Token state does not cleanup in timely fashion.
4559011 Cleaning of EBStore directory where passivated bean references are stored.
4647921 Sticky cookie not set properly on JSP.
4832946 Stack overflowed thread should not be reused.
4945330 KJS coredump at GX.JNIJavaExceptionToRC.
4954632 .shtml includes not populating on the first access of the webpage.
4959496 Isolate root cause of memory corruption with iAS 6.5 SP1 MUx.
4975535 Enhance existing 6.5 Dsync logging mechanism with date time stamps and native thread id.
4979275 Connection Pool masks RunTimeException.
4979370 Global txn timeout mgr rolls back the tx instead of marking it for rollback.
4809560 Deployment issues with SQL statements that contain characters like '>' or '<'.
4953597 iAS65 has classloader issues while loading array classes.
4964179 KJS throws java.util.ConcurrentModificationException on saveSession on frame access.
4630591 Webconnector crash with 128 servletpatterntrans for one application.
4834516 Engine shutdown time is broken.
4826642 Sun ONE Application Server doesn't failover if it's stopped in a particular fashion with maxbackups=2.
4828203 TransactionTimer.rollback may cause Transaction not to be able to begin and slow.
4919346 WebPlugin RunConnection() pthread_create API use bug causing some resource leakage.
4923837 ias_has_been_authenticated should be set with certain values, instead of "".
4922415 IAS_MULTIPLE_TCPIP_INTERFACE env not read properly and bind to IP not working.
4926103 java.lang.UnsupportedOperationException when using codebase.
4752117 Deadlock in ORB.
4941468 JSP:forward throws Error: 500 SC_INTERNAL_SERVER_ERROR.
4849445 Reconstruct URL when forwarding requests between the various components of the request path.
4666151 Plugin fills the error logs with FilterLite::StreamWrite() failure messages.
4808427 Deadlock in cleanUP() and destroy() in ConnectionPool for JDBC driver.
4798957 PDF file does not load from IE browser.
4872305 KJS threads hang on PlatformNASSession.invalidate forever.
4540200 Stateful Session Bean is recycling without clearing internal content.
4836194 Hang on createSession().
4884791 KJS crashes at Java_com_kivasoft_ebfp_FPRequest_invokenative.
4878322 IP address and port of host sent to browser when appserver is down.
4846902 Application server unable to locate JSP dynamically if that JSP has been missing previously.
4854912 JSP being recompiled at each iAS startup.
4852986 Webserver crashes when a request with a malformed URL is made from the browser.
4834034 EJBC compiler spikes CPU on Win2k and freezes compile. Have to perform CTRL+C to continue.
4892620 Patchversion script dose not handle Exception Release version.
4877248 KJS crashes due to Memory corruption.
4774589 Connection Pool statistics for maxIdleTime and reclaimedTimeout connections not captured.
4805009 Java files with wrong names created from JSPs when run through the JSP precompiler.
4808387 Crash in failover code.
4820280 ksvradmin fails to start if Datasource entries are greater than 204 characters.
4819229 CXS process does not start, when using other than the default launcher while starting.
4797959 Sun ONE Application Server webconnector crashes when uploading file with wrong Content-Length Mime.
4828101 Issues with LDAP authentication.
4828267 Connection pool of Jconnect5.5 showing strange auto-commit behaviour.
4769407 Pre-compilation of JSPs not working.
4571019 Database connections cleanup not working for NAS 2.1 and C++ applogics.
4836387 Webconnector crashes when ServletName (web.xml)is longer than path.
4820534 EJB passivate() method throws a NullPointerException.
4764851 JSPC compilation issues during runtime.
4754456 HTTP response from JSPs contains offending CRLF right after HTTP header.
4770671 Request parameters are getting lost(except 1) when going to FBA login page.
4779207 Registered JSP pages fail to execute properly on 6.5 MU3.
4689007 Webconnector logs "info (5242): gxrequest.cpp:gxrequest()..."
4767997 Enable Dynamic Class Reloading check box gets unselected after restart.
4750058 Dsync Logging causes KXS to crash.
4761598 JDBC connection pool not releasing connection when an error occurs in db.
4711735 iPlanet Application Server  6.0 sp3 KJS not load sharing properly.
4754692 Request forwarding is not working when there is a space character in parameter
4735914 Struts template application is not formatting page properly.
4768799 The info for dynamic reloading of servlets is not shown in a log form in KJS.
4672041 MDB Durable Subscribers always create a new subscription.
4804086 Could not configure a durable topic from the deploytool during deployment.
4761319 KXS crashes when customer tries to retrieve any cached information.
4760264 Client Certificate Authentication fails with certificates from iCMS 4.2sp2.
4758869 Context is wrong after FBA with GET.
4762957 deploytool does not handle the editing of the deploy descriptors correctly.
4768669 When username is same as group name ias authorizes an invalid user to login (FBA).
4693651 Monitoring "Total Threads" does not work.
4794965 Urgent need for ias-web.xml server-info tags to work.
4640716 Cluster problems in DSYNC.
4783055 KXS core dumps in GXBuffer::Alloc().
4825234 KJS Hangs at saveSession.
4871079 KeepAliveTimeOut is measured in seconds.


Known Issues and Limitations

This section describes known problems and associated workarounds with Sun ONE Application Server, Enterprise Edition 6.5 SP1, Maintenance Update 6.


 
ID  Summary 
6170575 Problem
KJS crashes when creating a new EJB for an application that has many unique EJBs.

Workaround

Increase the EJB meta data cache size in ksvradmin (General > EJB tab) to greater than the number of EJBs in the whole system.

4995181 Problem
Incorrect information on session failover in Sun ONE Application Server Performance and Tuning Guide.
The Performance and Tuning Guide mentions that to enable session failover for all KJS processes in an application server instance, you should set the cluster configuration to Dsync-Local.

Setting the cluster configuration to Local will not provide session failover.

Workaround

To enable session failover for your application, set the cluster configuration to Distributed.

4816176
Problem
EJB methods that have container managed transaction attributes do not throw exceptions to caller when the underlying transaction gets rolled back because of transaction timeout.
Use the following workaround for this bug.

Workaround

Set transaction time out to a very high value. The registry key to be modified is CCS0\\TXNMGR\\Timeout. This time out value is measured in seconds and is applicable to both global and local transactions. The maximum allowable value is the result of Java expression, Integer.MAX_VALUE/1000.

4719687
Problem
Cluster entries in LDAP are not deleted after uninstallation.

Workaround

Cluster entries are not removed from LDAP, as it might effect other configurations present in the directory server. The presence of these old entries does not cause any issues regarding Application Server versions or the server's functionality.

If absolutely required, you can manually remove the old cluster entries.

4939828
Problem
The registry values of SyncTimerInterval for individual engines is incorrectly mentioned in Sun ONE Application Server 6.5 SP1 Performance and Tuning Guide.
The guide refers to the wrong registry path for the individual settings of each engine: SOFTWARE\iPlanet\Application Server\6.0\CCSO\ENG\\SyncTimerInterval.

Workaround

The correct path in the registry is \SOFTWARE\iPlanet\Application Server\6.5\Clusters\\SyncTimerInterval.
The documentation may contain other similar bugs, where the registry path may not have been updated from the iPlanet Application Server 6.0 release. In most cases, replacing 6.0 with 6.5 will give you the correct path.

4537418
Problem
SFSB failover is not supported over the RMI/IIOP path. The same session is not failed over to another KJS
4801503
Problem
Web server crashes because of missing smartheap library.
A web connector plug-in installation adds the path of the application server's libsmartheap_smp.so to the beginning of web server's LD_LIBRARY_PATH. Therefore, web server will always load the smartheap library of the application server, and crashes if this smartheap is not found.

Workaround

Ensure that the web server's LD_LIBRARY_PATH is pointing to the correct smartheap library, especially of you have uninstalled the web connector plug-in.
4874547
Problem
Version of Oracle 9i database support information is imprecise in documentation.
Sun ONE Application Server is certified with to work with Oracle 9i (9.0.1.x) database and clients. Oracle 9.2.0.1 is not supported.
4863850 Problem
Explanation of Connection Pool Sanity checking in Sun ONE Application Server is lacking details.
Additional information is provided in the Workaround.

Workaround

  • isSanityRequired. This parameter controls whether sanity checking is performed or not.
  • tableBasedSanity flag is a toggle. Therefore, the following scenarios can be used:

    • If tableBasedSanity=true, then the application server's Connection Pool will construct a select statement using the table specified by the TableName parameter and execute the statement, this is sufficient to determine if the connection is usable. Table based sanity checking is the only valid option for XA Connections.

    • If tableBasedSanity=false, then the application server's Connection Pool will attempt to toggle the Connection's autoCommit status. However, if the DataSource has been configured to use an XA Connection, then the sanity checking will not be attempted as this could impact any transaction being used over the connection.

    • If TableBasedSanity=true and TableName is not set, then the Connection Pool will try to use the table, ias_table. This table does not exist normally and would need to be created. Since no data will be returned, this table can simply consist of a single column with any supported name and database datatype, for example:

      CREATE IAS_TABLE ( dummyCol NUMBER );

4764638
Problem
Sun ONE Application Server 6.5 Release Notes does not specify the compatibility of the bundled Sun ONE Directory Server 5.0 SP1 with the operation system.
The bundled Sun ONE Directory Server 5.0 SP1 is not supported on Solaris 9, though Sun ONE Application Server 6.5 is supported on Solaris 9.

Workaround

Use Sun ONE Directory Server 5.1 SP1, which is supported on Solaris 9.
4786743
Problem
Sun ONE Directory Server 5.0 SP1 patch installation instructions are not clear.
The installation procedure is explained in the Workaround.

Workaround

Follow these instructions to install Sun ONE Directory Server 5.0 SP1 Patch on Solaris. This patch must be copied to the appropriate directory before installing Sun ONE Application Server 6.5, Enterprise Edition.

  1. Copy the contents of the product CD under the Solaris/iAS directory to a local directory on your machine. The Solaris/iAS directory contains the setup program and all dependent files required to install the application server.

  2. Copy the nsslapd.zip file from the iDS50SP1patch/Solaris directory on the product CD to the slapd directory on your machine. The slapd directory is present in the local directory to which you had copied the Sun ONE Application Server files, in step 1.

  3. Run the application server setup program from this local directory, instead of the product CD.
4763145
Problem
Sun ONE Application Server Java Programmer's Guide has incorrect DD for the welcome file list.
The guide incorrectly shows a leading /, which is contrary to Servlet 2.3 specification.

Workaround

The welcome file list should be specified according to the Servlet specifications: "The welcome file list is an ordered list of partial URLs with no trailing or leading /."
4928313
Problem
Documentation about IAS_KXS_HANG_INTERVAL in Sun ONE Application Server, Enterprise Edition Version 6.5 Service Pack 1 is incorrect.

The document incorrectly states that If the KXS thread is unable to deliver the request in this specified time, then it times-out and assigns the request to the another KJS.

The corrected documentation would read: If the KXS thread is unable to deliver the request in the specified time, the request will time-out (it will be lost and will have to be resubmitted by the client). It will not be re-routed to another KJS engine.

4816588
Problem
Precompiled JSPs requires contentType to indicate non-standard charset.
There is a change in behaviour when a JSP is compiled outside the application server runtime environment compared to when a JSP is compiled within the application server runtime on demand.

Workaround

When JSPs are compiled using command line JSP compiler, unless user uses contentType directive in the JSP to indicate the charset to be used for JSP encoding, the compiler uses the default charset (8859_1) for that JSP. This is not the case when a JSP is compiled within the application server runtime environment because in such a case if there is no contentType directive the charset for application server is used.
4735296
Problem
In a distributed environment setup for load balancing, application components are served even if the application server instance hosting the the component have been disabled.
4804948
Problem
Changing the JAVA_ARGS in iasenv.ksh does not take effect.
Procedure for using a custom JVM instead of the default JVM is not documented.

Workaround

Use the following procedure to configure Sun ONE Application Server to work with JVM Client version instead of the default server version:

  1. Change the following line in iasenv.ksh script:

    from...

    #JAVA_ARGS="-server -Xss512k -Xms128m -Xmx1024m -XX:NewSize=42m -XX:MaxNewSize=342m -XX:+DisableExplicitGC -Xconcurrentio"

    to....

    JAVA_ARGS="-client -Xss512k -Xms128m -Xmx1024m -XX:NewSize=42m -XX:MaxNewSize=342m -XX:+DisableExplicitGC -Xconcurrentio"

  2. In addition to the change in iasenv.ksh, you should also uncomment a line in the kjs script as indicated here:

    ## To bypass the application server's custom Java VM launcher, uncomment the following line:

    $JAVA_HOME/bin/java ${JAVA_ARGS} com.kivasoft.engine.Engine $opts

4878322
Problem
By default, the application server's IP address and port number will not be displayed if the application server goes down.

Workaround

To know the IP address and port number of the machine on which the application server went down, set the debug mode of webconnector plug-in to 2 or greater.
4892677, 4858315
Problem
Redeployment of an updated version of an application does not remove the contents of the previous deployment from the file system area.

In addition to leftover file system content, some of the application server registry settings are also not overwritten and/or removed as an application is redeployed.

This behavior can lead to older application settings remaining in effect after a redeploy.

Workaround

To perform a clean redeployment, first perform a remove (iasdpeloy removeapp, removemodule, etc.) followed by a deploy.

To remove unnecessary entries from the file system in a much faster way, set the registry key, Application Server\6.5\Deployment\cleanup, to true before redeploying applications.

4805318
Problem
StaticServlet does not serve internationalized document correctly.
This problem will be seen by machines that does not have LANG set (mostly English countries) and that want to serve non iso-8859-1 characters (non 7-bit characters).

Workaround

  1. Edit iasenv.ksh and set LC_ALL to proper language and character set.

    Use the format, export LC_ALL=language.charset. For example, export LC_ALL=ja_JP.PCK.

  2. Re-start the application server.

  3. Open the application in the Deployment tool.

  4. Open the Deployment Descriptor panel.

  5. Go to the NLS tab and map the required locale (in this case ja) to the charset of the HTML file.

  6. Deploy the application and access the HTML file.

4731873
Problem 
Struts templates are not handled properly in S1AS 6.5 Maintenance Update 4.

Workaround 
Use the following recommended procedure to perform the flush operation.

Change the chapterTemplate.jsp in the following manner using struts defined
attribute for template tag.

          <td><template:get name='sidebar' flush='true'/></td>
      <td><table>
                <tr><td><template:get name='header' flush='true'/></td></tr>
                <tr><td><template:get name='content' flush='true'/></td></tr>
                <tr><td><template:get name='footer' flush='true'/></td></tr>
          </table>
      </td>

The only addition here is flush='true' in every template:get tag which flushes the
buffer before every include.

4858315
Problem
Redeployment of an updated version of an application does not does not delete LDAP entries if the updated application has less registered components than previous deployments. This can leave "orphan" entries that are difficult to remove.

This behavior can lead to older application settings remaining in effect after a redeploy.

Workaround
To perform a clean redeployment, first perform a remove followed by a deploy.

4943890 
Problem
Documentation error in Sun ONE Application Server Performance and Tuning Guide.

Use the correct description mentioned under Workaround.

Workaround

In Chapter 9, "Validating Server Performance," of the English version of Performance and Tuning Guide, use SOFTWARE\iPlanet\Application Server\6.5\CCS0\HTTPAPI\NASRespTime=1 instead of SOFTWARE\iPlanet\Application Server\6.0\CCS0\HTTPAPI\NASRespTime=1.

In the Japanese version of the same document, use SOFTWARE\iPlanet\Application Server\6.5\CCS0\HTTPAPI\NASRespTime=1, instead of SOFTWARE\iPlanet\Application Server\6.0\CCS0\HTTPAPI\NASRespTime=1

4964960 
Problem
Incorrect database configuration information for IBM DB/2 in Sun ONE Application Server Administration Guide.

The Administration Guide gives the wrong path to the java classes for configuring IBM DB2. Use the correct description mentioned under Workaround.

Workaround

The path should be DB2DIR/sqlib/java12/db2java.zip and D:\SQLLIB\java12\db2java.zip instead of DB2DIR/java/db2java.zip and D:\SQLLLIB\java\db2java.zip for Solaris and Windows, respectively.

In addition, the application server class, com.iplanet.ias.jdbc.IASConnectionPoolDataSource requires the JDBC Driver Class to be specified as COM.ibm.db2.jdbc.app.DB2Driver.


Additional Information

Useful Sun ONE information can be found at the following Internet locations:

Use of Sun ONE Application Server, Enterprise Edition is subject to the terms described in the license agreement accompanying it.

Copyright © 2004 Sun Microsystems, Inc. All rights reserved.

Last Updated September 16, 2004