Program: 156797
Project: 156797
Buggy source:
@Override public void updateEntity(){
  if (attachPluggables) {
    attachPluggables=false;
    for (int i=0; i < ForgeDirection.VALID_DIRECTIONS.length; i++) {
      if (sideProperties.pluggables[i] != null) {
        sideProperties.pluggables[i].onAttachedPipe(this,ForgeDirection.getOrientation(i));
        pipe.eventBus.registerHandler(sideProperties.pluggables[i]);
      }
    }
  }
  if (!worldObj.isRemote) {
    if (deletePipe) {
      worldObj.setBlockToAir(xCoord,yCoord,zCoord);
    }
    if (pipe == null) {
      return;
    }
    if (!initialized) {
      initialize(pipe);
    }
  }
  if (!BlockGenericPipe.isValid(pipe)) {
    return;
  }
  pipe.updateEntity();
  for (  ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) {
    PipePluggable p=getPipePluggable(direction);
    if (p != null) {
      p.update(this,direction);
    }
  }
  if (worldObj.isRemote) {
    if (resyncGateExpansions) {
      syncGateExpansions();
    }
    return;
  }
  if (blockNeighborChange) {
    computeConnections();
    pipe.onNeighborBlockChange(0);
    blockNeighborChange=false;
    refreshRenderState=true;
  }
  if (refreshRenderState) {
    refreshRenderState();
    refreshRenderState=false;
  }
  if (sendClientUpdate) {
    sendClientUpdate=false;
    if (worldObj instanceof WorldServer) {
      WorldServer world=(WorldServer)worldObj;
      BuildCraftPacket updatePacket=getBCDescriptionPacket();
      for (      Object o : world.playerEntities) {
        EntityPlayerMP player=(EntityPlayerMP)o;
        if (world.getPlayerManager().isPlayerWatchingChunk(player,xCoord >> 4,zCoord >> 4)) {
          BuildCraftCore.instance.sendToPlayer(player,updatePacket);
        }
      }
    }
  }
}

Fixed version (ground truth):
@Override public void updateEntity(){
  if (attachPluggables) {
    attachPluggables=false;
    for (int i=0; i < ForgeDirection.VALID_DIRECTIONS.length; i++) {
      if (sideProperties.pluggables[i] != null) {
        pipe.eventBus.registerHandler(sideProperties.pluggables[i]);
        sideProperties.pluggables[i].onAttachedPipe(this,ForgeDirection.getOrientation(i));
      }
    }
    notifyBlockChanged();
  }
  if (!worldObj.isRemote) {
    if (deletePipe) {
      worldObj.setBlockToAir(xCoord,yCoord,zCoord);
    }
    if (pipe == null) {
      return;
    }
    if (!initialized) {
      initialize(pipe);
    }
  }
  if (!BlockGenericPipe.isValid(pipe)) {
    return;
  }
  pipe.updateEntity();
  for (  ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) {
    PipePluggable p=getPipePluggable(direction);
    if (p != null) {
      p.update(this,direction);
    }
  }
  if (worldObj.isRemote) {
    if (resyncGateExpansions) {
      syncGateExpansions();
    }
    return;
  }
  if (blockNeighborChange) {
    computeConnections();
    pipe.onNeighborBlockChange(0);
    blockNeighborChange=false;
    refreshRenderState=true;
  }
  if (refreshRenderState) {
    refreshRenderState();
    refreshRenderState=false;
  }
  if (sendClientUpdate) {
    sendClientUpdate=false;
    if (worldObj instanceof WorldServer) {
      WorldServer world=(WorldServer)worldObj;
      BuildCraftPacket updatePacket=getBCDescriptionPacket();
      for (      Object o : world.playerEntities) {
        EntityPlayerMP player=(EntityPlayerMP)o;
        if (world.getPlayerManager().isPlayerWatchingChunk(player,xCoord >> 4,zCoord >> 4)) {
          BuildCraftCore.instance.sendToPlayer(player,updatePacket);
        }
      }
    }
  }
}