Program: 21124
Project: 21124
Buggy source:
/** 
 * TODO: soll mal über events aktuallisiert werden
 */
private void update(){
  if (updateinprogress)   return;
  new Thread(){
    public void run(){
      updateinprogress=true;
      this.setName("String_Node_Str");
      DownloadController dlc=JDUtilities.getDownloadController();
      packages.setText(JDLocale.LF("String_Node_Str","String_Node_Str",dlc.getPackages().size()));
      downloadlinks.setText(JDLocale.LF("String_Node_Str","String_Node_Str",dlc.getAllDownloadLinks().size()));
      long tot=0;
      long loaded=0;
      for (      DownloadLink l : dlc.getAllDownloadLinks()) {
        if (!l.getLinkStatus().hasStatus(LinkStatus.ERROR_ALREADYEXISTS) && l.isEnabled()) {
          tot+=l.getDownloadSize();
          loaded+=l.getDownloadCurrent();
        }
      }
      totalsize.setText(JDLocale.LF("String_Node_Str","String_Node_Str",Formatter.formatReadable(tot)));
      final long tot2=tot;
      new GuiRunnable<Object>(){
        public Object runSave(){
          progress.setMaximum(tot2);
          return null;
        }
      }
.waitForEDT();
      progress.setValue(loaded);
      progress.setToolTipText(Math.round((loaded * 10000.0) / tot) / 100.0 + "String_Node_Str");
      long speedm=JDUtilities.getController().getSpeedMeter();
      if (speedm > 1024) {
        speed.setText(JDLocale.LF("String_Node_Str","String_Node_Str",Formatter.formatReadable(speedm) + "String_Node_Str"));
        long etanum=(tot - loaded) / speedm;
        eta.setText(JDLocale.LF("String_Node_Str","String_Node_Str",Formatter.formatSeconds(etanum)));
      }
 else {
        eta.setText("String_Node_Str");
        speed.setText("String_Node_Str");
      }
      updateinprogress=false;
    }
  }
.start();
}

Fixed version (ground truth):
/** 
 * TODO: soll mal über events aktuallisiert werden
 */
private void update(){
  if (updateinprogress)   return;
  new Thread(){
    public void run(){
      updateinprogress=true;
      this.setName("String_Node_Str");
      DownloadController dlc=JDUtilities.getDownloadController();
      packages.setText(JDLocale.LF("String_Node_Str","String_Node_Str",dlc.getPackages().size()));
      downloadlinks.setText(JDLocale.LF("String_Node_Str","String_Node_Str",dlc.getAllDownloadLinks().size()));
      long tot=0;
      long loaded=0;
      for (      DownloadLink l : dlc.getAllDownloadLinks()) {
        if (!l.getLinkStatus().hasStatus(LinkStatus.ERROR_ALREADYEXISTS) && l.isEnabled()) {
          tot+=l.getDownloadSize();
          loaded+=l.getDownloadCurrent();
        }
      }
      totalsize.setText(JDLocale.LF("String_Node_Str","String_Node_Str",Formatter.formatReadable(tot)));
      final long tot2=tot;
      final long loaded2=loaded;
      new GuiRunnable<Object>(){
        public Object runSave(){
          progress.setMaximum(tot2);
          progress.setValue(loaded2);
          progress.setToolTipText(Math.round((loaded2 * 10000.0) / tot2) / 100.0 + "String_Node_Str");
          return null;
        }
      }
.waitForEDT();
      long speedm=JDUtilities.getController().getSpeedMeter();
      if (speedm > 1024) {
        speed.setText(JDLocale.LF("String_Node_Str","String_Node_Str",Formatter.formatReadable(speedm) + "String_Node_Str"));
        long etanum=(tot - loaded) / speedm;
        eta.setText(JDLocale.LF("String_Node_Str","String_Node_Str",Formatter.formatSeconds(etanum)));
      }
 else {
        eta.setText("String_Node_Str");
        speed.setText("String_Node_Str");
      }
      updateinprogress=false;
    }
  }
.start();
}