Captain-Chaos / WorldPainter

WorldPainter is an interactive graphical map generator for the indie game Minecraft.
http://www.worldpainter.net/
GNU General Public License v3.0
341 stars 58 forks source link

Updater does not finish correctly - Linux Mint 21.2 / Ubuntu 22.04 #366

Open Stonley890 opened 6 months ago

Stonley890 commented 6 months ago

An error occurs on the last step of the Updater. The worldpainter-x.xx.x.deb is downloaded successfully.

Screenshot from 2023-11-17 22-10-02

Exception:

In group "Execute installer [Action group]" (screen "Finish [Form]"), property "Condition expression":
java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "com.install4j.api.context.InstallerContext.getVariable(String)" is null
    at com.install4j.script.I4jScript_Internal_147.eval(I4jScript_Internal_147.java:1)
    at com.install4j.script.I4jScript_Internal_147.evaluate(I4jScript_Internal_147.java:*25)
    at com.install4j.runtime.installer.helper.Script.evaluate(Script.java:33)
    at com.install4j.runtime.installer.ContextImpl.runScript(ContextImpl.java:210)
    at com.install4j.runtime.installer.ContextImpl.runScript(ContextImpl.java:204)
    at com.install4j.runtime.installer.ContextImpl.checkGroupCondition(ContextImpl.java:219)
    at com.install4j.runtime.installer.controller.Controller.executeActionGroup(Controller.java:432)
    at com.install4j.runtime.installer.controller.Controller.executeActions(Controller.java:378)
    at com.install4j.runtime.installer.controller.Controller.handleCommand(Controller.java:227)
    at com.install4j.runtime.installer.controller.Controller.start(Controller.java:129)
    at com.install4j.runtime.installer.Application.runApplication(Application.java:90)
    at com.install4j.runtime.installer.Application.lambda$runApplicationInProcess$0(Application.java:72)
    at com.install4j.runtime.launcher.util.SingleInstance.checkInProcessAndRun(SingleInstance.java:54)
    at com.install4j.runtime.installer.Application.runApplicationInProcess(Application.java:76)
    at com.install4j.runtime.installer.helper.applaunch.ApplicationLauncherImpl.lambda$launchApplicationInProcess$0(ApplicationLauncherImpl.java:64)
    at com.install4j.runtime.installer.helper.applaunch.ApplicationLauncherImpl.launchApplicationInProcess(ApplicationLauncherImpl.java:74)
    at com.install4j.api.launcher.ApplicationLauncher.launchApplicationInProcess(ApplicationLauncher.java:68)
    at org.pepsoft.worldpainter.PrivateContextImpl.checkForUpdates(PrivateContextImpl.java:41)
    at org.pepsoft.worldpainter.Main.main(Main.java:335)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
    at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:69)
    at install4j.org.pepsoft.worldpainter.Main.main(Unknown Source)

System properties:

java.specification.version=17
install4j.launcherId=67
sun.jnu.encoding=UTF-8
java.class.path=/opt/worldpainter/.install4j/i4jruntime.jar:/opt/worldpainter/.install4j/launcher61039318.jar:/opt/worldpainter/lib/WPGUI.jar:/opt/worldpainter/lib/WPCore.jar:/opt/worldpainter/lib/Utils.jar:/opt/worldpainter/lib/SwingUtils.jar:/opt/worldpainter/lib/JNBT.jar:/opt/worldpainter/lib/WPValueObjects.jar:/opt/worldpainter/lib/WPPrivateContext.jar:/opt/worldpainter/lib/WPJava9Support.jar:/opt/worldpainter/lib/jpen.jar:/opt/worldpainter/lib/jide-common.jar:/opt/worldpainter/lib/jide-dock.jar:/opt/worldpainter/lib/json-simple.jar:/opt/worldpainter/lib/WPDynmapPreviewer.jar:/opt/worldpainter/lib/DynmapCore.jar:/opt/worldpainter/lib/DynmapCoreAPI.jar:/opt/worldpainter/lib/snakeyaml.jar:/opt/worldpainter/lib/slf4j-api.jar:/opt/worldpainter/lib/jcl-over-slf4j.jar:/opt/worldpainter/lib/log4j-api.jar:/opt/worldpainter/lib/logback-classic.jar:/opt/worldpainter/lib/log4j-to-slf4j.jar:/opt/worldpainter/lib/logback-core.jar:/opt/worldpainter/lib/jul-to-slf4j.jar:/opt/worldpainter/lib/guava.jar:/opt/worldpainter/lib/jackson-annotations.jar:/opt/worldpainter/lib/jackson-core.jar:/opt/worldpainter/lib/jackson-databind.jar:/opt/worldpainter/lib/imageio-tiff.jar:/opt/worldpainter/lib/imageio-core.jar:/opt/worldpainter/lib/imageio-metadata.jar:/opt/worldpainter/lib/common-lang.jar:/opt/worldpainter/lib/common-io.jar:/opt/worldpainter/lib/common-image.jar:/opt/worldpainter/lib/vecmath.jar:/opt/worldpainter/lib/jide-plaf-jdk7.jar:/opt/worldpainter/lib/laf-dark.jar:/opt/worldpainter/lib/bridj.jar:/opt/worldpainter/lib/nashorn-core.jar:/opt/worldpainter/lib/asm.jar:/opt/worldpainter/lib/asm-commons.jar:/opt/worldpainter/lib/asm-analysis.jar:/opt/worldpainter/lib/asm-tree.jar:/opt/worldpainter/lib/asm-util.jar
sun.awt.enableExtraMouseButtons=true
java.vm.vendor=Private Build
sun.arch.data.model=64
install4j.exeDir=/opt/worldpainter/
sun.font.fontmanager=sun.awt.X11FontManager
java.vendor.url=Unknown
install4j.systemLanguage=en
user.timezone=America/Los_Angeles
sun.java2d.uiScale.enabled=false
java.vm.specification.version=17
os.name=Linux
docking.focusWorkaround1=true
sun.java.launcher=SUN_STANDARD
user.country=US
sun.boot.library.path=/usr/lib/jvm/java-17-openjdk-amd64/lib
sun.java.command=install4j.org.pepsoft.worldpainter.Main
jdk.debug=release
sun.cpu.endian=little
user.home=/home/stonley890
user.language=en
java.specification.vendor=Oracle Corporation
java.version.date=2023-08-24
java.home=/usr/lib/jvm/java-17-openjdk-amd64
file.separator=/
java.vm.compressedOopsMode=Zero based
line.separator=

java.vm.specification.vendor=Oracle Corporation
java.specification.name=Java Platform API Specification
exe4j.moduleName=/opt/worldpainter/worldpainter
http.agent=WorldPainter 2.21.1; Linux 5.19.0-50-generic amd64;
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
java.runtime.version=17.0.8.1+1-Ubuntu-0ubuntu122.04
user.name=stonley890
path.separator=:
java.net.useSystemProxies=true
os.version=5.19.0-50-generic
java.runtime.name=OpenJDK Runtime Environment
file.encoding=UTF-8
java.vm.name=OpenJDK 64-Bit Server VM
install4j.jvmDir=/usr/lib/jvm/java-17-openjdk-amd64
install4j.appDir=/opt/worldpainter/
java.vendor.url.bug=Unknown
java.io.tmpdir=/tmp
java.version=17.0.8.1
user.dir=/opt/worldpainter
os.arch=amd64
java.vm.specification.name=Java Virtual Machine Specification
native.encoding=UTF-8
java.library.path=/opt/worldpainter/bin::/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
java.vm.info=mixed mode, sharing
java.vendor=Private Build
java.vm.version=17.0.8.1+1-Ubuntu-0ubuntu122.04
sun.io.unicode.encoding=UnicodeLittle
org.pepsoft.worldpainter.configDir=/home/stonley890/.local/share/worldpainter
java.class.version=61.0
install4j.swt=false
org.pepsoft.worldpainter.logLevel=INFO
Stonley890 commented 2 months ago

Same issue applies to 21.3. Perhaps it's a permissions issue? The updater does not request elevated privileges.

Captain-Chaos commented 2 months ago

It shouldn't need privileges. If you run it as a user it is installed under that user's home directory; if you run it as root it is installed globally (you could try whether that makes a difference).

The installer is generated by a third party tool so this is hard to debug for me, but I will inquire with them.

Captain-Chaos commented 2 months ago

I just noticed that you mentioned a .deb file, so this was installed using a .deb file originally? Then I don't think privileges apply; I'm not sure, but I think it is supposed to just download the .deb file, which you would then have to install manually.

Stonley890 commented 2 months ago

That makes sense, but if everything works as expected, why does it throw an error? Should I file a report elsewhere if this is a third party tool?

Captain-Chaos commented 2 months ago

No idea. No that's not necessary; I'll do that.