Super Prev Next

Troubleshooting


Super Prev Next

Compilation


Super Prev Next

The JET Optimizer crashes when compiling my project

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:


Super Prev Next

Execution


Super Prev Next

Diagnostics of unrecoverable errors

Unrecoverable errors are those preventing the program from further execution, that is, the errors (crashes) that the JET Runtime cannot handle in a meaningful way.

A known example is access violation that occurs when the program attempts to access data at an address to which no memory page is mapped, or transfer control to such a region. If a JET-compiled application runs into such a problem, the Runtime prints the message "JET RUNTIME HAS DETECTED AN UNRECOVERABLE ERROR" and application execution terminates abnormally.

Of course, such problems should never occur in a pure Java application, but, unfortunately, they can and do occur in practice due to:

Furthermore, the conditions that triggered an unrecoverable error are often hard to reproduce. To alleviate 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 an error message referencing that file.


Super Prev Next

How do I suppress the console window in my GUI application?


Super Prev Next

How do I set Java system properties at the very startup of my application?

In most cases, you would set properties using the JETVMPROP equation at compile time, or using a VM options file at launch time. See VM Options for details on these and other ways to set system properties and VM options.


Super Prev Next

The compiled application cannot find resources (images, etc.)

Resolution: Use resource packing.


Super Prev Next

OutOfMemoryError is thrown during execution

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 (see Maximum heap size).

Reason: Your application runs too many threads.

Resolution: Reduce thread stack size:


Super Prev Next

Deployment


Super Prev Next

My application does not work on another system

See Chapter Deployment automation for information on deployment of the compiled applications.


Super Prev Next

How do I build my application as a single EXE file?

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 contact us via e-mail

    java@excelsior-usa.com

and describe your requirements for that feature.


Super Prev Next

How do I attach an icon to my JET-compiled executable?