blob: a2ad951a35e0adb0c82f2998c3b82dca5a753efd [file] [log] [blame]
type=page
status=published
title=Specific Issues
next=faqs.html
prev=overview.html
~~~~~~
Specific Issues
===============
[[GSTSG00003]][[abgbj]]
[[specific-issues]]
2 Specific Issues
-----------------
This chapter lists problems that you might encounter when using Oracle
GlassFish Server 4.0. The following topics are addressed:
* link:#abgca[Cannot Access Local Server (`http://localhost:8080`)]
* link:#abgcf[Cannot Access Remote Server]
* link:#abgcm[Cannot Access the Administration Console]
* link:#abgcw[Cannot Access a Server Application]
* link:#gjjoz[Administrator User Name or Password Not Known]
* link:#gjjpj[Experience Issues Related to the JDK]
* link:#abgdi[Server Will Not Start on Windows (Port Conflict)]
* link:#gkvcs[GlassFish Server Fails to Start in an OpenSolaris Zone]
* link:#abgdr[Two Server Instances Bind to Same Port on Windows]
* link:#abgel[Cannot Produce a JVM Thread Dump After Server Crash]
* link:#ghvgk[Issues Related to Applications]
* link:#ghvhy[Issues Related to `asadmin`]
* link:#ghvgu[Issues Related to Installation]
* link:#ghvrh[Issues Related to Security]
[[abgca]][[GSTSG00043]][[cannot-access-local-server-httplocalhost8080]]
Cannot Access Local Server (`http://localhost:8080`)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When this error occurs, check the following:
* link:#abgcb[Did the Server Start?]
* link:#abgcd[Was the Server Started at the Expected Port?]
* link:#gjjpn[Is a Personal Firewall Enabled?]
[[abgcb]][[GSTSG00179]][[did-the-server-start]]
Did the Server Start?
^^^^^^^^^^^^^^^^^^^^^
[[abgcc]][[GSTSG00085]][[description]]
Description
+++++++++++
If the console window is still open, the expected message indicates that
the default domain was started successfully.
If the console window is already closed, check for messages in the log
file. This is the default location:
[source,oac_no_warn]
----
domain-dir/logs/server.log
----
If startup was successful, the expected message is similar to that on
the console, and appears at the end of the log file.
For more information about starting a domain, see
"link:../administration-guide/domains.html#GSADG00537[Starting and Stopping a Domain]" in GlassFish Server
Open Source Edition Administration Guide. To easily determine if a
domain is running, use the `asadmin list-domains` command.
[[abgcd]][[GSTSG00180]][[was-the-server-started-at-the-expected-port]]
Was the Server Started at the Expected Port?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgce]][[GSTSG00086]][[description-1]]
Description
+++++++++++
The server might be running at a different port number than expected,
either because it was intentionally installed there, or because another
server was already running on the default port when the server was
installed.
[[fxxov]][[GSTSG00024]][[to-determine-which-port-number-the-server-is-using]]
To Determine Which Port Number the Server Is Using
Follow this procedure.
1. Examine the server's configuration file: +
[source,oac_no_warn]
----
domain-dir/config/domain.xml
----
2. Find the `network-listener` element.
3. Inspect the value of the `port` attribute. +
Be sure to enter the correct port number when invoking the server. +
[width="100%",cols="<100%",]
|=======================================================================
a|
Note:
The server's default port number is `8080`, however, there are a number
of ways in which the expected value can change:
* A different port number was specified during installation.
* A previous installation exists.
|=======================================================================
[[gjjpn]][[GSTSG00181]][[is-a-personal-firewall-enabled]]
Is a Personal Firewall Enabled?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Issues might result when personal firewalls are enabled. Disable your
personal firewall and see if the server access problem still exists.
[[abgcf]][[GSTSG00044]][[cannot-access-remote-server]]
Cannot Access Remote Server
~~~~~~~~~~~~~~~~~~~~~~~~~~~
When attempting to open the start page of GlassFish Server, the initial
screen does not appear.
When this error occurs, check the following:
* link:#abgcg[Is the Server Available Locally?]
* link:#abgcj[Is the Proxy Setting Causing a Problem?]
[[abgcg]][[GSTSG00182]][[is-the-server-available-locally]]
Is the Server Available Locally?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgch]][[GSTSG00087]][[description-2]]
Description
+++++++++++
If the server cannot be accessed from the web, but it is running
locally, then the server is actually running.
[[abgci]][[GSTSG00088]][[solution]]
Solution
++++++++
Verify that the server is running locally.
[[fxxod]][[GSTSG00025]][[to-verify-that-the-server-is-running-locally]]
To Verify That the Server Is Running Locally
Follow this procedure.
1. Log on to the host where the server is running.
2. Go to the local web page. For example, if `8080` is the default
port, go to: +
[source,oac_no_warn]
----
http://localhost:8080/
----
If the start page does appear, the web connection is encountering a
problem that prevents accessing the server remotely. If the start page
does not appear, see link:#abgcb[Did the Server Start?].
[[abgcj]][[GSTSG00183]][[is-the-proxy-setting-causing-a-problem]]
Is the Proxy Setting Causing a Problem?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgck]][[GSTSG00089]][[description-3]]
Description
+++++++++++
The server should be accessible directly from the host on which it is
running (`localhost`); for example, using the default port `8080`:
[source,oac_no_warn]
----
http://localhost:8080/
----
[[abgcl]][[GSTSG00090]][[solution-1]]
Solution
++++++++
A server instance running on `localhost` might not be accessible if the
server host machine is connected to the web through a proxy. To solve
this problem, do one of the following:
* Set the browser to bypass the proxy server when accessing `localhost`.
Refer to the browser's help system for information about how to do this.
* Use the fully-qualified host name or IP address of your system; for
example: +
[source,oac_no_warn]
----
http://myhost.mydomain.com:8080/
----
* Create an entry in the system's hosts file (for example, pointing
`127.0.0.1` to `localhost`; `127.0.0.1` is not proxied).
[width="100%",cols="<100%",]
|=======================================================================
a|
Note:
To determine the host name for the `localhost` machine, type `hostname`
at the command prompt.
|=======================================================================
[[abgcm]][[GSTSG00045]][[cannot-access-the-administration-console]]
Cannot Access the Administration Console
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Administration Console provides a graphical interface for
administrative functions. If the Administration Console is not
accessible, check the following:
* link:#abgcn[Is the Application Server Running?]
* link:#abgcq[Is the Administration Console Running on the Expected
Port?]
For more information about the Administration Console, see
"link:../administration-guide/overview.html#GSADG00698[Administration Console]" in GlassFish Server Open
Source Edition Administration Guide.
[[abgcn]][[GSTSG00184]][[is-the-application-server-running]]
Is the Application Server Running?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgco]][[GSTSG00091]][[description-4]]
Description
+++++++++++
The server must be running before the Administration Console can be
accessed.
[[abgcp]][[GSTSG00092]][[solution-2]]
Solution
++++++++
Review the information in link:#abgcb[Did the Server Start?] to
determine if the server is running.
[[abgcq]][[GSTSG00185]][[is-the-administration-console-running-on-the-expected-port]]
Is the Administration Console Running on the Expected Port?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgcr]][[GSTSG00093]][[description-5]]
Description
+++++++++++
The default port number for the Administration Console is `4848`.
However, it could be running on a different port number than expected,
either because it was intentionally installed there, or because that
port was in use when the server was started.
[[abgcs]][[GSTSG00094]][[solution-3]]
Solution
++++++++
Refer to link:#abgcd[Was the Server Started at the Expected Port?] for
guidelines on verifying the port on which the Administration Console is
running. Be sure to enter the correct port number and HTTP protocol when
invoking the Administration Console.
[[abgcw]][[GSTSG00046]][[cannot-access-a-server-application]]
Cannot Access a Server Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If a particular application cannot be accessed through GlassFish Server,
check the following:
* link:#abgcx[Is the Application Server Running?]
* link:#abgda[Was Application Deployment Successful?]
[[abgcx]][[GSTSG00186]][[is-the-application-server-running-1]]
Is the Application Server Running?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgcy]][[GSTSG00095]][[description-6]]
Description
+++++++++++
If GlassFish Server is not running, applications are not accessible.
[[abgcz]][[GSTSG00096]][[solution-4]]
Solution
++++++++
Review the information in link:#abgcb[Did the Server Start?] to
determine if the server is running. The server must be running before a
server application can be accessed.
[[abgda]][[GSTSG00187]][[was-application-deployment-successful]]
Was Application Deployment Successful?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgdb]][[GSTSG00097]][[description-7]]
Description
+++++++++++
An application must be successfully deployed before it can be accessed.
[[abgdc]][[GSTSG00098]][[solution-5]]
Solution
++++++++
Verify that the application was successfully deployed. There are several
ways to do this:
* Check the server's log file for related entries: +
[source,oac_no_warn]
----
domain-dir/server.log
----
* Use the `asadmin list-applications` command to determine which
applications are deployed.
* View the Applications page in the Administration Console, accessed by
clicking the Applications node.
For more information about deploying applications, see
"link:../application-deployment-guide/deploying-applications.html#GSDPG00004[Deploying Applications]" in GlassFish Server Open
Source Edition Application Deployment Guide. Also see the Administration
Console online help.
[[gjjoz]][[GSTSG00047]][[administrator-user-name-or-password-not-known]]
Administrator User Name or Password Not Known
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you have forgotten the administrator user name, you can find it by
inspecting the domain-dir`/config/admin-keyfile` file, where domain-dir
is the directory for the domain. In the default domain, `domain1`, the
file to inspect is domain-dir`/config/admin-keyfile`. For a different
domain, substitute its name in the path.
If you have forgotten the administrator password, one solution is to
create a new domain with the admin username and password that you want,
then copy the entry from the `config/admin-keyfile` file in that new
domain to the other domain.
[[gjjpj]][[GSTSG00048]][[experience-issues-related-to-the-jdk]]
Experience Issues Related to the JDK
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[gjjpl]][[GSTSG00188]][[description-8]]
Description
^^^^^^^^^^^
You experience JDK-related issues in a variety of circumstances.
[[gjjop]][[GSTSG00189]][[solution-6]]
Solution
^^^^^^^^
GlassFish Server 4.0 requires JDK 6, so check your system for that
dependency.
The minimum (and certified) version of the JDK software that is required
for GlassFish Server depends on the operating system:
* For supported operating systems except Mac OS, the minimum required
version is 1.6.0_17.
* For the Mac OS X operating system, the minimum required version is
1.6.0_15.
Ensure that the required JDK software is installed and that the
`JAVA_HOME` environment variable points to the JDK installation
directory, not the Java Runtime Environment (JRE) software.
Set `JAVA_HOME` and `$JAVA_HOME/bin` in the `PATH` to point to the
supported JDK version.
[[abgdi]][[GSTSG00049]][[server-will-not-start-on-windows-port-conflict]]
Server Will Not Start on Windows (Port Conflict)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If a message similar to the following is displayed when starting
GlassFish Server on Microsoft Windows, a server port conflict has
occurred:
[source,oac_no_warn]
----
Address already in use
----
This error occurs when another application is running on the GlassFish
Server port (default `8080`), or because a previous instance of
GlassFish Server did not shut down cleanly.
You might also check the following:
* link:#abgdj[Is Another Application Running on the Server's Port?]
* link:#abgdk[Has an Ungraceful Shutdown Occurred on a Previously
Running Server?]
[[abgdj]][[GSTSG00190]][[is-another-application-running-on-the-servers-port]]
Is Another Application Running on the Server's Port?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If another application is using the server's port, stop the other
application, then restart GlassFish Server.
[[abgdk]][[GSTSG00191]][[has-an-ungraceful-shutdown-occurred-on-a-previously-running-server]]
Has an Ungraceful Shutdown Occurred on a Previously Running Server?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Use the `asadmin stop-domain` command to stop the server, or explicitly
kill the Java process and then restart GlassFish Server.
[[gkvcs]][[GSTSG00050]][[glassfish-server-fails-to-start-in-an-opensolaris-zone]]
GlassFish Server Fails to Start in an OpenSolaris Zone
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[gkvcx]][[GSTSG00192]][[description-9]]
Description
^^^^^^^^^^^
If GlassFish Server is installed in an OpenSolaris zone, an attempt to
start a domain might fail with the following error message:
[source,oac_no_warn]
----
Waiting for DAS to start ..Error starting domain: domain.
The server exited prematurely with exit code 6.
Before it died, it produced the following output:
UTF ERROR ["../../../src/solaris/instrument/EncodingSupport_md.c":66]:
Failed to complete iconv_open() setup
----
The failure occurs because, by default, an OpenSolaris zone is installed
without language and encoding support, which GlassFish Server requires.
[[gkvdf]][[GSTSG00026]][[resolution-to-enable-glassfish-server-to-run-in-an-opensolaris-zone]]
Resolution: To Enable GlassFish Server to Run in an OpenSolaris Zone
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1. Install the package that provides language and encoding support for
your locale. +
[source,oac_no_warn]
----
$ pkg install package-name
----
package-name::
The name of the package that provides language and encoding support
for your locale. For example, the name of the package that provides
language and encoding support for the US English locale is
`SUNWlang-enUS`.
2. Set the `LANG` environment variable to the code for your locale. +
For example, if your locale is US English, set the `LANG` environment
variable to `en_US.UTF-8`.
[[abgdr]][[GSTSG00051]][[two-server-instances-bind-to-same-port-on-windows]]
Two Server Instances Bind to Same Port on Windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[abgds]][[GSTSG00193]][[description-10]]
Description
^^^^^^^^^^^
This problem occurs on Windows XP systems with GlassFish Server
software, and is due to a known Windows security flaw rather than a
problem with GlassFish Server itself.
The problem occurs when two or more instances of GlassFish Server are
created using the same port number for the `instanceport` option; for
example:
[source,oac_no_warn]
----
asadmin create-domain -adminport 5001 options -instanceport 6001 domain
asadmin create-domain -adminport 5002 options -instanceport 6001 domain
----
When the two domains are started on a UNIX or Linux system, a port
conflict error is thrown and the second instance fails to start.
However, when the two domains are started on Windows XP, no error is
thrown, both server instances start, but only the first instance is
accessible at the specified port. When that first server instance is
subsequently shut down, the second instance then becomes accessible.
Moreover, when both instances are running, the Windows `netstat` command
only reports the first instance.
[[fxxyd]][[GSTSG00194]][[solution-7]]
Solution
^^^^^^^^
Be sure to use unique port numbers for all server instances on Windows
systems.
[[abgel]][[GSTSG00052]][[cannot-produce-a-jvm-thread-dump-after-server-crash]]
Cannot Produce a JVM Thread Dump After Server Crash
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[abgem]][[GSTSG00195]][[description-11]]
Description
^^^^^^^^^^^
If GlassFish Server crashes, the server dumps a core file and, by
default, restarts with the `-Xrs` flag, which prevents the dump of a JVM
thread dump.
[[fxxyw]][[GSTSG00196]][[solution-8]]
Solution
^^^^^^^^
[[ghylc]][[GSTSG00027]][[to-obtain-a-server-thread-dump]]
To Obtain a Server Thread Dump
++++++++++++++++++++++++++++++
Type the following command:
[source,oac_no_warn]
----
asadmin generate-jvm-report --type=thread
----
[[sthref4]]
See Also
link:../reference-manual/generate-jvm-report.html#GSRFM00138[`generate-jvm-report`(1)]
[[ghvgk]][[GSTSG00053]][[issues-related-to-applications]]
Issues Related to Applications
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[abgee]][[GSTSG00197]][[cannot-undeploy-or-redeploy-application-with-open-streams-to-jar-files-windows]]
Cannot Undeploy or Redeploy Application With Open Streams to `jar` Files
(Windows)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgef]][[GSTSG00099]][[description-12]]
Description
+++++++++++
On Windows systems, after running an application, subsequent attempts to
undeploy it or redeploy it throw exceptions about the server being
unable to delete a file or rename a directory.
On Windows systems, an application may use `getClass().getResource` or
`getResourceAsStream` methods to locate a resource inside the
application, particularly in `jar` files that are in the application or
accessible to it. If the streams remain open, subsequent attempts to
redeploy or undeploy the application can fail. In addition, the Java
runtime by default caches streams to `jar` files for performance
reasons.
[[fxxyr]][[GSTSG00100]][[solution-9]]
Solution
++++++++
Be sure to close streams opened by your applications. Also, if an
application needs to be redeployed or undeployed repeatedly, and also
needs to obtain a resource from a `jar` file using `getResource` or
`getResourceAsStream`, consider using `getClass().getResource`, which
returns a URL object, then invoke the `url.setUseCaches` method to turn
off caching for that `jar` file, and use `url.getInputStream()` to
obtain the stream.
Although turning off caching for access to the `jar` file can slow
performance, this approach does allow the application to be undeployed
or redeployed. Note also that if the `getClass().getResourceAsStream`
method is used instead, then the `jar` file in which the resource is
located is cached (this is the default Java runtime setting) and remains
open until the server is stopped.
[[gldbk]][[GSTSG00198]][[maxpermgen-exception]]
`MaxPermGen` Exception
^^^^^^^^^^^^^^^^^^^^^^
[[gldbn]][[GSTSG00101]][[description-13]]
Description
+++++++++++
Application servers such as GlassFish Server allow you to redeploy an
application without restarting the server. Simply make the change in
your source code, compile the source, and redeploy the application.
Each application is loaded using its own classloader. When you undeploy
an application, its classloader is discarded with all the classes it
loaded and is garbage collected sooner or later. However, if there's a
reference from outside an application to an object in the application
loaded by the application's classloader, that object can't be garbage
collected. The reference holds the object in memory.
The memory in the Virtual Machine is divided into a number of regions.
One of these regions is `PermGen`. It's an area of memory used to (among
other things) load class files. The size of this memory region is fixed;
it does not change when the VM is running. You can specify the size of
this region with a command line switch: `-XX:MaxPermSize`. Setting the
`-Xmx` parameter does not help: this parameter only specifies the total
heap size and does not affect the size of the `PermGen` region.
If you keep loading new classes that can't be garbage collected because
of references to them from outside the application, the VM runs out of
space in the `PermGen` region, even if there's plenty of memory
available. This is called a classloader leak. The resulting exception is
`java.lang.OutOfMemoryError: PermGen space`.
The `java.lang.String.intern()` method also allocates memory in the
`PermGen` region. If your application uses this method with strings and
holds references to these strings, thereby making garbage collection
impossible, your application may cause the same `PermGen space`
exception.
[[gldbw]][[GSTSG00102]][[solution-10]]
Solution
++++++++
Classloader leaks are difficult to diagnose. Most profilers list leaked
objects but don't highlight the ones causing classloader leaks. Most
profilers also stop tracing as soon as they reach a class object or
classloader.
One diagnostic approach involves undeploying the application and
triggering a memory dump using the JDK 6.0 `jmap` tool. Then you can use
the JDK 6.0 `jhat` tool to analyze the dump. The simplest analysis is to
list all instances of `java.lang.Class` and look for class objects that
have many instances. This is a sign that the class has been loaded
multiple times without being garbage collected.
If you're willing to modify the `jhat` code, you can perform more
refined queries. For example:
* Trace references to a classloader from all the instances of the
classes it loaded.
* Generate a list of all classloader instances that have loaded an
identical set of classes.
* Find classloader instances whose only strong-reference chains from the
root set go through instances of classes loaded by those classloaders.
These are called orphaned classloaders.
To override the original `jhat` code, put the JAR file of the modified
`jhat` code in the `lib/ext` directory of the JDK.
[[ghvhy]][[GSTSG00054]][[issues-related-to-asadmin]]
Issues Related to `asadmin`
~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[ghvhi]][[GSTSG00199]][[asadmin-start-domain-command-fails]]
`asadmin` `start-domain` Command Fails
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The command `asadmin start-domain` fails with the following error:
[source,oac_no_warn]
----
There is more than one domain...
----
[[gjkph]][[GSTSG00103]][[description-14]]
Description
+++++++++++
When issued with no arguments, the command `asadmin start-domain` fails.
This error occurs when there is more than one domain in the domains
directory, none of them is named `domain1,` and no domain is specified
with the `start-domain` command.
[[gjkoy]][[GSTSG00104]][[solution-11]]
Solution
++++++++
Specify the domain when issuing the `start-domain` command:
[source,oac_no_warn]
----
asadmin start-domain domain-name
----
For example:
[source,oac_no_warn]
----
asadmin start-domain mycustomdomain
----
[[ghvhx]][[GSTSG00200]][[cannot-stop-domain-using-asadmin-stop-domain]]
Cannot Stop Domain Using `asadmin` `stop-domain`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[ghvhl]][[GSTSG00105]][[description-15]]
Description
+++++++++++
You cannot stop the domain using the `asadmin` `stop-domain` command.
[[ghvha]][[GSTSG00106]][[solution-12]]
Solution
++++++++
Look for error messages that display in the console when you issue the
command.
Search the `server.log` file for error messages related to your
inability to stop the domain.
[[ghvgu]][[GSTSG00055]][[issues-related-to-installation]]
Issues Related to Installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[gjjnu]][[GSTSG00201]][[installation-hangs-during-update-tool-configuration]]
Installation Hangs During Update Tool Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[giqjt]][[GSTSG00107]][[description-16]]
Description
+++++++++++
Installation hangs more than five minutes during Update Tool
configuration.
[[giqle]][[GSTSG00108]][[solution-13]]
Solution
++++++++
Cancel the installation and run the installation program again, but this
time deselect the Install Update Tool check box. Update Tool can be
installed later from as-install`/bin/`. For more information about
Update Tool, see "link:../administration-guide/toc.html#GSADG00701[Update Tool]" in GlassFish Server
Open Source Edition Administration Guide. For general information about
GlassFish Serverinstallation, see the link:../installation-guide/toc.html#GSING[GlassFish Server Open
Source Edition Installation Guide].
[width="100%",cols="<100%",]
|=======================================================================
a|
Note:
Update Tool differs from Upgrade Tool, which is used to migrate the
configuration and deployed applications from an earlier version of
GlassFish Server to the current version. For more information about
Upgrade Tool and upgrading, see the link:../upgrade-guide/toc.html#GSUPG[GlassFish Server Open
Source Edition Upgrade Guide].
|=======================================================================
[[gjjob]][[GSTSG00202]][[glassfish-server-components-not-removed-during-uninstallation]]
GlassFish Server Components Not Removed During Uninstallation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[gjjoh]][[GSTSG00109]][[description-17]]
Description
+++++++++++
Not all GlassFish Server directories are automatically removed by the
uninstallation program. Some directories and files remain after
uninstalling.
[[gjjnk]][[GSTSG00110]][[solution-14]]
Solution
++++++++
Examine the remaining directories and remove any files or directories
that you do not want, including hidden directories prefixed with a dot.
It is safe to remove uninstallation and installation log files after you
have examined them.
For information related to uninstallation, see
"link:../installation-guide/uninstalling.html#GSING00003[Uninstalling GlassFish Server 3.1]" in GlassFish
Server Open Source Edition Installation Guide.
[[ghvrh]][[GSTSG00056]][[issues-related-to-security]]
Issues Related to Security
~~~~~~~~~~~~~~~~~~~~~~~~~~
[[abgjt]][[GSTSG00203]][[java.security.accesscontrolexception-access-denied-error]]
`java.security.AccessControlException`: Access Denied Error
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgju]][[GSTSG00111]][[description-18]]
Description
+++++++++++
The following error occurs from an application client, or appears in the
`server.log` file:
[source,oac_no_warn]
----
java.security.AccessControlException: access denied
(java.util.PropertyPermission name write...)
----
There is a permissions issue in the policy files. Either the
`client.policy` file for the application client or the `server.policy`
file for server side components does not have permission to set the
property.
[[fxxzk]][[GSTSG00112]][[solution-15]]
Solution
++++++++
Add the permission in `client.policy` (for the application client), or
in `server.policy` (for web modules) for the application that needs to
set the property. By default, applications only have read permission for
properties.
For example, to grant read/write permission for all files in the
codebase directory, add or append the following to `client.policy` or
`server.policy`:
[source,oac_no_warn]
----
grant codeBase "file:/.../build/sparc_SunOS/sec/-" {
permission java.util.PropertyPermission "*", "read,write";
};
----
[[abgka]][[GSTSG00204]][[mutual-authentication-not-working-with-the-application-client]]
Mutual Authentication Not Working With the Application Client
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[[abgkb]][[GSTSG00113]][[description-19]]
Description
+++++++++++
This failure can occur when the keystore and truststore properties are
not set properly.
[[fxxzu]][[GSTSG00114]][[solution-16]]
Solution
++++++++
Set the following properties on the JVM:
[source,oac_no_warn]
----
javax.net.ssl.keyStore=
<keystore-file-path>;javax.net.ssl.trustStore=<truststore-file-path>
----
To use the application client, set the environment variable `VMARGS` to
the following value:
[source,oac_no_warn]
----
-Djavax.net.ssl.keyStore=${admin.domain.dir}/${admin.domain}/config/keystore.jks
-Djavax.net.ssl.trustStore=${admin.domain.dir}/${admin.domain}/config/cacerts.jks
----