Starting Oengine server in debug mode (OEngine Server)
At 13 OCT 2021 04:16:50AM cmeyer wrote:
I have recently installed a test server running hyperV and have OI9.4.6 and OI10.1 Beta 2 running successfully.
I have the OI10 "OEngineServer v10.0 (OpenJDK)" starting successfully but having problems getting the OI9.4.6 32 bit version started.
This is the CMD response when stating in debug mode:
P:\Oinsight2021>java -jar oesocketserver.jar -d 3 Version: 3.0.0.411 - Licensed for use to CN=Revelation Software Started at 2021-10-13 19:02:13 2021-10-13 19:02:13:741 - EngineServer started on port 8080 Exception in thread "main" java.lang.UnsatisfiedLinkError: P:\Oinsight2021\revjapi.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at com.revelation.oesocketserver.OEngine.<clinit>(OEngine.java:1642) at com.revelation.oesocketserver.SocketServer.serverLoop(SocketServer.java:262) at com.revelation.oesocketserver.SocketServer.<init>(SocketServer.java:88) at com.revelation.oesocketserver.Main.main(Main.java:17)Can OEngineServer 32 bit run on an AMD platform? or is the wrong 32 bit Java loaded on the server.
Any advice would be grateful.
Chris
At 13 OCT 2021 04:41AM Richard Bright wrote:
Chris
Is java x32 in the environment search path? Or better if you are only trying to test in debug mode and want to avoid mess-up with OIv10 and x64 java, add the path to the java executable (as in C:\Program Files (x86)\…)in your java call. You can make this easier to handle by rolling this whole line into a cmd file.
R
At 13 OCT 2021 04:55AM cmeyer wrote:
This is what I have in my batch file and get the same result:
rem cmd CD C:\PBC\OINSIGHT2021 rem pause Rem java -jar oesocketserver.jar -d 3 rem "c:\Program Files (x86)\java\jre1.8.0_301\bin\java.exe" -jar oesocketserver.jar -d 3 "c:\Program Files (x86)\Common files\Oracle\Java\javapath_target_120626640\java.exe" -jar oesocketserver.jar -d 3How can I find what version of Java is running?
CHris
At 13 OCT 2021 05:27AM Richard Bright wrote:
mmm
The general approach works for me.
OK - tried first time with the command line and fail. Then looked into Services and yep - the service was running so reason for fail. Stopped the service and tried with the command line script as below - worked fine. Also tested for sanity sake by removing service - again command line worked.
and CMD file as located in OI root -
echo off
cls
"C:\Program Files (x86)\Java\jre1.8.0_221\bin\java.exe" -jar d:\master\OI9.4\OESocketServer.jar -l d:\master\OI9.4\eserver.cfg
If this is run in OI root - don't need paths for Oesocketserver.ar or eserver.cfg. Here is a verbose debug command
echo off
cls
"C:\Program Files (x86)\Java\jre1.8.0_221\bin\java.exe" -jar OESocketServer.jar -d 3
As it loads, it confirms ports it is listening on.
Richard
At 13 OCT 2021 06:14AM cmeyer wrote:
Is this an error to be concerned about?
This is some of what is the response in the DOS box.
Exception in thread "main" java.lang.UnsatisfiedLinkError: P:\Oinsight2021\revjapi.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
CHris
At 13 OCT 2021 08:13AM bshumsky wrote:
Is this an error to be concerned about?
This is some of what is the response in the DOS box.
Exception in thread "main" java.lang.UnsatisfiedLinkError: P:\Oinsight2021\revjapi.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
CHris
Hi, Chris. Yes, it's an important error and can't be ignored (if you want to run the OI 9.x engine server). It's telling us that you're running the 64bit java, not the 32bit, as required by OI 9.x. OI 10.x needs the 64bit java, and (if you selected that option) will include it into the installation, but intentionally does NOT alter your path.
So…when you're running the java commands that you're using for OI 9.x, instead of the -jar oesocketserver.jar part of the command, instead use -version (so, something like c:\program files (x86)\oracle\java\jre\bin\java -version). What does it tell you? That will let you know what version you're running, and we can verify if it's the right one when you let us know…
Thanks,
- Bryan Shumsky
At 13 OCT 2021 08:24AM cmeyer wrote:
Thanks Bryan,
Youe right, it seems to be the 64 bit version:
:\Users\CM>"c:\Program Files (x86)\Common files\Oracle\Java\javapath_target_120626640\java" -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
Where can I download the 32 bit version?
Chris
At 13 OCT 2021 08:32AM bshumsky wrote:
Thanks Bryan,
Youe right, it seems to be the 64 bit version:
:\Users\CM>"c:\Program Files (x86)\Common files\Oracle\Java\javapath_target_120626640\java" -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
Where can I download the 32 bit version?
Chris
Hi, Chris. Where did you download THIS version from? They almost certainly have a 32bit version available from the same place (though you may have to hunt around a bit to find it). You'd be looking for a Windows x86 version (rather than an x64).
Alternatively, if you'd like, you can completely uninstall the one you've got and download one from the open source community - you can get them from here. Be sure to specify you want "Windows" and "x86". You will download a full "Java development kit" (JDK) rather than just a runtime (JRE), but that's OK. Put it anywhere you like - maybe c:\java?
Note that in most cases, you will probably need to set your windows path yourself - but you're already explicitly pathing your java binary, so I don't think that's an issue.
- Bryan Shumsky
At 13 OCT 2021 08:37AM bob carten wrote:
The registry has information on the location of Java
Using Oracle Java documentation I made myself a launcher that finds the current 32 bit version and launches it.
function launch_desktop_socketserver(void) /* ** launch a socketserver for debugging ** 13 OCt 2021 rjc Created */ Declare Function registry_method * Get the java location from the registry currentVersion = "" javaHome = "" key = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment\CurrentVersion" currentVersion = registry_method('READ', key) If currentVersion != "" then key = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment\":currentVersion:"\JavaHome" javahome = registry_method('READ', key) End If javaHome != "" then * Launch the socketserver in a window cmd = javahome:'\bin\java.exe' args = '-jar oesocketserver.jar -D 3' call shellexecute(0,'Open':\00\, cmd:\00\, args:\00\, '', 1) End Else Call Msg(@window, 'Cannot find 32 bit java') End return ''
At 13 OCT 2021 09:16AM bob carten wrote:
BTW, the above scrip applies to Oracle's java.
If you follow Bryan Shumky's suggetion and use the open-source java then from here then the registry settings are not present. But you can install the open source anywhere, including in a subdirectory under openInsight. The location will not change unless you change it, so it is safe to hard code it.