Program: 117154
Project: 117154
Buggy source:
@Override public void update(){
  if (!worldObj.isRemote) {
    detectAndSendChanges();
  }
  if (worldObj.isRemote) {
    updateEffects();
  }
  if (isCrafting.value && !worldObj.isRemote) {
    if (DEEventHandler.serverTicks % 10 == 0) {
      worldObj.notifyNeighborsOfStateChange(pos,getBlockType());
    }
    for (    ICraftingPedestal pedestal : pedestals) {
      if (((TileEntity)pedestal).isInvalid()) {
        invalidateCrafting();
        return;
      }
    }
    if (activeRecipe == null || !activeRecipe.matches(this,worldObj,pos) || activeRecipe.canCraft(this,worldObj,pos) == null || !activeRecipe.canCraft(this,worldObj,pos).equals("String_Node_Str")) {
      invalidateCrafting();
      return;
    }
    long totalCharge=0;
    for (    ICraftingPedestal pedestal : pedestals) {
      if (pedestal.getStackInPedestal() == null) {
        continue;
      }
      totalCharge+=pedestal.getCharge();
    }
    int averageCharge=(int)(totalCharge / activeRecipe.getRecipeIngredients().size());
    double percentage=averageCharge / (double)activeRecipe.getEnergyCost();
    if (percentage <= 1D && craftingStage.value < 1000) {
      craftingStage.value=(short)(percentage * 1000D);
      if (craftingStage.value == 0 && percentage > 0) {
        craftingStage.value=1;
      }
    }
 else     if (craftingStage.value < 2000) {
      craftingStage.value+=2;
    }
 else     if (craftingStage.value >= 2000) {
      activeRecipe.craft(this,worldObj,pos);
      for (      ICraftingPedestal pedestal : pedestals) {
        pedestal.onCraft();
      }
      isCrafting.value=false;
    }
  }
 else   if (!worldObj.isRemote && !isCrafting.value && craftingStage.value > 0) {
    craftingStage.value=0;
  }
}

Fixed version (ground truth):
@Override public void update(){
  if (!worldObj.isRemote) {
    detectAndSendChanges();
  }
  if (worldObj.isRemote) {
    updateEffects();
  }
  if (isCrafting.value && !worldObj.isRemote) {
    if (DEEventHandler.serverTicks % 10 == 0) {
      worldObj.notifyNeighborsOfStateChange(pos,getBlockType());
    }
    for (    ICraftingPedestal pedestal : pedestals) {
      if (((TileEntity)pedestal).isInvalid()) {
        invalidateCrafting();
        return;
      }
    }
    if (activeRecipe == null || !activeRecipe.matches(this,worldObj,pos) || activeRecipe.canCraft(this,worldObj,pos) == null || !activeRecipe.canCraft(this,worldObj,pos).equals("String_Node_Str")) {
      invalidateCrafting();
      return;
    }
    long totalCharge=0;
    for (    ICraftingPedestal pedestal : pedestals) {
      if (pedestal.getStackInPedestal() == null) {
        continue;
      }
      totalCharge+=pedestal.getCharge();
    }
    int averageCharge=(int)(totalCharge / activeRecipe.getRecipeIngredients().size());
    double percentage=averageCharge / (double)activeRecipe.getEnergyCost();
    if (percentage <= 1D && craftingStage.value < 1000) {
      craftingStage.value=(short)(percentage * 1000D);
      if (craftingStage.value == 0 && percentage > 0) {
        craftingStage.value=1;
      }
    }
 else     if (craftingStage.value < 2000) {
      craftingStage.value+=2;
    }
 else     if (craftingStage.value >= 2000) {
      activeRecipe.craft(this,worldObj,pos);
      for (      ICraftingPedestal pedestal : pedestals) {
        pedestal.onCraft();
      }
      if (!worldObj.isRemote) {
        isCrafting.value=false;
      }
    }
  }
 else   if (!worldObj.isRemote && !isCrafting.value && craftingStage.value > 0) {
    craftingStage.value=0;
  }
}