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

java.lang.NullPointerException: Exception ticking world (at ml.c(SourceFile:199)) (Corrupted Nether chunks)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Minecraft 14w02c
    • Minecraft 1.4.5, Minecraft 1.4.6, Minecraft 1.4.7, Minecraft 1.5.1, Minecraft 1.5.2, Minecraft 1.6.1, Minecraft 1.6.2, Minecraft 13w41b, Minecraft 13w42b, Minecraft 1.7.1, Minecraft 1.7.2, Minecraft 1.7.4, Minecraft 14w02b, Minecraft 1.7.5
    • Confirmed
    • Survival

      From MC-19606:
      I should have been a little more clear about the relation of the crash report to this issue. The crash report may be caused by this issue but since it is a synchronization error it is very hard to reproduce and debug with certainty.

      I can prove though that there are synchronization errors caused by Packet3Chat when a chat message contains Illegal characters. I do not believe this is a duplicate of MC-12341 because his does not mention the offending player being kicked before the crash and it also does not mention the synchronization issues that are currently caused by multi threading chat. This issue also does not happen when a player logs in but rather while a player is chatting.

      So to make sure I am more clear this time the crash report may or may not have been caused by this issue. I do not believe it has as I have been unable to reliable reproduce it through this issue. All I can say is it is a synchronization issue that did happen once during my testing so it may be related this issue.

      Edit:

      To continue on with what I was saying before. I looked closer at the classes involved in the crash report. The last classed before reaching Java runtime classes are involved with chunk loading and saving. I do believe chunk loading and saving is handled by it's own thread and from what I have followed of this issue the network read thread does not reach any of those classes. Again this does not mean it is not related but it does make it much less likely.

      Edit 2:

      After further digging into packet classes. Packet3Chat is not the only one that can cause synchronization issues. Any packet that can be processed asynchronously in minecraft 1.5.2 can cause synchronization problems. All packets but Packet3Chat are not handled by the server and cause the client to be kicked. Packet3Chat is the exception that i needs to have an Illegal character as a part of it without a leading '/'

      All packets with this issue are:
      Packet3Chat(Special case - read up)
      Packet4UpdateTime
      Packet35HeadRotation
      Packet200Statistic

      The issue lies in the fact that the disconnect method is called from the read thread dedicated to the client. The disconnect method then calls various methods into the server to remove the player from lists and to save the player to disk. All of this happens with the main thread still running updates on the worlds


      Crash after returning from The Nether

      When i go from the nether to overworld my minecraft crashes. It only happens on my one world.

      Steps to reproduce:
      1. go to the nether in survival
      2.return to the overworld in any portal.

      ---- Minecraft Crash Report ----
      // Hey, that tickles! Hehehe!
      
      Time: 02/01/14 5:19 PM
      Description: Exception ticking world
      
      java.lang.NullPointerException: Exception ticking world
      	at ml.c(SourceFile:199)
      	at mm.b(SourceFile:120)
      	at net.minecraft.server.MinecraftServer.u(SourceFile:502)
      	at net.minecraft.server.MinecraftServer.t(SourceFile:440)
      	at btk.t(SourceFile:117)
      	at net.minecraft.server.MinecraftServer.run(SourceFile:357)
      	at lb.run(SourceFile:616)
      
      
      A detailed walkthrough of the error, its code path and all known details is as follows:
      ---------------------------------------------------------------------------------------
      
      -- Head --
      Stacktrace:
      	at ml.c(SourceFile:199)
      	at mm.b(SourceFile:120)
      
      -- Affected level --
      Details:
      	Level name: world
      	All players: 0 total; []
      	Chunk stats: ServerChunkCache: 90 Drop: 90
      	Level seed: 5244763267944565675
      	Level generator: ID 00 - default, ver 1. Features enabled: false
      	Level generator options: 
      	Level spawn location: World: (0,0,0), Chunk: (at 0,0,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
      	Level time: 0 game time, 0 day time
      	Level dimension: 0
      	Level storage version: 0x00000 - Unknown?
      	Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
      	Level game mode: ~~ERROR~~ NullPointerException: null
      Stacktrace:
      	at net.minecraft.server.MinecraftServer.u(SourceFile:502)
      	at net.minecraft.server.MinecraftServer.t(SourceFile:440)
      	at btk.t(SourceFile:117)
      	at net.minecraft.server.MinecraftServer.run(SourceFile:357)
      	at lb.run(SourceFile:616)
      
      -- System Details --
      Details:
      	Minecraft Version: 1.7.4
      	Operating System: Windows 8 (amd64) version 6.2
      	Java Version: 1.7.0_45, Oracle Corporation
      	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
      	Memory: 174744152 bytes (166 MB) / 584581120 bytes (557 MB) up to 954728448 bytes (910 MB)
      	JVM Flags: 2 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G
      	AABB Pool Size: 9756 (546336 bytes; 0 MB) allocated, 7981 (446936 bytes; 0 MB) used
      	IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
      	Profiler Position: N/A (disabled)
      	Vec3 Pool Size: 1825 (102200 bytes; 0 MB) allocated, 1477 (82712 bytes; 0 MB) used
      	Player Count: 1 / 8; [mp['Dwz14'/328, l='world', x=166.21, y=116.00, z=544.07]]
      	Type: Integrated Server (map_client.txt)
      	Is Modded: Probably not. Jar signature remains and both client + server brands are untouched.
      

            searge [Mojang] Searge (Michael Stoyke)
            dwz14 andrew
            Votes:
            6 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: