0

I have one really weird problem.

I have one Swing Application which we recently upgraded, that does not run at all in a Java 1.7/1.8 64bit enviroment.

More specifically, the application works perfectly in 32bit Java installations of 1.7.0_52+, but if you place it in a 64bit enviroment it does not open at all.

Running it from the console with the -verbose, the last message before it stops loading is:

[Loaded sun.awt.AWTAutoShutDown$1 from c:\Program Files\Java\jre1.8.0_65\lib\rt.jar]

There is no message in any log above that suggests an error has occured, and no exception or other message thrown. The application's java enviroment remains in memory with a cpu usage of ~40%.

What makes this wierd is that the same application runs from the same PC if I launch it via eclipse. There is only one java installation on my PC, and both the application and Eclipse use this same JDK.

I am unable to think of anything that could cause a problem, and I am at a loss. Does anyone have anyidea?

Andreas Fester
  • 34,015
  • 7
  • 86
  • 113
Spyros
  • 197
  • 3
  • 15
  • I suggest that you launch the application under debugger control, so that you can attach a remote debugger to see where it actually hangs. (see http://stackoverflow.com/a/975342/1611055). Another alternative is to dump a stack trace (http://stackoverflow.com/a/2124708/1611055) which might get you some insight to where the application hangs – Andreas Fester Dec 15 '15 at 06:22
  • Thank you, I will be trying this immediately – Spyros Dec 15 '15 at 06:33

1 Answers1

-1

The 64-bit JVM using 32-bit references can address 32+3 bits of address space as it can assume the lowest 3 bits of an objects address is 0.

Most 32-bit JVMs are limited to around 1.2-1.5 GB.

amit prasad
  • 444
  • 2
  • 14