mojira.dev
MC-3583

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

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.

Linked issues

MC-3999 crash report Resolved MC-12485 Exception on SMP server execution Resolved MC-13072 server crash Resolved MC-13144 I admin on a server and there are a few other admins. Recently there has been one admin that crashes the server every time he joins the server. He will join and then everyone will get the java virtual error. Resolved MC-13465 Minecraft just keeps randomly crashing! Resolved

Attachments

Comments 14

Try updating your java, as your current version is outdated.

Note:

Description: Exception ticking world
java.lang.NullPointerException
at im.b(SourceFile:199)
Christian Ruby

I have the same problem.
I use Linux with Java7.

Steps to reproduce:
the same as in the bug description.

Reopened due to MC-15829:

Description: Exception ticking world

java.lang.NullPointerException
	at iy.c(SourceFile:201)
	at iz.b(SourceFile:122)
	at net.minecraft.server.MinecraftServer.r(SourceFile:454)
	at net.minecraft.server.MinecraftServer.q(SourceFile:397)
	at bjg.q(SourceFile:122)
	at net.minecraft.server.MinecraftServer.run(SourceFile:331)
	at gp.run(SourceFile:573)

From MC-27969

Description: Exception ticking world

java.lang.NullPointerException
at jq.c(SourceFile:206)
at jr.b(SourceFile:110)
at net.minecraft.server.MinecraftServer.t(SourceFile:462)
at net.minecraft.server.MinecraftServer.s(SourceFile:405)
at bkw.s(SourceFile:124)
at net.minecraft.server.MinecraftServer.run(SourceFile:339)
at hh.run(SourceFile:582)
4 more comments

Can you upload the world to a 3rd party file hoster ?

Christopher Wooddell

Here is a link to the file on Rapidshare:
https://rapidshare.com/share/4012961DDC3097CDA5844801D1D46C6D

As the save stands now, you will log in right inside my nether portal from the overworld side (to save you the trouble of finding it.)

Just stand still, go to the nether, then go back. This should be all that's necessary to reproduce the issue.

Can confirm with your world.

Corrupted world:

[23:43:13 ERROR]: Chunk file at -11,-3 is in the wrong location; relocating. (Expected -11, -3, got -3, -4)
[23:43:13 ERROR]: Chunk file at -8,-12 is in the wrong location; relocating. (Expected -8, -12, got -4, -2)
Curt Hostetter

I am having the same issue. Just like Christopher Wooddell, it only happens on one world. In single player, whenever I go from Nether to Overworld it crashes. I've found that if I open the world up to LAN and have a second player in the world, it does not crash for my player any longer. However, it will crash the server if the second player goes through the portal from Nether to Overworld.

I have checked my logs - I do not have any chunk errors. I am happy to upload my save if it helps.

Edit (12/8/2013): Turns out I had a corrupted Nether chunk after all! I was able to fix it thanks to this tool here: https://github.com/Fenixin/Minecraft-Region-Fixer Very helpful!

andrew

michael

Confirmed

crash, entering, leaving, nether, returning

Minecraft 1.4.5, Minecraft 1.4.6, Minecraft 1.4.7, Minecraft 1.5.1, Minecraft 1.5.2, ..., Minecraft 1.7.1, Minecraft 1.7.2, Minecraft 1.7.4, Minecraft 14w02b, Minecraft 1.7.5

Minecraft 14w02c

Retrieved