Spigot crashes as dragon is taking off from portal when a specific player build exists. The player guild includes a number of blocks in the air above the exit portal (y115 ish). Spigot does not crash every time the dragon takes off from the exit portal, but it has crashed every fight.
The crashes have all been observed when the player is in survival mode.
The crashes have all been observed when the end crystals on the pillars have been broken.
Issue was first observed with git-Spigot-3fb9445-2b6c9f4 (earlier not tested).
There is no crash when the build above the exit portal is removed.
There is no crash when there is a block at 0,115,0 (though the dragon then lands at y115 rather than on the exit portal)
Crash report below as comment so it is collapsible.
Trimmed world that works well with no plugins provided. (Original build was glass/ice/etc and while it still crashes with 0 plugins, it gets difficult to use with the dragon removing blocks. Provided world has had a lot of blocks removed, and a lot of blocks replaced with endstone. It still exhibits the same crashing behavior.)
[SPIGOT-3325] Crash during dragon fight
Crash report
---- Minecraft Crash Report ---- // I'm sorry, Dave. Time: 10/06/17 23:47 Description: Ticking entity java.lang.ArrayIndexOutOfBoundsException: 1 at net.minecraft.server.v1_11_R1.PathEntity.f(SourceFile:74) at net.minecraft.server.v1_11_R1.DragonControllerFly.k(SourceFile:68) at net.minecraft.server.v1_11_R1.DragonControllerFly.j(SourceFile:63) at net.minecraft.server.v1_11_R1.DragonControllerFly.c(SourceFile:24) at net.minecraft.server.v1_11_R1.EntityEnderDragon.n(EntityEnderDragon.java:172) at net.minecraft.server.v1_11_R1.EntityLiving.A_(EntityLiving.java:1893) at net.minecraft.server.v1_11_R1.EntityInsentient.A_(EntityInsentient.java:244) at net.minecraft.server.v1_11_R1.World.entityJoinedWorld(World.java:1631) at net.minecraft.server.v1_11_R1.World.h(World.java:1606) at net.minecraft.server.v1_11_R1.World.tickEntities(World.java:1432) at net.minecraft.server.v1_11_R1.WorldServer.tickEntities(WorldServer.java:618) at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:814) at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) at java.lang.Thread.run(Thread.java:745) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Server thread Stacktrace: at net.minecraft.server.v1_11_R1.PathEntity.f(SourceFile:74) at net.minecraft.server.v1_11_R1.DragonControllerFly.k(SourceFile:68) at net.minecraft.server.v1_11_R1.DragonControllerFly.j(SourceFile:63) at net.minecraft.server.v1_11_R1.DragonControllerFly.c(SourceFile:24) at net.minecraft.server.v1_11_R1.EntityEnderDragon.n(EntityEnderDragon.java:172) at net.minecraft.server.v1_11_R1.EntityLiving.A_(EntityLiving.java:1893) at net.minecraft.server.v1_11_R1.EntityInsentient.A_(EntityInsentient.java:244) at net.minecraft.server.v1_11_R1.World.entityJoinedWorld(World.java:1631) at net.minecraft.server.v1_11_R1.World.h(World.java:1606) -- Entity being ticked -- Details: Entity Type: minecraft:ender_dragon (net.minecraft.server.v1_11_R1.EntityEnderDragon) Entity ID: 879 Entity Name: Ender Dragon Entity's Exact location: -0.44, 64.76, 0.18 Entity's Block location: World: (-1,64,0), Chunk: (at 15,4,0 in -1,0; contains blocks -16,0,0 to -1,255,15), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Entity's Momentum: 0.18, 0.78, 0.61 Entity's Passengers: [] Entity's Vehicle: ~~ERROR~~ NullPointerException: null Stacktrace: at net.minecraft.server.v1_11_R1.World.tickEntities(World.java:1432) at net.minecraft.server.v1_11_R1.WorldServer.tickEntities(WorldServer.java:618) -- Affected level -- Details: Level name: world_the_end All players: 1 total; [EntityPlayer['pez252'/836, l='world_the_end', x=-0.70, y=61.00, z=-1.08](pez252 at -0.6999999880790668,61.0,-1.0835766880757027)] Chunk stats: ServerChunkCache: 169 Drop: 0 Level seed: -5621005928698822416 Level generator: ID 02 - largeBiomes, ver 0. Features enabled: true Level generator options: Level spawn location: World: (80,57,-2), Chunk: (at 0,3,14 in 5,-1; contains blocks 80,0,-16 to 95,255,-1), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1) Level time: 80551376 game time, 80551376 day time Level dimension: 0 Level storage version: 0x04ABD - Anvil Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false Stacktrace: at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:814) at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) at java.lang.Thread.run(Thread.java:745) -- System Details -- Details: Minecraft Version: 1.11.2 Operating System: Linux (amd64) version 3.13.0-36-generic Java Version: 1.8.0_101, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 1857854272 bytes (1771 MB) / 2077753344 bytes (1981 MB) up to 2077753344 bytes (1981 MB) JVM Flags: 10 total; -XX:+CMSIncrementalPacing -Xms2G -Xmx2G -XX:+CMSIncrementalMode -XX:TargetSurvivorRatio=90 -XX:+DisableExplicitGC -XX:MaxGCPauseMillis=50 -XX:+AggressiveOpts -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94 CraftBukkit Information: Running: CraftBukkit version git-Spigot-3fb9445-6e3cec8 (MC: 1.11.2) (Implementing API version 1.11.2-R0.1-SNAPSHOT) false Plugins: {} Warnings: DEFAULT Reload Count: 0 Threads: { TIMED_WAITING Snooper Timer: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)], TIMED_WAITING File IO Thread: [java.lang.Thread.sleep(Native Method), net.minecraft.server.v1_11_R1.FileIOThread.c(SourceFile:51), net.minecraft.server.v1_11_R1.FileIOThread.run(SourceFile:30), java.lang.Thread.run(Thread.java:745)], WAITING Chunk I/O Executor Thread-1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039), java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442), java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617), java.lang.Thread.run(Thread.java:745)], RUNNABLE Netty Epoll Server IO #2: [io.netty.channel.epoll.Native.epollWait(Native Method), io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:194), io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:219), io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116), java.lang.Thread.run(Thread.java:745)], RUNNABLE Server thread: [java.lang.Thread.dumpThreads(Native Method), java.lang.Thread.getAllStackTraces(Thread.java:1603), org.bukkit.craftbukkit.v1_11_R1.CraftCrashReport.call(CraftCrashReport.java:30), net.minecraft.server.v1_11_R1.CrashReportSystemDetails.a(SourceFile:78), net.minecraft.server.v1_11_R1.CrashReport.h(CrashReport.java:126), net.minecraft.server.v1_11_R1.CrashReport.<init>(CrashReport.java:33), net.minecraft.server.v1_11_R1.CrashReport.a(CrashReport.java:320), net.minecraft.server.v1_11_R1.World.tickEntities(World.java:1435), net.minecraft.server.v1_11_R1.WorldServer.tickEntities(WorldServer.java:618), net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:814), net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399), net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678), net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576), java.lang.Thread.run(Thread.java:745)], TIMED_WAITING Spigot Watchdog Thread: [java.lang.Thread.sleep(Native Method), org.spigotmc.WatchdogThread.run(WatchdogThread.java:92)], WAITING Finalizer: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164), java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)], RUNNABLE Netty Epoll Server IO #0: [io.netty.channel.epoll.Native.epollWait(Native Method), io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:194), io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:219), io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116), java.lang.Thread.run(Thread.java:745)], RUNNABLE Query Listener #1: [java.net.PlainDatagramSocketImpl.receive0(Native Method), java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:143), java.net.DatagramSocket.receive(DatagramSocket.java:812), net.minecraft.server.v1_11_R1.RemoteStatusListener.run(SourceFile:268), java.lang.Thread.run(Thread.java:745)], WAITING Reference Handler: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Object.java:502), java.lang.ref.Reference.tryHandlePending(Reference.java:191), java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)], RUNNABLE Signal Dispatcher: [], WAITING Thread-4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039), java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442), com.mojang.util.QueueLogAppender.getNextLogEvent(QueueLogAppender.java:77), org.bukkit.craftbukkit.v1_11_R1.util.TerminalConsoleWriterThread.run(TerminalConsoleWriterThread.java:27), java.lang.Thread.run(Thread.java:745)], TIMED_WAITING Server Infinisleeper: [java.lang.Thread.sleep(Native Method), net.minecraft.server.v1_11_R1.DedicatedServer$1.run(DedicatedServer.java:59)], RUNNABLE Netty Epoll Server IO #1: [io.netty.channel.epoll.Native.epollWait(Native Method), io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:194), io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:219), io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116), java.lang.Thread.run(Thread.java:745)], RUNNABLE Server console handler: [java.io.FileInputStream.readBytes(Native Method), java.io.FileInputStream.read(FileInputStream.java:255), java.io.BufferedInputStream.fill(BufferedInputStream.java:246), java.io.BufferedInputStream.read(BufferedInputStream.java:265), org.bukkit.craftbukkit.libs.jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:248), org.bukkit.craftbukkit.libs.jline.internal.InputStreamReader.read(InputStreamReader.java:261), org.bukkit.craftbukkit.libs.jline.internal.InputStreamReader.read(InputStreamReader.java:198), org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2145), org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLineSimple(ConsoleReader.java:3183), org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLine(ConsoleReader.java:2333), org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLine(ConsoleReader.java:2269), org.bukkit.craftbukkit.libs.jline.console.ConsoleReader.readLine(ConsoleReader.java:2257), net.minecraft.server.v1_11_R1.DedicatedServer$2.run(DedicatedServer.java:86)], TIMED_WAITING Spigot Metrics Thread: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)], RUNNABLE DestroyJavaVM: [],} Recent tasks from 18556-18586{} Profiler Position: N/A (disabled) Player Count: 1 / 250; [EntityPlayer['pez252'/836, l='world_the_end', x=-0.70, y=61.00, z=-1.08](pez252 at -0.6999999880790668,61.0,-1.0835766880757027)] Is Modded: Definitely; Server brand changed to 'Spigot' Type: Dedicated Server (map_server.txt)
Mojang Issue:
https://bugs.mojang.com/browse/MC-102255