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

Bad dimension sent from server crashes the client

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • Minecraft 1.6.2
    • None
    • OS: Mac OS X (ver 10.8.2, arch x86_64)
      Java: 1.6.0_37 (by Apple Inc.)
      Launcher: 1.1.3 (bootstrap 4)
      Minecraft: 1.6.2 (updated Tue Jul 09 14:59:42 EDT 2013)
    • Unconfirmed
    • Creative

      Invalid dimension IDs crash the client. WorldServer assumes that anything the server says is immaculate, and increasingly this is not the case.

      What I expected to happen was...:
      Client would default to dim 0 if the server sent a bad packet

      What actually happened was...:
      Crash and stack trace:
      Time: 7/30/13 12:56 PM
      Description: Exception in world tick

      java.lang.NullPointerException
      at abv.<init>(SourceFile:120)
      at bda.<init>(SourceFile:36)
      at bct.a(SourceFile:674)
      at fg.a(SourceFile:28)
      at cn.b(SourceFile:354)
      at bct.e(SourceFile:98)
      at bda.b(SourceFile:60)
      at ats.k(SourceFile:1386)
      at ats.S(SourceFile:663)
      at ats.d(SourceFile:619)
      at net.minecraft.client.main.Main.main(SourceFile:101)

      Steps to Reproduce:
      I apologize, this bug is hard to reproduce without a modded server, but such servers are widespread, and trusting mod authors is bad. Modding actually tends to make the client more resistant to this bug, although not by much.'
      1. Configure a Bukkit or Spigot server with a small plugin to send a packet 0x09 (the respawn packet) to the client with an invalid dimension/environment id. We tested with "18".
      2. Start the server and connect a vanilla client to it.
      3. Activate the plugin, sending the packet to the client.

      Hope this helps. It's an easy fix (one input validation), but it'll smooth things over going towards Workbench. If you don't care about modded servers crashing clients, feel free to ignore and close.

            Unassigned Unassigned
            falkreon Isaac Ellingson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: