Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-56845

Crash using entity executed /clone command - Single player server crash

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • Minecraft 14w21b, Minecraft 14w25a, Minecraft 14w25b
    • Operating System: Windows 8.1 (amd64) version 6.3
      Java Version: 1.8.0
    • Unconfirmed
    • Creative

      What happened:

      While testing an entity executed clone concept on a single player creative world, server-side lag was experienced. Attempted to re-log to re-sync server and client, but was bumped back to title screen. Attempting to load world again caused client to freeze then crash. After quite some time, launcher re-appeared with crash report. Reloading world after this point works fine, no corruption and lag resolved.

      How it happened:

      I was testing cloning a structure below bats (to create bats with a Nyan cat like trail), using a /setblock redstone block clock (on replace, not destroy), connected to a command block to keep the bats away (/kill @e[type=Bat,r=100), and the actual clone blocks command (/execute @e[type=Bat] ~ ~ ~ /clone -298 56 -537 -298 61 -537 ~ ~-8 ~ masked).

      This occurred in 14w21a, 14w25a and b, in separate worlds created in that version.

      How to replicate:

      1.Set up redstone clock, kill command and clone command. The blocks being cloned are a column of wool, however I believe any simple structure would work.
      2.Generate server side lag. I've done this by burning large structures of wool, generating large numbers of drops (TNT explosions etc) and/or spawning lots of bats until entities stop moving etc.
      3.Save and exit to main menu.
      4.Attempt to load world. You may need to do this a couple of times, occasionally you can log in, but float in a void with half-rendered chunks around you. Eventually the client should hang on the main menu.

      OR

      1.Download test world
      2.Activate second command block clock to start to generate lag.
      3.Wait till sufficient server lag such that entities stop moving (adding fire/more mobs can help).
      4.Save and exit, reload world and repeat until crash occurs.
      (An aside: This can also cause MC-58265 to happen)

      Other stuff:

      I've quite reliably been able to reproduce this, all though it may depend on your computer as to how easily you can get it to lag out. I have a sneaking suspicion that the crash is caused by the game trying to execute a command on an entity that has been unloaded, or finding an entity to execute the command on, only to have had the command block unloaded.

      Crash Reports:
      A - Original Crash
      B - Crash after /clone command fixed up
      C - Crash in 14w25a
      D - Crash in 14w25b
      E - Crash in uploaded test world.

      Description: Executing command block
      
      java.lang.NullPointerException: Executing command block
      	at java.util.Collections.addAll(Unknown Source)
      	at af.b(SourceFile:152)
      	at ab.a(SourceFile:47)
      	at alg.a(SourceFile:92)
      	at apb.c(SourceFile:56)
      	at ou.a(SourceFile:466)
      	at ou.c(SourceFile:176)
      	at net.minecraft.server.MinecraftServer.w(SourceFile:570)
      	at net.minecraft.server.MinecraftServer.v(SourceFile:506)
      	at coe.v(SourceFile:132)
      	at net.minecraft.server.MinecraftServer.run(SourceFile:422)
      	at java.lang.Thread.run(Unknown Source)
      

      There is an interesting "Exception Ticking World" crash that occurred along with the NullPointerException crash, however the client itself only crashed once.

      Edit: Re-wrote description to clarify and simplify

      Feel free to ask for more details.

            Unassigned Unassigned
            king999art Arthur Bradbury
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: