Skip to content

Failed to render Nether/End with NullPointerException #77

@awdavis

Description

@awdavis

Environment info

  • BlockMap version: 2.4.1
  • Java version:
    java version "18" 2022-03-22
    Java(TM) SE Runtime Environment (build 18+36-2087)
    Java HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)
    
  • Operating system: Windows 10 Pro Build 19044

Description

Unable to render nether/end maps on relatively new Aternos server.

Steps to reproduce

  1. Download world directory from Aternos and save it at D:/Minecraft/aternos-world
  2. Open Command Prompt
  3. Run "C:/Program Files/Java/jdk-18/bin/java.exe" -jar "D:/Minecraft/BlockMap/BlockMap-cli-2.4.1.jar" --verbose render --output="D:/Minecraft/map-output/end" --dimension=END --create-big-image "D:/Minecraft/aternos-world"
  4. Inspect command output

Actual result

The command fails to produce an image and produces error output.

Expected result:

The command produces an image as expected.

Troubleshooting

  • The command does not work for either rendering tiles or a big image on The End
  • The command does not work for either rendering tiles or a big image on the Nether
  • The command does work as expected for rendering tiles and a big image for the Overworld
  • Some but not all of the generated tile images appear empty, for each of the above dimensions preview of end tiles

Debug log

Full output

test_output.txt

Selected output

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
22-04-03 19:23:04 INFO  RegionRenderer [58] - Rendering region file -2 -3
22-04-03 19:23:04 WARN  ChunkRenderer_1_18 [249] - Failed to render chunk (22, 0) section -1. This is very likely because your chunk is corrupt. If possible, please verify it manually before sending a bug report.
java.lang.NullPointerException: Cannot invoke "de.piegames.nbt.CompoundMap.get(Object)" because "section" is null
	at de.piegames.blockmap.renderer.ChunkRenderer_1_18.renderSection(ChunkRenderer_1_18.java:297) ~[BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.renderer.ChunkRenderer_1_18.renderChunk(ChunkRenderer_1_18.java:191) [BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.renderer.RegionRenderer.renderRaw(RegionRenderer.java:149) [BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.renderer.RegionRenderer.render(RegionRenderer.java:61) [BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.world.RegionFolder$WorldRegionFolder.render(RegionFolder.java:179) [BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder.render(RegionFolder.java:467) [BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.call(CommandLineMain.java:249) [BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.call(CommandLineMain.java:113) [BlockMap-cli-2.4.1.jar:?]
	at picocli.CommandLine.executeUserObject(CommandLine.java:1953) [BlockMap-cli-2.4.1.jar:?]
	at picocli.CommandLine.access$1300(CommandLine.java:145) [BlockMap-cli-2.4.1.jar:?]
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358) [BlockMap-cli-2.4.1.jar:?]
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2352) [BlockMap-cli-2.4.1.jar:?]
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2314) [BlockMap-cli-2.4.1.jar:?]
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179) [BlockMap-cli-2.4.1.jar:?]
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2316) [BlockMap-cli-2.4.1.jar:?]
	at picocli.CommandLine.execute(CommandLine.java:2078) [BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.standalone.CommandLineMain.mainWithoutQuit(CommandLineMain.java:399) [BlockMap-cli-2.4.1.jar:?]
	at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:403) [BlockMap-cli-2.4.1.jar:?]
...
ava.lang.reflect.InaccessibleObjectException: Unable to make field private java.lang.String java.lang.Throwable.detailMessage accessible: module java.base does not "opens java.lang" to unnamed module @21213b92
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:180)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:174)
	at com.google.gson.internal.reflect.UnsafeReflectionAccessor.makeAccessible(UnsafeReflectionAccessor.java:44)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:159)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
	at com.google.gson.Gson.getDelegateAdapter(Gson.java:572)
	at io.gsonfire.gson.HooksTypeAdapterFactory.create(HooksTypeAdapterFactory.java:23)
	at com.google.gson.Gson.getDelegateAdapter(Gson.java:572)
	at io.gsonfire.gson.WrapTypeAdapterFactory.create(WrapTypeAdapterFactory.java:26)
	at com.google.gson.Gson.getAdapter(Gson.java:489)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
	at com.google.gson.Gson.getDelegateAdapter(Gson.java:572)
	at io.gsonfire.gson.HooksTypeAdapterFactory.create(HooksTypeAdapterFactory.java:23)
	at com.google.gson.Gson.getDelegateAdapter(Gson.java:572)
	at io.gsonfire.gson.TypeSelectorTypeAdapterFactory$TypeSelectorTypeAdapter.write(TypeSelectorTypeAdapterFactory.java:58)
	at io.gsonfire.gson.NullableTypeAdapter.write(NullableTypeAdapter.java:26)
	at io.gsonfire.util.JsonUtils.toJsonTree(JsonUtils.java:54)
	at io.gsonfire.gson.HooksTypeAdapter.write(HooksTypeAdapter.java:42)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:97)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:61)
	at io.gsonfire.util.JsonUtils.toJsonTree(JsonUtils.java:54)
	at io.gsonfire.gson.HooksTypeAdapter.write(HooksTypeAdapter.java:42)
	at com.google.gson.Gson.toJson(Gson.java:735)
	at com.google.gson.Gson.toJsonTree(Gson.java:628)
	at com.google.gson.Gson.toJsonTree(Gson.java:607)
	at io.gsonfire.postprocessors.methodinvoker.MethodInvokerPostProcessor.postSerialize(MethodInvokerPostProcessor.java:82)
	at io.gsonfire.gson.HooksTypeAdapter.runPostSerialize(HooksTypeAdapter.java:72)
	at io.gsonfire.gson.HooksTypeAdapter.write(HooksTypeAdapter.java:49)
	at io.gsonfire.util.JsonUtils.toJsonTree(JsonUtils.java:54)
	at io.gsonfire.gson.HooksTypeAdapter.write(HooksTypeAdapter.java:42)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:97)
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:61)
	at io.gsonfire.util.JsonUtils.toJsonTree(JsonUtils.java:54)
	at io.gsonfire.gson.HooksTypeAdapter.write(HooksTypeAdapter.java:42)
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:127)
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:245)
	at io.gsonfire.util.JsonUtils.toJsonTree(JsonUtils.java:54)
	at io.gsonfire.gson.HooksTypeAdapter.write(HooksTypeAdapter.java:42)
	at com.google.gson.Gson.toJson(Gson.java:735)
	at com.google.gson.Gson.toJson(Gson.java:714)
	at com.google.gson.Gson.toJson(Gson.java:689)
	at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder.save(RegionFolder.java:536)
	at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.call(CommandLineMain.java:262)
	at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.call(CommandLineMain.java:113)
	at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
	at picocli.CommandLine.access$1300(CommandLine.java:145)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
	at picocli.CommandLine.execute(CommandLine.java:2078)
	at de.piegames.blockmap.standalone.CommandLineMain.mainWithoutQuit(CommandLineMain.java:399)
	at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:403)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions