When upgrading an existing Windows with-JRE installation to 4.2.0 (also with JRE), the resulting JRE breaks, preventing launching with OmegaT.exe.
When executing jre/bin/java.exe
in a broken installation, the following error is given:
Error occurred during initialization of VM java.lang.UnsatisfiedLinkError: java.io.FileInputStream.available0()I at java.io.FileInputStream.available0(Native Method) at java.io.FileInputStream.available(FileInputStream.java:306) at sun.nio.cs.StreamDecoder.inReady(StreamDecoder.java:363) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:324) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) at java.io.InputStreamReader.read(InputStreamReader.java:184) at java.io.BufferedReader.fill(BufferedReader.java:161) at java.io.BufferedReader.readLine(BufferedReader.java:324) at java.io.BufferedReader.readLine(BufferedReader.java:389) at sun.misc.MetaIndex.registerDirectory(MetaIndex.java:177) at sun.misc.Launcher$ExtClassLoader$1.run(Launcher.java:154) at sun.misc.Launcher$ExtClassLoader$1.run(Launcher.java:149) at java.security.AccessController.doPrivileged(Native Method) at sun.misc.Launcher$ExtClassLoader.createExtClassLoader(Launcher.java:148) at sun.misc.Launcher$ExtClassLoader.getExtClassLoader(Launcher.java:135) at sun.misc.Launcher.<init>(Launcher.java:68) at sun.misc.Launcher.<clinit>(Launcher.java:54) at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1451) at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1436)
Attached are results of executing dir /s .
inside C:\Program Files (x86)\OmegaT
for
To function properly, the JRE files in #2 and #3 should be the same, but in many cases they differ in file size and even in the presence of some files (the upgraded installation has files not present in the clean installation).
Diff:
This is fixed by adding a pre-install step to delete the
jre
directory; see [515492].Setup Log 2019-07-01 *.txt
are install logs (generated by running the installer with the/LOG
switch) from installing 4.1.5_04, 4.2.0, 4.3.0, 5.0.0 in sequence on top of each other. Note the entriesDeleting existing C:\Program Files (x86)\OmegaT/*
...Success
.Using an updated installer (nightly or otherwise) to upgrade an existing installation will fix it if it was broken (by replacing the bad
jre
directory with a good one).Related
Commit: [515492]
Released in 4.3.0.