mojira.dev
MC-130141

ArrayIndexOutOfBoundsException/ConcurrentException attempting to generate buffet world

While generating many Warm Ocean Buffet Worlds for testing, an ArrayIndexOutOfBoundsException occured during the "Preparing spawn area" phase at 31% completion. Additionally, a Concurrent Execution Exception immediately followed and the game become unresponsive requiring a force-quit through the Windows Task Manager.

To Reproduce

Note that although not 100% reproducible, these are the steps that I have performed in my tests while trying to find a reproduction pattern and have resulted in the errors occurring more than once:

1. Using Single Player, Survival, generate a new Buffet, Warn Ocean world using the seed -3539335385400782692
2. After the world generates (assuming no error), press ESCape and click the "Save and Quit to Title" button
3. Select Singleplayer, click on the previously created world, click the "Re-Create" button, and without making any changes, click the "Create New World" button
4. Repeat steps 2 and 3 and eventually the errors may occur

Notes

  • An "Unable to find spawn biome" sometimes appears in the output log when the error doesn't occur

  • I've had the experience where I only had to repeat the "Re-Create" world step 2 times before encountering the issue, but it usually takes many more attempts. I suspect it has something to do with randomization - perhaps of the player's starting position.

  • The concurrent exception error does not get saved to a file and is only visible in the game output log. I assume this is because the application becomes 100% unresponsive before it can do so.

  • After the game is force-quit and rel-launched, the world being generated during the crash appears to load normally

Crash Reports

ArrayIndexOutOfBoundsException

---- Minecraft Crash Report ----
 // Quite honestly, I wouldn't worry myself about that.

Time: 5/23/18 4:02 PM
 Description: Exception in server tick loop

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException
 at net.minecraft.server.MinecraftServer.g_(SourceFile:393)
 at dii.a(SourceFile:116)
 at dii.d(SourceFile:132)
 at net.minecraft.server.MinecraftServer.run(SourceFile:502)
 at java.lang.Thread.run(Thread.java:745)
 Caused by: java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException
 at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2272)
 at net.minecraft.server.MinecraftServer.g_(SourceFile:391)
 ... 4 more
 Caused by: java.lang.ArrayIndexOutOfBoundsException
 at it.unimi.dsi.fastutil.shorts.ShortArrays.grow(ShortArrays.java:265)
 at it.unimi.dsi.fastutil.shorts.ShortArrayList.grow(ShortArrayList.java:308)
 at it.unimi.dsi.fastutil.shorts.ShortArrayList.add(ShortArrayList.java:322)
 at bqq.a(SourceFile:61)
 at sq.a(SourceFile:23)
 at bbt.a(SourceFile:9)
 at cae.a(SourceFile:145)
 at bzg.a(SourceFile:117)
 at bzg.a(SourceFile:62)
 at bzg.a(SourceFile:19)
 at bzh.a(SourceFile:27)
 at bpy.a(SourceFile:64)
 at tc.a(SourceFile:14)
 at sx.a(SourceFile:34)
 at bqc.a(SourceFile:87)
 at td.a(SourceFile:59)
 at td.a(SourceFile:23)
 at agg$a.a(SourceFile:143)
 at agg$a$$Lambda$1324/52186391.apply(Unknown Source)
 at java.util.concurrent.CompletableFuture$AsyncApply.exec(CompletableFuture.java:501)
 at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
 at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:902)
 at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1689)
 at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1644)
 at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

A detailed walkthrough of the error, its code path and all known details is as follows:
 ---------------------------------------------------------------------------------------

- System Details -
 Details:
 Minecraft Version: 18w21a
 Operating System: Windows 8.1 (amd64) version 6.3
 Java Version: 1.8.0_25, Oracle Corporation
 Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
 Memory: 171879736 bytes (163 MB) / 503316480 bytes (480 MB) up to 1073741824 bytes (1024 MB)
 JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M
 Profiler Position: N/A (disabled)
 Player Count: 0 / 8; []
 Data Packs: vanilla
 Type: Integrated Server (map_client.txt)
 Is Modded: Probably not. Jar signature remains and both client + server brands are untouched.
{quote}
*ConcurrentException*
{quote}Couldn't stop taskManager
 java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException
 at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2237)
 at agg.b(SourceFile:92)
 at agi.a(SourceFile:23)
 at sj.close(SourceFile:260)
 at bbe.close(SourceFile:1650)
 at sk.close(SourceFile:930)
 at net.minecraft.server.MinecraftServer.h_(SourceFile:474)
 at dii.h_(SourceFile:312)
 at net.minecraft.server.MinecraftServer.run(SourceFile:565)
 at java.lang.Thread.run(Thread.java:745)
 Caused by: java.lang.ArrayIndexOutOfBoundsException
 at it.unimi.dsi.fastutil.shorts.ShortArrays.grow(ShortArrays.java:265)
 at it.unimi.dsi.fastutil.shorts.ShortArrayList.grow(ShortArrayList.java:308)
 at it.unimi.dsi.fastutil.shorts.ShortArrayList.add(ShortArrayList.java:322)
 at bqq.a(SourceFile:61)
 at sq.a(SourceFile:23)
 at bbt.a(SourceFile:9)
 at cae.a(SourceFile:145)
 at bzg.a(SourceFile:117)
 at bzg.a(SourceFile:62)
 at bzg.a(SourceFile:19)
 at bzh.a(SourceFile:27)
 at bpy.a(SourceFile:64)
 at tc.a(SourceFile:14)
 at sx.a(SourceFile:34)
 at bqc.a(SourceFile:87)
 at td.a(SourceFile:59)
 at td.a(SourceFile:23)
 at agg$a.a(SourceFile:143)
 at agg$a$$Lambda$1324/52186391.apply(Unknown Source)
 at java.util.concurrent.CompletableFuture$AsyncApply.exec(CompletableFuture.java:501)
 at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
 at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:902)
 at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1689)
 at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1644)
 at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Linked issues

Attachments

Comments

kumasasa

Sorry to inform you, but this is duplicating MC-128677 ...

kiddailey

(Unassigned)

Unconfirmed

Minecraft 18w21a

Retrieved