Though we put a lot of efforts in testing, the last bug in Excelsior JET is yet to be found. If you encountered a bug in the JET Optimizer, or if it crashed while compiling your application, please do the following:
Unrecoverable errors are those preventing the program from further execution, that is, the errors (crashes) which cannot be handled.
A known example is access violation that occurs when reading/writing memory at an address to which no memory page was mapped or transferring control to such a region. If a JET-compiled application runs into the problem, the Runtime prints TRAP#3 message and execution abnormally terminates.
Of course, it should never happen in a pure Java application but, unfortunately, it may happen due to:
Often, the errors are volatile, that is, hardly reproducible. To address the problem, the JET Runtime includes a special diagnostic facility. If an unrecoverable error occurs, the Runtime collects various information about the application state, logs it into a file, and prints the error message referencing that file.
Properties may be set at compile time using the JETVMPROP equation or at launch time using the JETVMPROP environment variable. See Java system properties for details.
Resolution: Use resource packing.
Reason: Application’s heap size is set to adaptive, and there is not enough available physical memory on the system, or the explicit setting is too low.
Resolution: Adjust the application’s heap size setting:
SET JETVMPROP=-Djet.gc.heaplimit:90m MyApp
More information on memory management settings of the JET Runtime may be found in Memory management.
Reason: Your application runs too many threads.
Resolution: Reduce thread stack size:
jc MyApp.jar -stacklimit=100000
The default value of STACKLIMIT may be inspected by running jc in the EQUATIONS submode:
See Chapter Deployment automation for information on deployment of the compiled applications.
Excelsior JET is not able to create a single all-inclusive executable that can be deployed to target machines by simply copying. Instead, JET offers the following deployment options:
See Chapter Deployment automation for information on JET deployment automation facilities.
If you are interested in creating single executables for reasons other than deployment, please fill out the form at
and describe your requirements for that feature.