
[[common-troubleshooting]]
= Troubleshooting
:doctype: book

This chapter explains how to debug test failures that you could
encounter as you run the Jakarta Platform, Enterprise Edition Compatibility
Test Suite.

[[common-tck-problems-and-resolutions]]
== Common TCK Problems and Resolutions

This section lists common problems that you may encounter as you run the Jakarta Platform, Enterprise Edition Test Compatibility Kit software on the Jakarta Platform, Enterprise Edition CI, Eclipse {glassfish_version}, and other implementations. It also proposes resolutions for the problems, where applicable.


* Problem: +
When you start the Jakarta Platform, Enterprise Edition CI, Eclipse {glassfish_version} on
Windows by using the `javaee -verbose` command, the system may not find
the specified path and could display one of the following errors:
+
[source,bash]
----
"Verify that JAVA_HOME is set correctly"
"Verify that JAKARTAEE_HOME is set correctly"
----
Resolution: +
Set `JAVA_HOME` to the path where the version of Java being used was
installed and set `JAKARTAEE_HOME` to the location of the Jakarta Platform, Enterprise Edition installation directory.

* Problem: +
When running the Jakarta Persistence TCK tests you see an error log message containing:
+
[source,bash]
----
LogFileProcessor setup failed
Please verify that the property log.file.location exists in ts.jte

SVR: Log file not found, using default location:/tmp/JPALog.xml
Log File : /tmp/JPALog.xml does not exists
SVR-ERROR: Check permissions for log file
SVR-ERROR: See User guide for Configuring log file permissions
----
Resolution: +
You may have the `log.file.location` set in the ts.jte file, but if your Jakarta Persistence integration eagerly loads the testcase custom persistence provider, it may do so before the `log.file.location` property is set by the TCK harness code. To resolve this issue, you can set the `log.file.location` system property in your server configuration so the JVM has this property set before a test deployment is processed.

* Problem: +
When running signature tests you see the test has failed, but there is no indication as to why.
+
Resolution: +
The signature test driver uses a `java.lang.System.Logger`. Since the tests runs in a deployment, the failure messages
are logged via the servers log configuration. If you prefer to see the failure reason with the assertion failure,
simply add a console handler/appender to your logging configuration.

[[tck-javatest-problem]]
* Problem: +
When running the Jakarta Platform, Enterprise Edition TCK tests you see an error log message containing:
[source,bash]
----
[ERROR]   Client2PmservletTest » Validation DeploymentScenario contains a target (tck-javatest) not matching any defined Container in the registry.
Possible causes are: None of the 1 Containers are marked as default or you have defined a @Deployment with a @TargetsContainer of value (tck-javatest) that does not match any found/configured Containers (tck-appclient), see arquillian.xml container@qualifier
----
Resolution: +
As mentioned in <<arquillian-container-configuration>>, you will need to configuration your Arquillian container configuration to setup one of the Arquillian protocols used in the TCK. If you run a set of tests using the wrong Arquillian protocol, you will see this error. For this `Client2PmservletTest` in the error, an execution configuration that specifies the `tck-javatest` protocol is required. You would need to look at the <<failsafe-plugin-javatest>> section for an example of how to configure the `tck-javatest` protocol.

[NOTE]
====
Further details behind this can be found in this platform-tck issue: https://github.com/jakartaee/platform-tck/issues/2138
====

[[support]]
== Support

Jakarta EE is a community sponsored and community supported project. If you need additional assistance, you can reach out to the specific developer community. You will find the list of all Eclipse EE4J projects at `https://projects.eclipse.org/projects/ee4j`. All the sub-projects are listed. Each project page has details regarding how to contact their developer community.

For Jakarta EE TCK specific issues, you can reach out to the Jakarta EE TCK project team via the resources listed at `https://projects.eclipse.org/projects/ee4j.jakartaee-tck`.
