Program: 41394
Project: 41394
Buggy source:
public void track(List<EntityPlayer> list){
  this.n=false;
  if ((!this.isMoving) || (this.tracker.e(this.q,this.r,this.s) > 16.0D)) {
    this.q=this.tracker.locX;
    this.r=this.tracker.locY;
    this.s=this.tracker.locZ;
    this.isMoving=true;
    this.n=true;
    scanPlayers(list);
  }
  if ((this.w != this.tracker.vehicle) || ((this.tracker.vehicle != null) && (this.m % 60 == 0))) {
    this.w=this.tracker.vehicle;
    broadcast(new PacketPlayOutAttachEntity(0,this.tracker,this.tracker.vehicle));
  }
  if ((this.tracker instanceof EntityItemFrame)) {
    EntityItemFrame i3=(EntityItemFrame)this.tracker;
    ItemStack i4=i3.getItem();
    if ((this.m % 10 == 0) && (i4 != null) && ((i4.getItem() instanceof ItemWorldMap))) {
      WorldMap i6=Items.MAP.getSavedMap(i4,this.tracker.world);
      Iterator<EntityPlayer> i7=this.trackedPlayers.iterator();
      while (i7.hasNext()) {
        EntityHuman i8=(EntityHuman)i7.next();
        EntityPlayer i9=(EntityPlayer)i8;
        i6.a(i9,i4);
        Packet j0=Items.MAP.c(i4,this.tracker.world,i9);
        if (j0 != null) {
          i9.playerConnection.sendPacket(j0);
        }
      }
    }
    b();
  }
 else   if ((this.m % this.c == 0) || (this.tracker.al) || (this.tracker.getDataWatcher().a())) {
    if (this.tracker.vehicle == null) {
      this.v+=1;
      int i=this.tracker.as.a(this.tracker.locX);
      int j=MathHelper.floor(this.tracker.locY * 32.0D);
      int k=this.tracker.as.a(this.tracker.locZ);
      int l=MathHelper.d(this.tracker.yaw * 256.0F / 360.0F);
      int i1=MathHelper.d(this.tracker.pitch * 256.0F / 360.0F);
      int j1=i - this.xLoc;
      int k1=j - this.yLoc;
      int l1=k - this.zLoc;
      Object object=null;
      boolean flag=(Math.abs(j1) >= 4) || (Math.abs(k1) >= 4) || (Math.abs(l1) >= 4)|| (this.m % 60 == 0);
      boolean flag1=(Math.abs(l - this.yRot) >= 4) || (Math.abs(i1 - this.xRot) >= 4);
      if (flag) {
        this.xLoc=i;
        this.yLoc=j;
        this.zLoc=k;
      }
      if (flag1) {
        this.yRot=l;
        this.xRot=i1;
      }
      if ((this.m > 0) || ((this.tracker instanceof EntityArrow))) {
        if ((j1 >= -128) && (j1 < 128) && (k1 >= -128)&& (k1 < 128)&& (l1 >= -128)&& (l1 < 128)&& (this.v <= 400)&& (!this.x)) {
          if ((flag) && (flag1)) {
            object=new PacketPlayOutRelEntityMoveLook(this.tracker.getId(),(byte)j1,(byte)k1,(byte)l1,(byte)l,(byte)i1,this.tracker.onGround);
          }
 else           if (flag) {
            object=new PacketPlayOutRelEntityMove(this.tracker.getId(),(byte)j1,(byte)k1,(byte)l1,this.tracker.onGround);
          }
 else           if (flag1) {
            object=new PacketPlayOutEntityLook(this.tracker.getId(),(byte)l,(byte)i1,this.tracker.onGround);
          }
        }
 else {
          this.v=0;
          if ((this.tracker instanceof EntityPlayer)) {
            scanPlayers(new ArrayList<EntityPlayer>(this.trackedPlayers));
          }
          object=new PacketPlayOutEntityTeleport(this.tracker.getId(),i,j,k,(byte)l,(byte)i1,this.tracker.onGround,((this.tracker instanceof EntityFallingBlock)) || ((this.tracker instanceof EntityTNTPrimed)));
        }
      }
      if (this.u) {
        double d0=this.tracker.motX - this.j;
        double d1=this.tracker.motY - this.k;
        double d2=this.tracker.motZ - this.l;
        double d3=0.02D;
        double d4=d0 * d0 + d1 * d1 + d2 * d2;
        if ((d4 > d3 * d3) || ((d4 > 0.0D) && (this.tracker.motX == 0.0D) && (this.tracker.motY == 0.0D)&& (this.tracker.motZ == 0.0D))) {
          this.j=this.tracker.motX;
          this.k=this.tracker.motY;
          this.l=this.tracker.motZ;
          broadcast(new PacketPlayOutEntityVelocity(this.tracker.getId(),this.j,this.k,this.l));
        }
      }
      if (object != null) {
        broadcast((Packet)object);
      }
      b();
      this.x=false;
    }
 else {
      i=MathHelper.d(this.tracker.yaw * 256.0F / 360.0F);
      int j=MathHelper.d(this.tracker.pitch * 256.0F / 360.0F);
      boolean flag2=(Math.abs(i - this.yRot) >= 4) || (Math.abs(j - this.xRot) >= 4);
      if (flag2) {
        broadcast(new PacketPlayOutEntityLook(this.tracker.getId(),(byte)i,(byte)j,this.tracker.onGround));
        this.yRot=i;
        this.xRot=j;
      }
      this.xLoc=this.tracker.as.a(this.tracker.locX);
      this.yLoc=MathHelper.floor(this.tracker.locY * 32.0D);
      this.zLoc=this.tracker.as.a(this.tracker.locZ);
      b();
      this.x=true;
    }
    int i=MathHelper.d(this.tracker.getHeadRotation() * 256.0F / 360.0F);
    if (Math.abs(i - this.i) >= 4) {
      broadcast(new PacketPlayOutEntityHeadRotation(this.tracker,(byte)i));
      this.i=i;
    }
    this.tracker.al=false;
  }
  this.m+=1;
  if (this.tracker.velocityChanged) {
    boolean cancelled=false;
    if ((this.tracker instanceof EntityPlayer)) {
      Player player=(Player)this.tracker.getBukkitEntity();
      Vector velocity=player.getVelocity();
      PlayerVelocityEvent event=new PlayerVelocityEvent(player,velocity);
      this.tracker.world.getServer().getPluginManager().callEvent(event);
      if (event.isCancelled()) {
        cancelled=true;
      }
 else       if (!velocity.equals(event.getVelocity())) {
        player.setVelocity(velocity);
      }
    }
    if (!cancelled) {
      broadcastIncludingSelf(new PacketPlayOutEntityVelocity(this.tracker));
    }
    this.tracker.velocityChanged=false;
  }
}

Fixed version (ground truth):
public void track(List<EntityPlayer> list){
  this.n=false;
  if ((!this.isMoving) || (this.tracker.e(this.q,this.r,this.s) > 16.0D)) {
    this.q=this.tracker.locX;
    this.r=this.tracker.locY;
    this.s=this.tracker.locZ;
    this.isMoving=true;
    this.n=true;
    scanPlayers(list);
  }
  if ((this.w != this.tracker.vehicle) || ((this.tracker.vehicle != null) && (this.m % 60 == 0))) {
    this.w=this.tracker.vehicle;
    broadcast(new PacketPlayOutAttachEntity(0,this.tracker,this.tracker.vehicle));
  }
  if ((this.tracker instanceof EntityItemFrame)) {
    EntityItemFrame i3=(EntityItemFrame)this.tracker;
    ItemStack i4=i3.getItem();
    if ((this.m % 10 == 0) && (i4 != null) && ((i4.getItem() instanceof ItemWorldMap))) {
      WorldMap i6=Items.MAP.getSavedMap(i4,this.tracker.world);
      Iterator<EntityPlayer> i7=this.trackedPlayers.iterator();
      while (i7.hasNext()) {
        EntityHuman i8=(EntityHuman)i7.next();
        EntityPlayer i9=(EntityPlayer)i8;
        i6.a(i9,i4);
        Packet j0=Items.MAP.c(i4,this.tracker.world,i9);
        if (j0 != null) {
          i9.playerConnection.sendPacket(j0);
        }
      }
    }
    b();
  }
 else   if ((this.m % this.c == 0) || (this.tracker.al) || (this.tracker.getDataWatcher().a())) {
    if (this.tracker.vehicle == null) {
      this.v+=1;
      int i=this.tracker.as.a(this.tracker.locX);
      int j=MathHelper.floor(this.tracker.locY * 32.0D);
      int k=this.tracker.as.a(this.tracker.locZ);
      int l=MathHelper.d(this.tracker.yaw * 256.0F / 360.0F);
      int i1=MathHelper.d(this.tracker.pitch * 256.0F / 360.0F);
      int j1=i - this.xLoc;
      int k1=j - this.yLoc;
      int l1=k - this.zLoc;
      Object object=null;
      boolean flag=(Math.abs(j1) >= 4) || (Math.abs(k1) >= 4) || (Math.abs(l1) >= 4)|| (this.m % 60 == 0);
      boolean flag1=(Math.abs(l - this.yRot) >= 4) || (Math.abs(i1 - this.xRot) >= 4);
      if (flag) {
        this.xLoc=i;
        this.yLoc=j;
        this.zLoc=k;
      }
      if (flag1) {
        this.yRot=l;
        this.xRot=i1;
      }
      if ((this.m > 0) || ((this.tracker instanceof EntityArrow))) {
        if ((j1 >= -128) && (j1 < 128) && (k1 >= -128)&& (k1 < 128)&& (l1 >= -128)&& (l1 < 128)&& (this.v <= 400)&& (!this.x)) {
          if ((flag) && (flag1)) {
            object=new PacketPlayOutRelEntityMoveLook(this.tracker.getId(),(byte)j1,(byte)k1,(byte)l1,(byte)l,(byte)i1,this.tracker.onGround);
          }
 else           if (flag) {
            object=new PacketPlayOutRelEntityMove(this.tracker.getId(),(byte)j1,(byte)k1,(byte)l1,this.tracker.onGround);
          }
 else           if (flag1) {
            object=new PacketPlayOutEntityLook(this.tracker.getId(),(byte)l,(byte)i1,this.tracker.onGround);
          }
        }
 else {
          this.v=0;
          if ((this.tracker instanceof EntityPlayer)) {
            scanPlayers(new ArrayList<EntityPlayer>(this.trackedPlayers));
          }
          object=new PacketPlayOutEntityTeleport(this.tracker.getId(),i,j,k,(byte)l,(byte)i1,this.tracker.onGround);
        }
      }
      if (this.u) {
        double d0=this.tracker.motX - this.j;
        double d1=this.tracker.motY - this.k;
        double d2=this.tracker.motZ - this.l;
        double d3=0.02D;
        double d4=d0 * d0 + d1 * d1 + d2 * d2;
        if ((d4 > d3 * d3) || ((d4 > 0.0D) && (this.tracker.motX == 0.0D) && (this.tracker.motY == 0.0D)&& (this.tracker.motZ == 0.0D))) {
          this.j=this.tracker.motX;
          this.k=this.tracker.motY;
          this.l=this.tracker.motZ;
          broadcast(new PacketPlayOutEntityVelocity(this.tracker.getId(),this.j,this.k,this.l));
        }
      }
      if (object != null) {
        broadcast((Packet)object);
      }
      b();
      this.x=false;
    }
 else {
      i=MathHelper.d(this.tracker.yaw * 256.0F / 360.0F);
      int j=MathHelper.d(this.tracker.pitch * 256.0F / 360.0F);
      boolean flag2=(Math.abs(i - this.yRot) >= 4) || (Math.abs(j - this.xRot) >= 4);
      if (flag2) {
        broadcast(new PacketPlayOutEntityLook(this.tracker.getId(),(byte)i,(byte)j,this.tracker.onGround));
        this.yRot=i;
        this.xRot=j;
      }
      this.xLoc=this.tracker.as.a(this.tracker.locX);
      this.yLoc=MathHelper.floor(this.tracker.locY * 32.0D);
      this.zLoc=this.tracker.as.a(this.tracker.locZ);
      b();
      this.x=true;
    }
    int i=MathHelper.d(this.tracker.getHeadRotation() * 256.0F / 360.0F);
    if (Math.abs(i - this.i) >= 4) {
      broadcast(new PacketPlayOutEntityHeadRotation(this.tracker,(byte)i));
      this.i=i;
    }
    this.tracker.al=false;
  }
  this.m+=1;
  if (this.tracker.velocityChanged) {
    boolean cancelled=false;
    if ((this.tracker instanceof EntityPlayer)) {
      Player player=(Player)this.tracker.getBukkitEntity();
      Vector velocity=player.getVelocity();
      PlayerVelocityEvent event=new PlayerVelocityEvent(player,velocity);
      this.tracker.world.getServer().getPluginManager().callEvent(event);
      if (event.isCancelled()) {
        cancelled=true;
      }
 else       if (!velocity.equals(event.getVelocity())) {
        player.setVelocity(velocity);
      }
    }
    if (!cancelled) {
      broadcastIncludingSelf(new PacketPlayOutEntityVelocity(this.tracker));
    }
    this.tracker.velocityChanged=false;
  }
}