Release Notes for SunTM ONE Application Server, Enterprise Edition

Formerly known as iPlanetTM Application Server.

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

Part Number: 817-4098-10

Updated September 11, 2003 

These release notes contain important information available at the time of the Version 6.5 SP1, Maintenance Update 3 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, Enterprise Edition, 6.5 SP1 Maintenance Update 3. 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, 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/libgxagent.so
./ias/gxlib/libgxnsapi6.so
./ias/gxlib/libgxsecurity.so
./ias/gxlib/libgxorcl.so
./ias/bin/patchversion
./ias/classes/java/kfcjdk11.jar
./ias/classes/java/kadmin.jar
./ias/classes/java/buzz.jar
./ias/classes/java/jasper.jar
./ias/bin/.kas

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. Become the user who had installed the Sun ONE Application Server you want to patch.
  5. Change the working directory to the directory containing the patch.
  6. Set the environment variable GX_ROOTDIR to the directory where you have installed Sun ONE Application Server:
  7. 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

  8. Apply the Update by typing:
  9. ./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_3

    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 3, 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

  • If the installation process quits after patching some of the files, then follow these steps to restore the older files:
    1. Change the working directory to the backup_patch number directory present in your Sun ONE Application Server installation.
    2. Give execute permission to the file, unpatch
    3. Run the following command:
    4. ./unpatch

      This command will restore the files that were patched.

  • To remove the fix for Bug Id: 4819229 replace the line, $JAVA_HOME/bin/java ${JAVA_ARGS} com.kivasoft.engine.Engine $opts in kjs script, located in install_dir/ias/bin directory, over the following lines:

    ## Start fix for bug 4819229
    d_opts=""
    mod_opts=""

    for optvar in $opts
    do

    echo $optvar |grep "^-D" >/dev/null
    if [ $? -eq 0 ]
    then
    d_opts="$d_opts $optvar"
    else
    mod_opts="$mod_opts $optvar"
    fi
    done

    if [ ! -z "$d_opts" ]
    then

    JAVA_ARGS=${JAVA_ARGS}${SPACE}$d_opts
    fi

    $JAVA_HOME/bin/java ${JAVA_ARGS} com.kivasoft.engine.Engine $mod_opts
    ## End fix for bug 4819229

  • If you are running Rich clients, after uninstalling the patch, make sure to copy the older install_dir/ias/classes/java/iasacc.jar file to the directory where the Rich client is installed.

Special Instructions

  • New EJBC option

    In this Maintenace Update 3 release, a new option, called -newjavac, has been made available for iPlanet Enterprise Java BeansTM Compiler (ejbc). The -newjavac option will invoke a new ejbc shipped with JDK 1.3.1. ejbc will use the old Java compiler by default to provide backward compatibility.

    The two Java compilers shipped with JDK 1.3.1 are:

    • The old Java compiler available in sun.tools.javac package.
    • The new Java compiler available in com.sun.tools.javac package.

    If the -newjavac option is passed to ejbc, then the new Java compiler will be used. Using the new compiler does not affect the code generation path. Except in a few corner cases, the two Java compilers are highly compatible with respect to the class files they generate. If you use the -newjavac option, ensure that you build both the client and server with the new compiler to avoid any incompatibility issues.

    Before using the new compiler, you will have to modify the existing build scripts, such as makefiles, Ant and shell scripts.

  • The following information is only applicable to customers who have reported bug #4877248. If you have reported this bug, you need to perform the following step to fix the bug:

    Set an environment variable IAS_CLONE_ATTR_LIST to yes in KJS engine runtime environment. This can be achieved by setting this variable in ias/bin/kjs script as follows:

    IAS_CLONE_ATTR_LIST=yes
    export IAS_CLONE_ATTR_LIST

  • Firewall Time-outs

    Problem:If the inactivity period of the application server exceeds the TCP/IP timeout interval of the firewall, then you need to restart the application server and web server.

    Workaround:

    1. Open the registry editor by running the command, kregedit
    2. Go to Application Server\6.5\CCSO\HTTPAPI.
    3. Enter the value for the key, KeepAliveTimeOut (in seconds), which could be equal to the default TCP/IP timeout value of the firewall, or equal to the number of seconds for the firewall to timeout.
    4. This value represents the number of seconds the plugin will wait for inactivity after the first request, and keep sending messages at the KeepAliveTimeOut interval to keep the connection between the web server plugin and KXS process of the application server alive.


Resolved Issues

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

Table 1    List of resolved issues 
 

Bug ID 

Description 

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 Problems and Limitations

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


 
ID  Summary 
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.

4828914
Problem
unpatch utility of Sun ONE Application Server 6.5 Maintenance Update 1 inadvertently uninstalls Sun ONE Application Server 6.5 SP1 Maintenance Update 3.


When you upgrade from Sun ONE Application Server 6.5 Maintenance Update 1 to Sun ONE Application Server 6.5 SP1 Maintenance Update 3, a backup directory is created for both 6.5 Maintenance Update 1(backup_1) and 6.5 SP1 Maintenance Update 3,(backup_65sp1_2).

If you run the unpatch utility from the 6.5 Maintenance Update 1(backup_1) directory, Sun ONE Application Server 6.5 SP1 Maintenance Update 3 will get uninstalled.

Workaround

To uninstall Sun ONE Application Server 6.5 Maintenance Update 1, make sure you run the unpatch utility from the backup_1) directory.
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 3.

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. �


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 © 2003 Sun Microsystems, Inc. All rights reserved.

Last Updated September 11, 2003