Cruiser-GL Windows 10 won;t start

195 views
Skip to first unread message

ewald comhaire

unread,
Sep 12, 2021, 8:17:40 AM9/12/21
to Cruiser Users
Cruiser.bat starts without problems but cruiser-gl.bat fails.
I am quite sure it worked at some point in time: older Cruiser release (there was just a defect in the rendering of certain mapsforge rendering themes) and older Windows 10 release, drivers etc.

Version info:
- Cruiser 2.0.3
- Java: Oracle OpenJDK 1.8.0_301
- Windows 10 Enterprise x64 (build 19043)
- Display HP 27s (4K display)


Tried different PC's (with just Intel 4600 Graphics, with Nvidia, with AMD graphics), 3 and different Java versions (1.8, 1.11, 1.16): no difference.
I successfully ran OpenGL Geeks3D opengl test/benchmark without issues on all 3 PC's.

Thanks in advance,
Ewald

Emux

unread,
Sep 30, 2021, 3:21:41 AM9/30/21
to cruise...@googlegroups.com
Thanks for the report.

Are the graphics drivers updated?
Have you tried with Java 11+?
Has the app folder the permissions to read its files and run?

--
Emux

Fritzle

unread,
Oct 2, 2021, 8:18:15 AM10/2/21
to Cruiser Users
Same here:

Version info:
- Cruiser 2.0.3
- Java: AdoptOpenJDK (15.0.2+7)
- Windows 10 x64 21H1 (Build 19043.1237)
- Display: Dell U2412 (1920x1200)
- Graphics: NVIDIA GeForce GT 1030 (latest driver version 472.12, September 13th 2021)

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000614819fe, pid=4328, tid=8092
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (15.0.2+7) (build 15.0.2+7)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (15.0.2+7, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [vtm-jni64.dll+0x19fe]
#

Same stack trace as reported before.

Regards,
Fritzle

Emux

unread,
Oct 2, 2021, 8:43:52 AM10/2/21
to Cruiser Users
Cruiser GL uses VTM map library.

Can you test the library desktop sample and see if it works on Windows and what might be the problem?

--

Fritzle

unread,
Oct 2, 2021, 11:12:23 AM10/2/21
to Cruiser Users
After downloading release 0.16.0I tested the desktop sample according to vtm/docs/desktop.md.
Output and log files are temporarily (next 2 weeks) available at https://www.magentacloud.de/share/miq.dcgieu#$/

- Command "gradlew :vtm-playground:run -Pargs=D:/Landkarten/OpenAndroMaps/Maps/Deutschland.map"
Console output -> run_desktop_samples - hs_err_pid1652.log
Error log -> hs_err_pid1652.log

- Command "gradlew :vtm-playground:run -Pargs=D:/Landkarten/OpenAndroMaps/Maps/Deutschland.map --debug 2>&1"
Console output -> run_desktop_samples_debug - hs_err_pid12916.log
Error log -> hs_err_pid12916.log

- Command "gradlew :vtm-playground:run -Pargs=D:/Landkarten/OpenAndroMaps/Maps/Deutschland.map --stacktrace 2>&1"
Console output -> run_desktop_samples_stacktrace - hs_err_pid440.log
Error log -> hs_err_pid440.log

Hope this will help to solve the problem. Or how else can I help?

Emux

unread,
Oct 2, 2021, 11:28:43 AM10/2/21
to Cruiser Users
Thanks for the tests.

It is better to use the latest master snapshot version of VTM.

You can create a new topic in VTM Discussions to see if other users know anything.

If you have an Intel CPU, can you test with the integrated graphics card?

Testing on Linux, the desktop app seems to work fine.

--

Fritzle

unread,
Oct 2, 2021, 11:55:32 AM10/2/21
to Cruiser Users
Same crash on a different PC with integrated Intel(R) HD Graphics 4400.

Unfortunately I am not able to run same tests with latest master snapshot:
D:\vtm\vtm-master>gradlew :vtm-playground:run -Pargs=D:/Landkarten/OpenAndroMaps/Maps/Deutschland.map

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':vtm-web-app'.
> Could not create task ':vtm-android:generateLintModuleInfo'.
   > SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at 'D:\vtm\vtm-master\local.properties'.
Seems command now tries to run Android tests on Windows desktop. Don't know who to force Windows desktop.

Fritzle

unread,
Oct 2, 2021, 12:10:34 PM10/2/21
to Cruiser Users
After removing folders vtm-app, vtm-android and vtm-android-* I was able to run test command.
-> Same crash.

Emux

unread,
Oct 2, 2021, 12:15:24 PM10/2/21
to cruise...@googlegroups.com
Can you try with a different OpenJDK build and version?
Like version 11 from another organization?

It may need update of libGDX dependencies or rebuild VTM dll,
but this is not simple work.

--
Emux

Fritzle

unread,
Oct 2, 2021, 1:08:56 PM10/2/21
to Cruiser Users
Tried with Oracle OpenJDK 11.0.1 -> no success.

D:\vtm\vtm-master>gradlew :vtm-playground:run -Pargs=D:/Landkarten/OpenAndroMaps/Maps/Deutschland.map

> Task :vtm-playground:run FAILED
Okt. 02, 2021 6:55:18 NACHM. org.oscim.gdx.GdxMap create
INFO: Type: OpenGL
Version: 4:6:0
Vendor: NVIDIA Corporation
Renderer: NVIDIA GeForce GT 1030/PCIe/SSE2

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000614819fe, pid=14032, tid=14156
#
# JRE version: OpenJDK Runtime Environment (11.0.1+13) (build 11.0.1+13)
# Java VM: OpenJDK 64-Bit Server VM (11.0.1+13, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)

# Problematic frame:
# C  [vtm-jni64.dll+0x19fe]

mtbiker

unread,
Oct 3, 2021, 7:54:34 AM10/3/21
to Cruiser Users
Hi,
same problem here.

openjdk 11.0.12 2021-07-20
OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7)
OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)

Ryzen Chipset
Windows10-64

an error log hs_err_pid3452.log is created.  the first lines of that file i attach at the end.

i work also on the "mytourbook" project.
there we use also vtm for the "2.5D" map.
Mytourbook is an Eclipse RCP project, which is based on swt framework.
with eclipse 21.6 it is running smoothly, but when we build MT with eclipse 21.9, we get the same error on windows. on linux it is running perfect.
so the project owner decided not to upgrade to eclipse 21.9.

BTW when i try to run cruiser.exe or cruisergl.exe i get: "this application requires java runtime environment 1.7.0"
"Java Home" is set correctly on my pc, this should not be the reason.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000614819fe, pid=3452, tid=16932
#
# JRE version: OpenJDK Runtime Environment Temurin-11.0.12+7 (11.0.12+7) (build 11.0.12+7)
# Java VM: OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (11.0.12+7, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)

# Problematic frame:
# C  [vtm-jni64.dll+0x19fe]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  S U M M A R Y ------------

Command Line: C:\Users\top\Desktop\cruiser\cruiser-gl.jar

Host: AMD Ryzen 5 4600H with Radeon Graphics         , 12 cores, 15G,  Windows 10 , 64 bit Build 19041 (10.0.19041.1202)
Time: Sun Oct  3 13:26:24 2021 Mitteleuropäische Sommerzeit elapsed time: 2.624451 seconds (0d 0h 0m 2s)

Emux

unread,
Oct 3, 2021, 8:08:20 AM10/3/21
to cruise...@googlegroups.com
Thanks everyone for the tests.

As I work on Linux, it is not easy to check what is happening on Windows.

It seems that VTM suddenly has problems with the latest Windows / Java?
Because it was certainly working perfectly in the past.

Can you test vtm-playground on your Windows?

--
Emux

mtbiker

unread,
Oct 3, 2021, 9:37:33 AM10/3/21
to Cruiser Users
that contains some parts of vtm(i could not get vtm complete inside eclipse)
i tested MapsforgeTest and MapilionMvtTest on eclipse with java 11

with vtm 0.13 i got that error.
with vtm 0.15 also
with vtm 0.15 and" targetCompatibility = JavaVersion.VERSION_1_8" also
with vtm 0.16 and targetCompatibility = JavaVersion.VERSION_1_8" also
with vtm 0.16 also

while developing mytourbook we have since a longer time problems to start the app from eclipse IDE.
that problem starts since we switched from java 8 to java 11.
not sure if the error message was the same.
So i developed that part on linux. after building the app it runs also on windows.
but with eclipse 21.9 as framework the build-ed version also does not run on windows 10.

a while ago, tried to switch from lwjgl:2.9.3 to lwjgl:3.2.3, but no luck to get it running.

ewald comhaire

unread,
Oct 4, 2021, 10:31:28 AM10/4/21
to Cruiser Users
In my initial email I mentioned that it was working at some point in time but could not remember which version exactly worked.
In my archives/backups, I managed to find the folder which worked since I recorded a video of my customized "elevate" render theme in GL mode on it (and discovered a bug).
It had Cruiser version 1.11.  Starting this with current Java VM's now produces the same error.
But since it worked on the same PC, I reinstalled the JAVA version which I had running at the time: 1.8.202 and guess what: it runs fine! 
Even better, it also runs fine with the latest cruiser version 2.0.3.   So the Windows OS itself, graphic cards, driver versions etc. can all be eliminate as possible root case.
It is some difference between JRE 1.8.202 and 1.8.303 that seems to trigger the failure.  I will try to narrow it down further and find the latest JAVA 1.8 version that still works.

So for everyone looking for a quick fix on Windows: install Oracle Java 1.8.202 and modify the launcher bat file to
@echo off
cd /d %~dp0
"C:\Program Files\Java\jre1.8.0_202\bin\javaw.exe" -Xmx1024M -jar cruiser-gl.jar

Hope this helps
Ewald

ewald comhaire

unread,
Oct 4, 2021, 11:41:59 AM10/4/21
to Cruiser Users
The latest working version is Java 8u251, it fails with 8u261.  The biggest change I can see is that the Visual Studio 2017 tool chain is being used versus the older Microsoft Visual C++ 2010 SP1 in older versions.
This means different runtime libraries and thus the possibility that things that worked before can now crash...
The crash seems to happen in https://github.com/microg/android_external_vtm/blob/master/vtm/src/org/oscim/renderer/GLMatrix.java (GLMatrix.set) which copies an array of 16 floats.
I am not familiar with the code and absolutely no Java expert, but I don't understand how this code works by just reading it. "pointer" is a long and the array contains 16 floats.  Then there is a FloatBuffer but I could not find the definition of it
If I had the source code I would be happy to debug this.
Ewald

Fritzle

unread,
Oct 4, 2021, 11:43:50 AM10/4/21
to Cruiser Users
Interesting observation.

I tested using Java OpenJDK Runtime Environment (build 1.8.0-292-b10) -> cruiser-gl 2.0.3 is working as well as cruiser-gl 1.11
while both versions fail with Java(TM) SE Runtime Environment (8.0_301-b09) (build 1.8.0_301-b09) or newer.

Using OpenJDK Runtime Environment (build 16.0.2+7-67) I get following stacktrace:
cruiser-2.0.3\cruiser> "$JAVA_HOME/bin/java.exe" -Xmx1024M -jar cruiser-gl.jar
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: sun/misc/Unsafe
        at org.lwjgl.MemoryUtilSun$AccessorUnsafe.getUnsafeInstance(MemoryUtilSun.java:74)
        at org.lwjgl.MemoryUtilSun$AccessorUnsafe.<init>(MemoryUtilSun.java:62)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source)
        at java.base/java.lang.reflect.ReflectAccess.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(Unknown Source)
        at java.base/java.lang.Class.newInstance(Unknown Source)
        at org.lwjgl.MemoryUtil.loadAccessor(MemoryUtil.java:375)
        at org.lwjgl.MemoryUtil.<clinit>(MemoryUtil.java:63)
        at org.lwjgl.opengl.WindowsDisplay.setTitle(WindowsDisplay.java:524)
        at org.lwjgl.opengl.Display.setTitle(Display.java:541)
        at org.lwjgl.opengl.Display.createWindow(Display.java:312)
        at org.lwjgl.opengl.Display.create(Display.java:848)
        at org.lwjgl.opengl.Display.create(Display.java:757)
        at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.createDisplayPixelFormat(LwjglGraphics.java:319)
        at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setupDisplay(LwjglGraphics.java:250)
        at com.badlogic.gdx.backends.lwjgl.LwjglCanvas.create(LwjglCanvas.java:212)
        at com.badlogic.gdx.backends.lwjgl.LwjglCanvas$1.addNotify(LwjglCanvas.java:104)
        at java.desktop/java.awt.Container.addImpl(Unknown Source)
        at java.desktop/java.awt.Container.add(Unknown Source)
        at com.badlogic.gdx.backends.lwjgl.LwjglFrame.addCanvas(LwjglFrame.java:153)
        at com.badlogic.gdx.backends.lwjgl.LwjglFrame$2.run(LwjglFrame.java:109)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.base/java.security.AccessController.doPrivileged(Unknown Source)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: sun.misc.Unsafe
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
        ... 37 more

Fritzle

Emux

unread,
Oct 4, 2021, 11:53:01 AM10/4/21
to cruise...@googlegroups.com
VTM is open source: https://github.com/mapsforge/vtm

Please test vtm-playground, it seems the source of Windows problems:
https://github.com/mapsforge/vtm/blob/master/docs/desktop.md

--
Emux

Emux

unread,
Oct 4, 2021, 12:10:11 PM10/4/21
to Cruiser Users
Can you try running it with:
java --add-modules jdk.unsupported

--

ewald comhaire

unread,
Oct 4, 2021, 5:10:31 PM10/4/21
to Cruiser Users
It took me a while to get it compiled and running.  Just Git clone and Gradle-build does not work.  I tried importing in IntelliJ IDEA community edition, but that did not work either (module issues with gradle).
Importing the project in Android studio worked right away.
Indeed, same problem with 8u301, OK with 8u251 and OpenJDK 8u292: 
Execution: "C:\Program Files\Java\jre1.8.0_301\bin\javaw.exe" -Xmx1024M -jar vtm-playground\build\libs\vtm-playground-master-SNAPSHOT-jar-with-dependencies.jar maps\Belgium_oam.osm.map
Error:
RAX=0x00000000eb5d9d88 is an oop

[error occurred during error reporting (printing register info), id 0xc0000005]

Stack: [0x0000002431d00000,0x0000002431e00000],  sp=0x0000002431dfec30,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [vtm-jni64.dll+0x19fe]
C  0x0000018125b09fae

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.oscim.renderer.GLMatrix.set(J[F)V+0
j  org.oscim.renderer.GLMatrix.set([F)V+26
j  org.oscim.map.ViewController.setViewSize(II)V+54
j  org.oscim.gdx.GdxMap.create()V+140
j  com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop()V+29
j  com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run()V+27
v  ~StubRoutines::call_stub

It would not accept the "--add-modules jdk.unsupported" for running the jar. Isn't that a compile time directive ?
Ewald

ewald comhaire

unread,
Oct 5, 2021, 7:04:25 AM10/5/21
to Cruiser Users
This morning I got both Intellij IDEA and the java debugger to work on MapsForgeTest.  While stepping to the code using Java 8u301, I noticed the debugger gave a warning that the byte code for GLMatrix.differs from the source code:
there seems to be two versions of GLMatrix.java, one in vtm-web and one in vtm with different implementation, including a different "set" implementation which is where the failure occurs.
Ewald

Emux

unread,
Oct 5, 2021, 7:27:04 AM10/5/21
to cruise...@googlegroups.com
vtm-web uses GWT and has its own requirements.
vtm-desktop and vtm-playground are independent.


I will probably include a JRE in Cruiser zip for Windows.

What JRE 8 or 11 did you find working on Windows 10?

--
Emux

Fritzle

unread,
Oct 5, 2021, 8:06:49 AM10/5/21
to Cruiser Users

Tests on my Windows 10 PC have shown:
JRE 8 Update 292 from OpenJDK Runtime Environment (build 1.8.0-292-b10) is working.
JRE 8 Update 301 and newer failing.
JRE x failing,  where x higher than 8.

Emux

unread,
Oct 5, 2021, 9:08:00 AM10/5/21
to Cruiser Users
The cruiser zip was updated:

- The *.bat files use the JRE java.exe

Can you test it?

--

ewald comhaire

unread,
Oct 5, 2021, 11:21:48 AM10/5/21
to Cruiser Users
@Emux,
Thnks for all your efforts, but it's not working. Same problem: it fails at the GLMatrix.set which uses alloc() which requires jdk.unsupported (sun.misc.Unsafe) to allocate memory outside of the JVM heap.  I think you were right a few posts above: it is due to the fact that the "jdk.unsupported" module is missing in more recent 1.8 JRE's.  
As of Java 9 this is no longer included in the JRE (documented), but available as jmods/jdk.unsupported.jmod or lib/modules in JAVA JDK.
Hence it has to be included in the build.
It's unclear to me how this dropped off from Oracle JDK 8u261+, could not find it in the release notes (https://www.oracle.com/java/technologies/javase/8u261-relnotes.html)
However, I have not been successful to add this module to a JDK 9+ build e.g. JDK13.0.2 using the "--add-modules" option (yet) :-(

Ewald

Emux

unread,
Oct 5, 2021, 11:25:52 AM10/5/21
to cruise...@googlegroups.com
The bat files are supposed to run the app with the included JRE 1.8.0-292-b10.

Unless they need some improvement, so it it does not matter what Java you have installed.

Some of you mentioned above that it works with JRE 1.8.0-292-b10.

--
Emux

mtbiker

unread,
Oct 5, 2021, 12:32:47 PM10/5/21
to Cruiser Users
i did some tests with youre "JRE" version.

the JRE i got from

275b01 -> (was) OK, started via youre new *.bat file.
282b08 -> not OK -> uninstalled
275b01 ->  strange, now also not working anymore...
now i do a reboot...

ewald comhaire

unread,
Oct 5, 2021, 12:39:21 PM10/5/21
to Cruiser Users
Thanks again for your patience...   As a HW designer my programming skills are mainly in Linux kernel drivers.

It does indeed work when running the original cruiser JAR against OpenJDK-8u292-b10 when running it as:
C:\Program Files\Java\openjdk-8u292-b10-jre\bin\javaw.exe" -Xmx1024M -jar cruiser-gl.jar

It's all still unclear to me, but from what I read about "unsupported internal functions", it's quite a mess and requires both the right compile and run-time options against the right compile/run-time JDK's.
Some refer to multi-version JAR's as the only/best way to make it ("jdk.unsupported" functions e.g. sun.misc.unsafe) work.

tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_13
targetCompatibility = JavaVersion.VERSION_13
options.compilerArgs += ["--add-modules", "jdk.unsupported"]
}
Now I get plenty of compile warnings about the use of unsupported internal functions.
However, it did not help when ran against Oracle JAVA JDK 13.0.2 or 8u301 :-(

I also doubled checked on OpenJDK-8u292-b10.  My compiled vtm-playground using "--add-modules" and compiled against JVM 13.0.2, runs fine against OpenJDK-8u292-b10 !
It is executed as:
"C:\Program Files\Java\openjdk-8u292-b10-jre\bin\javaw.exe" -Xmx1024M -jar vtm-playground\build\libs\vtm-playground-master-SNAPSHOT-jar-with-dependencies.jar maps\Belgium_oam.osm.map

So why does your version not work?
Still convinced when when we resolve the missing "jdk.unsupported" module, it's going to work fine. 

Ewald

Emux

unread,
Oct 5, 2021, 12:49:25 PM10/5/21
to cruise...@googlegroups.com
There are no plans to change VTM compile, as it has to work on Android.

We just need to find the correct JRE 8 so that the desktop can run on Windows 10.
As I have not seen any problem on Linux with Java 11.0.11+9.

Then I can include that JRE in Cruiser.

--
Emux

ewald comhaire

unread,
Oct 5, 2021, 12:52:14 PM10/5/21
to Cruiser Users
Just ran a (binary compare between my openjdk-8u292-b10-jre and your jre: they are different.
This explains why it does not work

My release file:
JAVA_VERSION="1.8.0_292"
OS_NAME="Windows"
OS_VERSION="5.2"
OS_ARCH="amd64"
SOURCE=" .:1bdaa25d5eeb corba:fa3e1caed3f0 hotspot:2a6952bb3909 jaxp:8246436d1c3b jaxws:ecdec3784f9f jdk:4eae74c62a51 langtools:e096ebc661e8 nashorn:ecf358a276e9"

Your release file:
JAVA_VERSION="1.8.0_292"
OS_NAME="Windows"
OS_VERSION="5.2"
OS_ARCH="amd64"
SOURCE=" .:OpenJDK: 008caa03f0:"
IMPLEMENTOR="AdoptOpenJDK"
BUILD_SOURCE="git:4ad15fd"
FULL_VERSION="1.8.0_292-b10"
SEMANTIC_VERSION="8.0.292+1"
BUILD_INFO="OS: Windows Server 2012 R2 Version: 6.3"
JVM_VARIANT="Hotspot"
JVM_VERSION="25.292-b10"
IMAGE_TYPE="JRE"

Ewald


Emux

unread,
Oct 5, 2021, 12:54:42 PM10/5/21
to cruise...@googlegroups.com
The OpenJDK8U-jre_x64_windows_hotspot_8u292b10.zip was downloaded from here:
https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot

Is there a better JRE zip?

--
Emux

ewald comhaire

unread,
Oct 5, 2021, 12:58:42 PM10/5/21
to Cruiser Users
I downloaded from https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jre_x64_windows_8u292b10.zip
and used 7zip to extract the "jre" directory and dropped it under C:\Program Files\Java\openjdk-8u292-b10-jre
Sorry if I did this wrong...

mtbiker

unread,
Oct 5, 2021, 1:10:20 PM10/5/21
to Cruiser Users
after reboot and reinstall adoptopenjdk  275b01 into the new JRE folder of cruiser, cruiser is still crashing.
now i downloaded jdk-8u251-windows-x64.exe from oracle and installed it in the JRE folder from cruiser and cruiser starts up fine.

even if we get it running with an integrated JRE, it does not solve the problem for other programs which are using the vtm lib

one think is strange to me:
mytourbook is running fine with vtm on  adoptopenjdk 11 as long we did not update the "eclipse framework" from 21.6 to 21.9
for me it should never work with java 11, or?

maybe someone with better programming skills than me, can test it with lwjgl:3.2.3

Emux

unread,
Oct 5, 2021, 1:10:30 PM10/5/21
to cruise...@googlegroups.com
It does not seem to be the same JRE.

openjdk8-upstream-binaries mentions:

"Not to be confused with the official AdoptOpenJDK binaries openjdk8-binaries

openjdk8-upstream-binaries are pure unaltered builds from the OpenJDK mercurial jdk8u code stream which have been built by Red Hat on behalf of the OpenJDK community jdk8u updates project."

There were problems in the past with OpenJDK or Oracle or other providers.

Anyway it is better to replace the "jre" folder inside cruiser and use its bat files,
to be certain that you test with the intended way.

So we need to search for another JRE...

--
Emux

ewald comhaire

unread,
Oct 5, 2021, 1:10:56 PM10/5/21
to Cruiser Users
If I drop my  "openjdk-8u292-b10-jre" as "jre" in your new cruiser release, it works fine.
The new cruiser happened to be on a folder with all "portable" software on my D driver, so it made sense to rule out Windows security/UAC issues (since C:\program files\ has a different security profile).
So all will be good if you release with that version and the Cruiser issue will be solved.

This has revealed however that vtm-playground no longer works on Windows for JDK9+ and/or 8u251+ (except for the OpenJDK 8u292).
But that is a different issue for which I should open a github issue.

ewald comhaire

unread,
Oct 5, 2021, 1:22:59 PM10/5/21
to Cruiser Users

Emux

unread,
Oct 5, 2021, 1:25:11 PM10/5/21
to cruise...@googlegroups.com
VTM desktop instructions mention how to switch lwjgl or lwjgl3 in vtm-playground samples.

Cruiser GL uses lwjgl as it allows more customizations.


Regarding VTM there are no plans to increase the sourceCompatibility / targetCompatibility
or complicate the build with Java 9+ modules.

Most users use VTM on Android.
There is no support from users for iOS or Web and the desktop is more for testing the library.


But as mentioned above vtm-playground works fine with new Java on Linux.
I can test it every day, so it is a problem on Windows.

--
Emux

ewald comhaire

unread,
Oct 5, 2021, 1:42:26 PM10/5/21
to Cruiser Users
Got it! 
(so far).  I wonder if the "windowsXL" and "EA" tags means something?  Extended versions maybe (which include unsupported internals)...

That version is very recent (just 14 days old) and has all the latest security fixes.. Will also be great for VTM...
Will do some stress testing on it :-).  

Ewald

ewald comhaire

unread,
Oct 5, 2021, 2:02:31 PM10/5/21
to Cruiser Users
Sorry, posted the wrong link.  The most recent working "non-upstream" AdoptOpenSDK  version that is: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b07_openj9-0.24.0-m2/OpenJDK8U-jdk_x64_windows_openj9_8u282b07_openj9-0.24.0-m2.zip.

ewald comhaire

unread,
Oct 5, 2021, 3:30:05 PM10/5/21
to Cruiser Users
After testing, the most stable/fastest version is: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u272-b09_openj9-0.23.0-m2/OpenJDK8U-jre_x64_windows_openj9_windowsXL_8u272b09_openj9-0.23.0-m2.zip
8u282-b07 crashes, often even at startup.  Strangely, the 32-bit version is stable.
  
Performance is truly impressive with a complex rendertheme. On a 4k display, 6 year old 2-core system with just Intel 4600 graphics, I can continuously zoom in/out without the slightest artifact or "white tile".  The theme related defects are gone too.
I can't even start to describe how much faster the GL rendering is versus the regular version.
Great job and thanks again for your help!

Ewald

Emux

unread,
Oct 6, 2021, 4:20:07 AM10/6/21
to cruise...@googlegroups.com
Thanks for the tests.

I updated the Cruiser zip with OpenJDK8U-jre_x64_windows_openj9_windowsXL_8u272b09_openj9-0.23.0-m2.


According to AdoptOpenJDK releases the 8u272-b09_openj9-0.23.0-m2 is a pre-release nightly build.

- Does the official release 8u272-b10 work?


Also the openj9 is Eclipse OpenJ9:
"Eclipse OpenJ9 is the VM from the Eclipse community. It is an enterprise-grade VM designed for low memory footprint and fast start-up and is used in IBM’s JDK. It is suitable for running all workloads."

- Do the regular releases work?


There is no problem including any JRE, as long as it allows Cruiser GL to run on Windows 10.

Please test on your Windows 10 and inform me if more changes are needed.

--
Emux

ewald comhaire

unread,
Oct 6, 2021, 6:30:35 AM10/6/21
to Cruiser Users
Sadly none of the "regular" versions seem to work, including  8u272-b10. I went back to https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_x64_windows_hotspot_8u222b10.zip, all failing.
My guess is that the WindowsXL/EA-based releases are characterized by the addition of the java.unsupported modules, hence why they are working, irrespective of the JAVA release version.

All I can say is that these OpenJ9 versions run Cruiser blazingly fast with just 1GB of heap on my old PC. I use several other apps like QMapShack with local (non-vector) maps and none of them come close in rendering performance!
If only I could integrate VTM-based rendering with (my customized) Elevate4 theme with QMapShack...

Cruiser has an amazing ability to create hiking/biking routes but it's a bit short on other/overall capabilities. 

Ewald 

Wolfgang

unread,
Mar 5, 2022, 4:02:34 AM3/5/22
to Cruiser Users
I created a PR https://github.com/mapsforge/vtm/pull/911 which is fixing 2 exceptions in vtm-jni64.dll like this

#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000614819fe, pid=4328, tid=8092
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (15.0.2+7) (build 15.0.2+7)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (15.0.2+7, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [vtm-jni64.dll+0x19fe]

A new vtm-jni64.dll is included in this PR

Emux

unread,
Mar 5, 2022, 7:46:12 AM3/5/22
to Cruiser Users
@Wolfgang thanks, I merged the pull request in VTM.

Now we will probably not need a JRE in Cruiser.

--
Reply all
Reply to author
Forward
Message has been deleted
0 new messages