Troubleshooting
Here you will find solutions to some of the most common problems related to Axon.ivy Engine. If you can't find your solution here there are some other sources which could help:
- Axon.ivy Q&A
-
The Axon.ivy Q&A contains a considerable amount of questions and answers related to Axon.ivy Designer and Engine.
- Stack Overflow
-
Problems related to common technologies like Java, JSF, Primefaces are answered on the web, e.g. on Stack Overflow.
- Support
-
You can get support via ivy@axonivy.com (support may be subject to charging, depending on your licence agreement).
If a program or engine does not start, execute it in a console and look at the console output. In most cases error messages are written to the console output giving you an idea about the problem.
If the program or engine cannot be started and in the console the following error message is written:
>Error occurred during initialization of VM Could not reserve enough space for object heap Create registry entry 'SYSTEM\CurrentControlSet\Services\EventLog\Application\AxonIvyEngineConfig Launchers' for event log if it does not exists Error: Could not initialize java virtual machine (-4)
The JVM tries to allocate memory for the Java heap, but it does not succeed. The amount of memory the JVM tries to allocate is too large for the operating system. Consequently the JVM cannot be started.
On Windows use an Ivy launch control file to set the maximum heap size to a lower value (smaller or equal to 1 GByte).
On Linux modify the AxonIvyEngine.conf script to set the maximum heap size to a lower value. The maximum heap size can be configured with the Java option -Xmx.
If the Enterprise Edition engine cannot be started and in the console the following error message is written:
Error while starting Axon.ivy Engine org.jgroups.ChannelException: failed to start protocol stack ... Caused by: java.net.SocketException: The socket name is not available on this system ...
This happens if your system supports IPv6 and you try to bind a cluster node to a IPv4 address.
Set the following java option
-Djava.net.preferIPv4Stack=true
On Windows use an Ivy launch control file. Change the line
#ivy.vm.additional.options=
to
ivy.vm.additional.options=-Djava.net.preferIPv4Stack=true
On Linux modify the serverLauncher.sh script to set java option.
If the following error message appears in the browser:
Request Entity Too Large! - The HTTP method does not allow the data transmitted, or the data volume exceeds the capacity limit.
If your Active Directory contains large user groups and dependencies among them then it may occur that single sign on for some users that are members in a lot of user groups does not work. This is because the packet size of the AJP13 protocol that is used for the communication between IIS and Axon.ivy Engine is to small to hold all the necessary security information.
The problem can be solved by increasing the packet size (default
value 8192) of the AJP13 protocol. The packet size must be configured with the same
value on the IIS and Axon.ivy Engine side. If one side is not configured to the same
size as the other, then the communication may fail. On the IIS side the packet size can
be configured in the workers.properties file by setting the worker
attribute max_packet_size
.
Example:
worker.AxonIvyEngine.max_packet_size=16384
On the Axon.ivy Engine side the packet size can be set by changing the value
of the system property WebServer.AJP.PacketSize
(See chapter System
Properties to learn about how to change a system property).
In the log the following warning appears:
Failed to generate random number within 10 seconds. This could slow down the JSF runtime dramatically. Please consider installing a secure random provider for 'SHA1PRNG'!
The Engine is running on a highly virtualized cloud host and can not provide enough random data trough hardware interrupts (e.g. keyboard input or mouse moves).
Install and run an alternative random provider like 'haveged'. See the installation instructions here https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged
If an application periodically does not answer for a couple of seconds, then the reason can be a long running full GC. Visit the chapter GC Optimization for possible solutions.