BlockMap icon indicating copy to clipboard operation
BlockMap copied to clipboard

BlockMap failed to start

Open Peregrine05 opened this issue 2 years ago • 4 comments

Environment info

  • BlockMap version: 2.4.1
  • Java version: openjdk version "17.0.4.1" 2022-08-12 OpenJDK Runtime Environment Temurin-17.0.4.1+1 (build 17.0.4.1+1) OpenJDK 64-Bit Server VM Temurin-17.0.4.1+1 (build 17.0.4.1+1, mixed mode, sharing)
  • Operating system: Microsoft Windows Version 6.1 (Build 7601: Service Pack 1)

Description

After running the command to start BlockMap, (java -jar BlockMap-gui-2.4.1-windows.jar), the startup image appears for a short time. Then an error is output to the terminal window, and the program exits without finishing the startup process.

Steps to reproduce

  1. Run the command, java -jar BlockMap-gui-2.4.1-windows.jar.

Actual result

When the command to start BlockMap is run, the startup image appears for a short time. Then an error (displayed below) is output to the terminal window, and BlockMap exits without finishing the startup process.

Sep 09, 2022 8:02:43 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed mod
ule @4e7dec40'
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impac
t performance.
22-09-09 20:02:46 INFO  RegionFolderCache [73] - Removed 0 worlds from cache
22-09-09 20:02:46 WARN  RegionFolderCache [79] - Could not initialize cache
java.nio.file.AccessDeniedException: C:\Users\JOSIAH\AppData\Local\piegames\bloc
kmap\cache\regions\cache.json
        at sun.nio.fs.WindowsException.translateToIOException(WindowsException.j
ava:89) ~[?:?]
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.jav
a:103) ~[?:?]
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.jav
a:108) ~[?:?]
        at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystem
Provider.java:236) ~[?:?]
        at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvid
er.java:484) ~[?:?]
        at java.nio.file.Files.newOutputStream(Files.java:228) ~[?:?]
        at java.nio.file.Files.newBufferedWriter(Files.java:3008) ~[?:?]
        at java.nio.file.Files.newBufferedWriter(Files.java:3056) ~[?:?]
        at de.piegames.blockmap.gui.standalone.RegionFolderCache.<init>(RegionFo
lderCache.java:74) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at de.piegames.blockmap.gui.standalone.GuiController.<init>(GuiControlle
r.java:120) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Nativ
e Method) ~[?:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Native
ConstructorAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(De
legatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:
499) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?
]
        at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:
939) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FX
MLLoader.java:981) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:23
0) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.ja
va:755) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808) ~[Bl
ockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634) ~[BlockMap-gui-
2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548) ~[BlockMap-gui-
2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516) ~[BlockMap-gui-2.4.
1-windows.jar:?]
        at de.piegames.blockmap.gui.standalone.GuiMain.init(GuiMain.java:46) ~[B
lockMap-gui-2.4.1-windows.jar:?]
        at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherIm
pl.java:825) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(La
uncherImpl.java:196) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
22-09-09 20:02:47 FATAL GuiMain [50] - Cannot start BlockMap
javafx.fxml.LoadException:
file:/C:/Users/JOSIAH/AppData/Local/Programs/BlockMap/BlockMap-gui-2.4.1-windows
.jar!/de/piegames/blockmap/gui/standalone/scene.fxml:21

        at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2707) ~
[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:
944) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FX
MLLoader.java:981) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:23
0) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.ja
va:755) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808) ~[Bl
ockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634) ~[BlockMap-gui-
2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548) ~[BlockMap-gui-
2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516) ~[BlockMap-gui-2.4.
1-windows.jar:?]
        at de.piegames.blockmap.gui.standalone.GuiMain.init(GuiMain.java:46) ~[B
lockMap-gui-2.4.1-windows.jar:?]
        at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherIm
pl.java:825) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(La
uncherImpl.java:196) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.reflect.InvocationTargetException
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Nativ
e Method) ~[?:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Native
ConstructorAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(De
legatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:
499) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?
]
        at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:
939) ~[BlockMap-gui-2.4.1-windows.jar:?]
        ... 11 more
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 2: ?C:\
Users\JOSIAH\AppData\Roaming\piegames\blockmap\config
        at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) ~[
?:?]
        at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) ~[?:?]

        at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) ~[?:?]
        at sun.nio.fs.WindowsPath.parse(WindowsPath.java:92) ~[?:?]
        at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232) ~[?:
?]
        at java.nio.file.Path.of(Path.java:147) ~[?:?]
        at java.nio.file.Paths.get(Paths.java:69) ~[?:?]
        at de.piegames.blockmap.gui.standalone.HistoryManager.<init>(HistoryMana
ger.java:46) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at de.piegames.blockmap.gui.standalone.GuiController.<init>(GuiControlle
r.java:121) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Nativ
e Method) ~[?:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Native
ConstructorAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(De
legatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:
499) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?
]
        at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:
939) ~[BlockMap-gui-2.4.1-windows.jar:?]
        ... 11 more

Expected result:

The program should start normally, as the instructions in the README state.

Screenshots

The error is too long to display with a screenshot. Everything else that I have described should be understandable without screenshots.

Debug log

The debug log as produced with the -v argument is below.

Sep 09, 2022 8:03:26 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed mod
ule @4e7dec40'
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impac
t performance.
22-09-09 20:03:29 INFO  RegionFolderCache [73] - Removed 0 worlds from cache
22-09-09 20:03:29 FATAL GuiMain [50] - Cannot start BlockMap
javafx.fxml.LoadException:
file:/C:/Users/JOSIAH/AppData/Local/Programs/BlockMap/BlockMap-gui-2.4.1-windows
.jar!/de/piegames/blockmap/gui/standalone/scene.fxml:21

        at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2707) ~
[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:
944) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FX
MLLoader.java:981) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:23
0) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.ja
va:755) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2808) ~[Bl
ockMap-gui-2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2634) ~[BlockMap-gui-
2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548) ~[BlockMap-gui-
2.4.1-windows.jar:?]
        at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516) ~[BlockMap-gui-2.4.
1-windows.jar:?]
        at de.piegames.blockmap.gui.standalone.GuiMain.init(GuiMain.java:46) ~[B
lockMap-gui-2.4.1-windows.jar:?]
        at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherIm
pl.java:825) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(La
uncherImpl.java:196) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.reflect.InvocationTargetException
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Nativ
e Method) ~[?:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Native
ConstructorAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(De
legatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:
499) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?
]
        at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:
939) ~[BlockMap-gui-2.4.1-windows.jar:?]
        ... 11 more
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 2: ?C:\
Users\JOSIAH\AppData\Roaming\piegames\blockmap\config
        at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) ~[
?:?]
        at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) ~[?:?]

        at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) ~[?:?]
        at sun.nio.fs.WindowsPath.parse(WindowsPath.java:92) ~[?:?]
        at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232) ~[?:
?]
        at java.nio.file.Path.of(Path.java:147) ~[?:?]
        at java.nio.file.Paths.get(Paths.java:69) ~[?:?]
        at de.piegames.blockmap.gui.standalone.HistoryManager.<init>(HistoryMana
ger.java:46) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at de.piegames.blockmap.gui.standalone.GuiController.<init>(GuiControlle
r.java:121) ~[BlockMap-gui-2.4.1-windows.jar:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Nativ
e Method) ~[?:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Native
ConstructorAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(De
legatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:
499) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?
]
        at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:
939) ~[BlockMap-gui-2.4.1-windows.jar:?]
        ... 11 more

Peregrine05 avatar Sep 09 '22 18:09 Peregrine05

Interestingly enough, you both logs show different error messages each. The first one says "AccessDeniedException: C:\Users\JOSIAH\AppData\Local\piegames\bloc kmap\cache\regions\cache.json" and the second one is "InvalidPathException: Illegal char <:> at index 2: ?C:
Users\JOSIAH\AppData\Roaming\piegames\blockmap\config"

Please have a look after these paths. Do they exist? (Do they look correct?) Are they accessible as a user?

piegamesde avatar Sep 09 '22 19:09 piegamesde

I notice that both debug logs contain the InvalidPathException, while only the first one contains the AccessDeniedException.

"C:\Users\JOSIAH\AppData\Local\piegames\blockmap\cache\regions\cache.json" (I changed the file extension to txt to make GitHub accept the upload) had been created by the program, and is accessible.

"C:\Users\JOSIAH\AppData\Roaming\piegames\blockmap\config" had not been created by the program, but it is accessible after I create it. The program fails to start with the same error even after creation of the folder.

Peregrine05 avatar Sep 09 '22 21:09 Peregrine05

I just notice that you are still on Windows 7. It is EOL, so please try to reproduce this issue on a more recent system. Note that I only have a Windows 10 VM myself for testing.

piegamesde avatar Sep 09 '22 22:09 piegamesde

The GUI version of the program works normally on Linux Mint. So far, the command line version of the program appears to work on Windows 7.

Peregrine05 avatar Sep 10 '22 09:09 Peregrine05