From what I saw on the post I made of this, this is intended. See MC-10755. (That was the post Mojang linked me to)
As far as I know, that's just Minecraft's surface fog.
To my knowledge, there is no specific cave fog, so you will always be seeing surface fog or depth fog, where depth fog is the black colored fog at the bottom of the world.
I cannot confirm the separate fog types, because I haven't poked around Minecraft's code enough.
(Yes, I am a mod developer!)
Unconfirmed, possibly ISP blockage/network misconfiguration.
From what I can tell, the map has a custom spawner spawning a custom zombie with custom effects/items and more customization.
Try loading the world in MCEdit and removing the mob spawner at the exacto coordinates given in your crash report.
Also, remove the entity at its exact location.
Confirmed on Windows 7, getting this error (same as Linux)
java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at ky.<init>(SourceFile:15)
at ky.<clinit>(SourceFile:9)
at kr.g(SourceFile:37)
at ko.g(SourceFile:15)
at kx.<clinit>(SourceFile:27)
at net.minecraft.server.MinecraftServer.main(SourceFile:508)
Exception in thread "main" java.lang.ExceptionInInitializerError
at bt.<clinit>(SourceFile:7)
at xx.v(SourceFile:495)
at kx.a(SourceFile:139)
at kx.c(SourceFile:85)
at xx.<clinit>(SourceFile:310)
at aqs.<clinit>(SourceFile:362)
at kx.a(SourceFile:122)
at kx.<clinit>(SourceFile:55)
at net.minecraft.server.MinecraftServer.main(SourceFile:508)
Caused by: java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at org.apache.commons.io.IOUtils.readLines(IOUtils.java:986)
at bu.<init>(SourceFile:26)
at bu.<clinit>(SourceFile:19)
... 9 more
From what I can see here, this is because of the code behind the /xp command.
1,999,999,999 (What he typed in)
2,147,483,647 (Limit of an int)
Variables initialized in Minecraft 1.5.2's code (may be partially modified, notify me if so)
private int aN;
private int aS;
private aL[][] a;
private boolean t;
private S c;
I don't know if any of that could possibly have anything to do with it, as what he entered is not as big as an int's max value, but I don't know if the command's arguments are stored in an int, possibly a string. It would depend on the command, however.
Honestly, I don't even know what I'm saying, just decided to poke around the code for a bit and see what I could come up with.