Program: 10393
Project: 10393
Buggy source:
@Override public void execute(final ScriptEntry scriptEntry) throws CommandExecutionException {
  final dScript script=(dScript)scriptEntry.getObject("String_Node_Str");
  String step=scriptEntry.getElement("String_Node_Str").asString();
  Duration duration=(Duration)scriptEntry.getObject("String_Node_Str");
  String currentStep=InteractScriptHelper.getCurrentStep(scriptEntry.getPlayer(),script.getName());
  if (step == null) {
    if (aH.matchesInteger(currentStep)) {
      step=String.valueOf(aH.getIntegerFrom(currentStep) + 1);
    }
 else     step="String_Node_Str";
  }
  if (durations.containsKey(scriptEntry.getPlayer().getName() + "String_Node_Str" + script.getName()))   try {
    denizen.getServer().getScheduler().cancelTask(durations.get(scriptEntry.getPlayer().getName() + "String_Node_Str" + script.getName()));
  }
 catch (  Exception e) {
  }
  if (duration.getSeconds() > 0) {
    scriptEntry.addObject("String_Node_Str",currentStep);
    scriptEntry.addObject("String_Node_Str",new Duration(-1d));
    long delay=(long)(duration.getSeconds() * 20);
    dB.echoDebug(Messages.DEBUG_SETTING_DELAYED_TASK,"String_Node_Str" + script + "String_Node_Str");
    durations.put(scriptEntry.getPlayer().getName() + "String_Node_Str" + script.getName(),denizen.getServer().getScheduler().scheduleSyncDelayedTask(denizen,new Runnable(){
      @Override public void run(){
        dB.log(Messages.DEBUG_RUNNING_DELAYED_TASK,"String_Node_Str" + script.getName() + "String_Node_Str");
        try {
          durations.remove(scriptEntry.getPlayer().getName() + "String_Node_Str" + script.getName().toUpperCase());
          execute(scriptEntry);
        }
 catch (        CommandExecutionException e) {
          dB.echoError("String_Node_Str");
          if (dB.showStackTraces)           e.printStackTrace();
        }
      }
    }
,delay));
  }
  denizen.getSaves().set("String_Node_Str" + scriptEntry.getPlayer().getName() + "String_Node_Str"+ script.getName().toUpperCase()+ "String_Node_Str"+ "String_Node_Str",step);
}

Fixed version (ground truth):
@Override public void execute(final ScriptEntry scriptEntry) throws CommandExecutionException {
  final dScript script=(dScript)scriptEntry.getObject("String_Node_Str");
  String step=scriptEntry.getElement("String_Node_Str").asString();
  Duration duration=(Duration)scriptEntry.getObject("String_Node_Str");
  dB.report(getName(),scriptEntry.getPlayer().debug() + script.debug() + scriptEntry.getElement("String_Node_Str").debug()+ (duration != null ? duration.debug() : "String_Node_Str"));
  String currentStep=InteractScriptHelper.getCurrentStep(scriptEntry.getPlayer(),script.getName());
  if (step == null) {
    if (aH.matchesInteger(currentStep)) {
      step=String.valueOf(aH.getIntegerFrom(currentStep) + 1);
    }
 else     step="String_Node_Str";
  }
  if (durations.containsKey(scriptEntry.getPlayer().getName() + "String_Node_Str" + script.getName()))   try {
    denizen.getServer().getScheduler().cancelTask(durations.get(scriptEntry.getPlayer().getName() + "String_Node_Str" + script.getName()));
  }
 catch (  Exception e) {
  }
  if (duration != null && duration.getSeconds() > 0) {
    scriptEntry.addObject("String_Node_Str",currentStep);
    scriptEntry.addObject("String_Node_Str",Duration.ZERO);
    long delay=(long)(duration.getSeconds() * 20);
    dB.echoDebug(Messages.DEBUG_SETTING_DELAYED_TASK,"String_Node_Str" + script + "String_Node_Str");
    durations.put(scriptEntry.getPlayer().getName() + "String_Node_Str" + script.getName(),denizen.getServer().getScheduler().scheduleSyncDelayedTask(denizen,new Runnable(){
      @Override public void run(){
        dB.log(Messages.DEBUG_RUNNING_DELAYED_TASK,"String_Node_Str" + script.getName() + "String_Node_Str");
        try {
          durations.remove(scriptEntry.getPlayer().getName() + "String_Node_Str" + script.getName().toUpperCase());
          execute(scriptEntry);
        }
 catch (        CommandExecutionException e) {
          dB.echoError("String_Node_Str");
          if (dB.showStackTraces)           e.printStackTrace();
        }
      }
    }
,delay));
  }
  denizen.getSaves().set("String_Node_Str" + scriptEntry.getPlayer().getName() + "String_Node_Str"+ script.getName().toUpperCase()+ "String_Node_Str"+ "String_Node_Str",step);
}