[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] 32bit vs 64bit launcher

Gents,

Â

Any help will be much appreciated on this matter.

Â

Our firm is in the process of migrating from 32-bit to 64-bit machines, and my team is refitting our RCP app to run on 64-bit machine.

Initially our RCP app was failing to launch on 64-bit Win7, and we soon found out that using the x86_64 version of the equinox launcher solved the problem.

Â

However, we wanted to understand why we werenât able to run our app while still using the x32 equinox launcher.

We thought WOW64 should technically emulate 32-bit env and allow this library to run without problems.

To find an answer, we also looked for source code for eclipse_1310.so jar (3.6âs shared dll), but to no avail.

Â

Would you be able to shed some light on this matter kindly?

1.ÂÂÂÂÂÂÂWhat does this eclipse_1310.so do (and can we get the source code for it?)

2.ÂÂÂÂÂÂÂWhat in it makes it necessary to keep 32-bit and 64-bit versions?

Â

Jason Baik I IT - CFT Sales

Â

From:ÂBaik, Jason : Investment Bank (NYK)Â
Sent:ÂWednesday, July 16, 2014 11:20 AM
Subject:ÂTheories for why SWS is not running with 32-bit launcher

Â

Reading further, I think it can be two things:

Â

1. eclipse_1017.dll contains code that must run in kernel mode

Â

âSince WOW64 runs in user mode, all 32-bit application code must also run in user mode. This explains why 32-bit kernel mode device drivers and applications that rely on them, will not work under Windows 64-bit.â

Â

http://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm

Â

Â

2. Say eclipse_1017.dll runs entirely in user mode and can run on Win7 via WOW64. However, if the 32-bit and 64-bit eclipse_1017.dllâs have different search paths for JVMs, SWS might be failing to start due to the inability to find a JVM.

Â

âNo -vm specified

When no -vm is specified, the launcher looks for a virtual machine first in a jre directory in the root of eclipse and then on theÂsearch path. If java is found in either location, then the launcher looks for a jvm shared library (jvm.dll on Windows, libjvm.so on *nix platforms) relative to that java executable.

Â

If a jvm shared library is found the launcher loads it and uses the JNI invocation API to start the vm.

If no jvm shared library is found, the launcher executes the java launcher to start the vm in a new processâ

Â

http://help.eclipse.org/kepler/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/launcher.html

Â

Â

If #2 is true, this probably proves why thereâs no sign of JVM launching when our SWS fails on Win7.

it might be worth experimenting:

Â

1.ÂÂÂÂÂÂÂCheck Windows system logs to see if eclipse_1017.dll throws any errors

2.ÂÂÂÂÂÂÂProvide an eclipse.ini file that specifies the 32 bit JVM location explicitly and try launching.