C H A P T E R  10

Troubleshooting

This chapter provides some troubleshooting hints to help you during the installation, startup, configuration, and use of the Sun ONE Studio 4 IDE.


Using the solaris_patch_installer

TABLE 10-1 describes some errors you might encounter during installation of Solaris patches using the solaris_patch_installer script.

TABLE 10-1 solaris_patch_installer Errors

Problem

Solution

The solaris_patch_installer aborted while attempting to apply one of the required Solaris patches on your system.

  1. Write down the patch ID of the last patch that the solaris_patch_installer tried to install.
  2. Obtain a newer revision of that patch from http://sunsolve.sun.com, if one is available.
  3. Install the new revision on your system using the patchadd utility. If you are unfamiliar with installing Solaris packages, contact your system administrator for assistance.
  4. Run the solaris_patch_installer again to ensure you have all the required Solaris 8 patches on your system.

Receipt of an error message similar to the following, after running the solaris_patch_installer on a newly installed Solaris 8 (update 7) environment:

# ./solaris_patch_installer

Solaris Patch Installer for J2SE, v.1.4.0
Installing 109147-14... successfully installed
Installing 108434-06...

...

Installing 108528-13... attempting to patch a package that is not installed
Installing 108652-51... successfully installed
Installing 108921-13... already applied
Installing 108940-40... successfully installed
Installing 108773-12... pkgadd failed
Cannot continue patch installation.
For more details, please look at /var/tmp/solaris_patch_installer.log

Run the solaris_patch_installer script a second time. If you continue to have problems, contact your Solaris system administrator.



Installing the Sun ONE Studio 4 IDE

TABLE 10-2 describes some errors you might encounter during the Sun ONE Studio 4 IDE installation.

TABLE 10-2 Sun ONE Studio 4 IDE Installation Errors

Problem

Solution

Receipt of the following error message while installing the Sun ONE Studio 4 IDE:
Error writing file = There may not be enough temporary disk space. Try using -is:tempdir to use a temporary directory on a partition with more disk space

Start the installer with the -is:tempdir command-line option in order to specify a directory on a disk with more free space.

For example, in a Solaris operating environment, you might type the following at the command prompt:

$ ffj_ee_solsparc_en.bin -is:tempdir temporary-directory

The Sun ONE Studio 4 installer fails and displays a message that there is not enough available disk space to use for installation. However, the filesystem you specified to use for installing the IDE has plenty of available disk space.

Determine if the filesystem you have specified is symbolically linked to another filesystem whose disk space is not recognized. For example, in a Solaris environment, /export/home has 2 GB of space and / has 100 MB. The /opt directory is symbolically linked to /export/home. If you specified /opt/s1studio as the IDE installation directory, the Sun ONE Studio 4 installer does not recognize the symbolic link to /export/home, which has 2 GB of available disk space. The installer recognizes only the / directory, which is the target directory for /opt and has only 100 MB.

To correct the problem, directly specify the filesystem with the larger available disk space. For the preceding example, specify /export/home as the installation directory.

Receipt of the following error message while installing the Sun ONE Studio 4 IDE:
Error: Could not find JVM

Start the installer with the -is:javahome command-line option, in order to guide the installer as to where the JDK is installed.

For example, in a Solaris operating environment, type the following at the command prompt:

$ ffj_ee_solsparc_en.bin -is:javahome javahome

(Solaris or Linux environments only) The Sun ONE Studio 4 installer looks like it has hung, after startup. No messages are displayed.

Ensure that you have set the DISPLAY environment variable correctly. If you are installing on your local system, the DISPLAY environment variable should be set to :0.0
If you are using a superuser (root) account or performing a remote installation, set your DISPLAY environment variable to your local system.

For example, to set the DISPLAY variable from a root account that is using a C shell, type the following in the command window you used to log into the root account:

setenv DISPLAY your-local-host:0.0.

Run the installer again from the same command window.

The Sun ONE Studio 4 IDE installer exits without installing the product. No messages are displayed.

Here are the possible causes and solutions:

  • The file you have downloaded from the Sun ONE Studio 4 product download page is not complete. Download the file again, and check that the size of the downloaded file is the same as the file size specified on the product download page. Run the IDE installer again.
  • You have specified an invalid command-line parameter in the installer.sp file. Check the file and correct any incorrect command-line parameter setting. Run the IDE installer again.
  • Run the installer launcher (<installer>.exe file or <installer>.bin file) with the option <installer>.exe/bin -is:log log.txt. Check log.txt for possible errors

The -is:tempdir command-line parameter is not working.

Ensure that you are using the correct syntax for the command-line parameter for the installer. For example, in a Solaris environment, the syntax is as follows:

ffj_ce_solsparc_en.bin -is:tempdir temporary-directory

If you have inserted the product CD on a computer running in the Solaris 7 operating environment, receipt of error message that the product is not supported for the Solaris 7 operating environment.

Sun ONE Studio 4 IDE is only supported in the Solaris 8 and 9 operating environments.

(Solaris environment only) Receipt of the following error message: Cannot find product /product.xml on your computer.

 

Stop and start volume management (vold) on the system, and run the installer again.

To stop volume management:

1. Ensure that media are not being used.

If you are not sure whether you have found all users of the media, use the fuser command.

2. Become superuser.

3. Type the volmgt stop command:

# /etc/init.d/volmgt stop

#

To restart volume management:

1. Become superuser.

2. Type the volmgt start command:

# /etc/init.d/volmgt start

volume management starting

(Solaris environment only) Not able to eject the product CD when running the installer manually. (This problem occurs when you are installing the IDE from the merged product CD. Hence, two CD-ROMs are involved in the installation.)

When running the installer manually, do not run it from within its own directory.

When you install the IDE and start it up, you create a user directory. If you install the bundled Sun ONE Application Server 7 and Sun ONE Studio 4 IDE and start it up, it looks at the registry and attempts to adjust to the modules and settings in this previously-created user directory.

Start the second installation of the IDE (the installation that is embedded in the Sun ONE Application Server 7) using the

command line and specifying a different user directory.



Starting Up the Sun ONE Studio 4 IDE

TABLE 10-3 describes some errors you might receive during startup and configuration of the newly installed Sun ONE Studio 4 IDE software.

TABLE 10-3 Sun ONE Studio 4 IDE Startup and Configuration Errors

Problem

Solution

Receipt of an error message similar to the following during the IDE startup in a supported Solaris environment:
Error: Java 2 SDK search failed to find a suitable J2SDK!

Reinstall the SDK logged in as superuser and ensure that the installation directory is on the root level.

Receipt of an error message similar to the following during the IDE startup in a supported Solaris environment:
Error: No J2SE was found at /usr/j2se/bin/java
ERROR: The following required 5.8 patches have not been installed on system "myserver": 106950-16 106327-11 106541-17

NOTE: You can download and install the J2SE[tm] and related Solaris[tm] patches from http://access1.sun.com/forte/.

Warning:Current runtime environment does not satisfy minimum requirements.

Install the J2SE, v. 1.4.0 platform on your system. For a Solaris 8 operating environment, include any necessary patches. Refer to for more information on installing this software on your system.

Receipt of the following error message after starting the IDE:
Error: Unable to load java.dll

Ensure that there is no space in the name of the directory in which you have installed the J2SE, v. 1.3.1 or v. 1.4.0 platform. (This situation exists in Solaris and Linux environments.)

Sun ONE Studio 4 IDE is not pointing to the J2SE, v. 1.4.0 platform you had specified during the IDE installation and you receive an error message similar to the following:

ERROR: The J2SE[tm] 1.2.1 found at /usr/java1.2/bin/java cannot be used by the IDE. J2SE[tm] 1.4 is recommended.
NOTE: You can download and install the J2SE[tm] and related Solaris[tm] patches from http://access1.sun.com/forte/.

Warning:Current runtime environment does not satisfy minimum requirements.

Check the Java environment variables already set prior to starting the IDE and unset them.

The values of the $JAVA_PATH and $JDK_HOME environment variables override the value of the J2SE SDK path you specified during the IDE installation. You need to unset these environment variables or use the -jdkhome command-line option when starting the IDE.

The user directory is created in the wrong location in a Microsoft Windows system.

If you have previously installed any edition of the Sun ONE Studio 4 IDE in a Microsoft Windows environment, the location of the user directory is recorded in the Microsoft Windows Registry under HKEY_CURRENT_USER/Software/Sun Microsystems, Inc./Forte for Java/EE/4.0. This value is not deleted when you uninstall the Sun ONE Studio 4 IDE. Therefore, when you install another version of the Sun ONE Studio 4 IDE, the user directory specified in a previous Sun ONE Studio 4 IDE installation is reused.

If you want to use a different location for the user directory, do the following:

  1. Uninstall the Sun ONE Studio 4 IDE.
  2. In a command window, type regedit to start the Microsoft Windows Registry editor.
  3. From the Registry editor, expand the HKEY_CURRENT_USER registry and the keys for Software/Sun Microsystems, Inc./Forte for Java/EE/4.0
  4. Right-click the UserDir value and choose Delete from the contextual menu.
  5. Install the Sun ONE Studio 4 IDE again.
  6. After installation, start the Sun ONE Studio 4 IDE and when you are prompted, specify a new location for the user directory.

(Solaris environment only) Not able to eject the product CD when running the installer manually. (This problem occurs when you are installing the IDE from the merged product CD. Hence, two CD-ROMs are involved in the installation.)

Do not attempt to run the installer from within its own directory.



Running Web Services

TABLE 10-4 describes some error messages you might get when running a web service using any of the application servers supported by the IDE.

TABLE 10-4 Errors When Running a Web Service With Any Application Server

Problem

Solution

Receipt of the following exception:

[SOAPException: faultCode=SOAP-ENV: Client; msg=Connection shutdown: JVM_recv in socket input stream read; targetException:

java.net.SocketException: Connection shutdown: JVM_recv in

socket input stream read]

The Web Context property of the web module in the J2EE application does not match the context root specified in the SOAP RPC URL property of the web service. To obtain the Web Context property of the web module:

  1. Expand the J2EE application to which the web service was added.
  2. Right-click the web module of the web service (this is the file whose name ends in _War) and choose Properties.
  3. The Web Context property is one of the properties displayed in the Properties window.

To obtain the context of the SOAP RPC URL property of the web service:

  1. Right-click the web service node and choose Properties.
  2. The SOAP RPC URL property displays a value that is similar to the following:
    http://localhost:8000/MyService/MyService

The first instance of MyService in this URL is the context root or web context. You can change it to any value of your choice, but it must match the value of the Web Context property of the web module in the J2EE application.

Receipt of the following exception:

[SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: Connection refused: connect; targetException=java.lang.IllegalArgumentException: Error opening socket: Connection refused: connect]

Changes were made to the web service, and you did not refresh the web service client that was making the call to the web service. To refresh the web service client:

  1. Right-click the web service client node to display its contextual menu.
  2. Choose Refetch WSDL. This regenerates the client proxy to reflect the changes made to the web service.

Receipt of the following exception in the IDE output window when deploying a web-centric web service:

StandardContext[/yourService]: Error configuring application listener of class

com.sun.xml.rpc.server.http.JAXRPCContextListener

java.lang.ClassNotFoundException: com.sun.xml.rpc.server.http.JAXRPCContextListener ...

 

StandardContext[/yourService]: Skipped installing application listeners due to previous error(s)

StandardContext[/yourService]: Context startup failed due to previous errors

The internal Tomcat v. 4.0.1 server cannot be used for the deployment of web-centric web services created by the Sun ONE Studio 4 update 1 IDE. Refer to for more information.



Web Services Using UDDI

TABLE 10-5 describes some error messages you might get when running a web service using UDDI.

TABLE 10-5 Errors When Running a Web Service Using UDDI

Problem

Solution

Receipt of an empty web page when viewing .wsdl files.

Many versions of the Netscape web browser do not display the .wsdl file. View the page's source file to see the actual .wsdl file.

Receipt of the following exception when searching for anything in a UDDI registry using the New Client wizard:
IllegalArgumentException

If you intend to use UDDI, you need to set the User Proxy Server name and port information when you first run the Sun ONE Studio 4 IDE. You can use either of the following to set the User Proxy Server information:

  • When you start the IDE after installation, specify the User Proxy Server name and port from the second dialog box.
  • Choose Tools right arrow Setup Wizard from the main window of the IDE and provide the User Proxy Server name and port.

You must restart the IDE for the values to take effect.

Receipt of the following exception in the registry server Tomcat output window when inquiring or publishing to the internal UDDI server:
[WARN] registry_server - -org.xmldb.api.base.XMLDBException while connecting: org.apache.xnode.XNodeException: aborting connection attempt.

A possible cause is that a previous Xindice server instance was not gracefully terminated. (On a Microsoft Windows system, you might have to restart the operating system to get rid of these server instances.)

  1. Terminate the corresponding Java processes associated with that Xindice server instance.
  2. Restart the IDE.

Always terminate the internal UDDI registry server using the following steps:

  1. Select the Runtime tab of the Explorer.
  2. Expand the UDDI Server Registry node.
  3. Right-click the Internal UDDI Registry and choose Stop Server from the contextual menu.


Using WebLogic Servers 6.1 or 7.0

TABLE 10-6 describes some error messages you might get when using WebLogic Server 6.1 or 7.0.

TABLE 10-6 Errors When Using WebLogic Server 6.1 or 7.0

Problem

Solution

WebLogic Server is unable to download its XML document definitions from the BEA web site.

If you deploy a J2EE application client to the WebLogic Server, the server must be able to download its XML document definitions from the WebLogic web site. If your connection to the web requires a proxy server, you specify this setting in the IDE before deploying an application to the WebLogic server. To set the proxy server, choose Tools right arrow Setup Wizard and specify your proxy and web browser settings in the General Sun ONE Studio 4 Settings pane of that wizard.

Receipt of error running web service application deployed to WebLogic Server: http - -no endpoint specified exception

If you are starting the WebLogic 6.1 or 7.0 server from the IDE, add the following value to the Startup Java Options property for the server instance:

-Djavaplugin.enabled=true

If you are starting the server using the WebLogic startup script, add the same value to the JAVA_OPTIONS variable.



Using J2EE Reference Implementation 1.3.1

TABLE 10-7 describes some error messages you might get when using J2EE Reference Implementation 1.3.1.

TABLE 10-7 Errors When Using J2EE Reference Implementation 1.3.1

Problem

Solution

Receipt of the following error in your browser after deploying the HelloWorld J2EE application (see ):

ERROR: The requested URL could not be retrieved. While trying to retrieve the URL: http://localhost:8000/helloTest_TestApp/dispatch.jsp the following error was encountered: Connection Failed.

If your system is behind a firewall, ensure that your browser is configured to not use proxy servers for domains beginning with localhost.

Receipt of the following error message:
org.omg.CORBA.INTERNAL: minor code: 1398079697 completed: No
...
java.lang.RuntimeException: Unable to create ORB. Possible causes include TCP/IP ports in use by another process
...
Error executing J2EE server...

This error occurs when another process is already using the 1050 listen port. You can either shut down the other process or change the port number assigned to J2EE Reference Implementation 1.3.1 to something other than 1050, for example, 11050. This error can also occur if the 1060 listen port is in use, even if the 1050 port is not in use. Do the following to correct the problem:

  1. Determine whether the 1050 port, the 1060 port, or both are in use.
  2. Change whichever port is in use. To change the 1050 port assignment, you must modify the $J2EE_HOME\config\orb.properties file. To change the 1060 port assignment, use a text editor to modify the $J2EE_HOME\setenv.bat (for Microsoft Windows systems), or $J2EE_HOME/bin/setenv.sh file (for Solaris or Linux environments).

Receipt of an error message similar to the following:
Starting web service at port:8000
Starting secure web service at
port: 7000
J2EE SDK/1.3.1
LifecycleException: null.open: java.net.BindException: Address in use: JVM_Bind
...
Error executing J2EE server...

This error occurs if either the 7000 or 8000 web server port is in use. Set the http.port or https.port properties in the $J2EE_HOME/config/web.properties file to a different web server port.

Receipt of an error message similar to the following:
Starting web service at port:8000
Starting secure web service at port:7000
J2EE SDK/1.3.1
Starting web service at port:9191
J2EE SDK/1.3.1 LifecycleException: null.open: java.net.BindException: Address in use: JVM_Bind
...
Error executing J2EE server...

This error occurs if the 9191 EJB server port is in use. Modify the $J2EE_HOME/config/ejb.properties file to use a different EJB server port.

Receipt of ClassNotFoundException when deploying an application using J2EE Reference Implementation 1.3.1.

This problem might occur if you installed the IDE to run with the Java 2 SDK, v. 1.3.1, and you started the IDE with the -jdkhome switch option set to a Java 2 SDK, v. 1.4.0 installation. Your application might compile, but you could receive the ClassNotFoundException at deployment time if you used a Java API that is specific only to Java 2 SDK, v. 1.4.0.

Note that the J2EE Reference Implementation 1.3.1 server is set to use the Java 2 SDK specified during the IDE installation and not the Java 2 SDK specified by the -jdkhome switch option.

Do one of the following to correct the problem:

  • Edit the JAVA_HOME setting in the J2EE Reference Implementation startup file to use the desired version of the Java 2 SDK. The setting is found in $J2EE_HOME/bin/userconfig.sh in Solaris and Linux environments or in the $J2EE_HOME/bin/userconfig.bat file on Microsoft Windows systems.
  • Use a comparable Java API from the Java 2 SDK, v. 1.3.1 platform.

Receipt of the following exception:
java.lang.RuntimeException: Could not initialize j2ee server

This error occurs if another application has already taken the port number that the J2EE Reference Implementation server is trying to use. You can reboot the J2EE Reference Implementation server to get the port number before the other application does, or troubleshoot the error by following these steps:

  1. Open your
    $J2EE_HOME\config\orb.properties file and make a note of the port number.
  2. Use the netstat command to see if the number is in use. For example, in a Solaris operating environment, type something similar to the following in a command window:
    netstat -a | grep port-number
  3. If the number is in use by another process, you need to change the port being used by the J2EE Reference Implementation server or by the other process. To find a free port, try running the netstat command again and remove the last couple of digits of the port-number. For example, in a Solaris environment, you might type:
    netstat -a | grep 104
    This command lists all of the 104 ports in use. If there is a number missing, change the $J2EE_HOME\config\orb.properties file to the number missing from the list.