Jump to content
Excelsior Forums
Sign in to follow this  
Antillious

Application Freezing

Recommended Posts

I'm using Excelsior JET 3.15 with various versions of Java and I keep coming up with the same problem with the compiled executable. After running the application for a while the app freezes and reports Not Responding. There are no error messages given, nor does a stack trace reveal anything.

I've tried recompiling with a wide variety of memory settings and have compiled used different versions of sun's JRE as well.

All aspects of the application run fine, it's just after using it for a short period of time, it freezes up. I've got all the JET RT dlls included so I know I'm not missing anything. And the app runs flawlessly if run with regular Java.

Anyone else run into freezing issues? Anything else I can try?

On a possibly unrelated note, I can't get the app to run at all if I try to force the use of the sun JRE. It throws an untracable NULL pointer exception:

java.lang.NullPointerException

     at java.lang.Throwable.fillInStackTrace(Unknown Source)

     at java.lang.Throwable.<unknown>(Unknown Source)

     at java.lang.Exception.<unknown>(Unknown Source)

     at java.lang.RuntimeException.<unknown>(Unknown Source)

     at java.lang.NullPointerException.<init>(Unknown Source)

Any help would be appriciated.

Share this post


Link to post
Share on other sites

Antillious ,

I got the same problem as you have experienced.  However the "freezing location" is consistent each time in our application and it has no problem in the java version as well.

Share this post


Link to post
Share on other sites

Our problem is fairly consistant. It happens during the same action but at random times. Ie, you can successfully perform the action (in this case switching out a panel and replacing it with a new one, fully laden with components) multiple times. Then at some point, you do the exact same action one more time, and it freezes up.

It just screams AWT. I'm looking at SWT at the moment as a possible fix, but our project is very large and the switch over would require a significant overhaul at the 11th hour. Too much for a "just try it and see".

Are there any additional debug options for Excelsior besides the stack trace one?

Share this post


Link to post
Share on other sites

I wonder if it only happens to large applications.  I've tried a few small applications and there weren't any problems.  However, once I tried on our application, I got those "freezing" problems.  Our application is fairly large too.  The compiled executable is about 20M.

Share this post


Link to post
Share on other sites

Ok. I think I found the issue, at least for our case.

Excelsior doesn't seem to like direct calls to System.gc

We were manipulating large images in our app and were regularily calling System.gc to free up memory (our regular deploy was using JRE 1.1.8 ). I stripped out those calls and things seem to be running smoothly.

I guess we're supposed to let Exclesior handle all the memory issues, we'll probably slide the GC ratio up a bit just to be safe.

Share this post


Link to post
Share on other sites

Antillious, you make a good point.

However, is this a bug or something that excelsior can fix it?  If it really because of system.gc(), the compiler should be able to pick it up and ignore that statement or map it to other instructions instead.

Our application uses other open source .jar libraries so we can't really remove all the system.gc() from those compiled jar.

Share this post


Link to post
Share on other sites

I have also noticed the same thing.  However, I only needed to remove System.gc on my (user defined) threads.  All calls to System.gc on the main application thread behaved just fine.

Share this post


Link to post
Share on other sites

We need an example of the incorrect work to fix the problem. Could someone send us the information required to reproduce the problem - jars, project file and the instruction of how to freeze the application (which actions one should perform).

Please send it to our Support Dept at java@excelsior-usa.com.

Thanks.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×