Program: 72715
Project: 72715
Buggy source:
/** 
 * Send the current value of the state of this actor to the output.
 * @exception IllegalActionException If calling send() or super.fire()throws it.
 */
@Override public void fire() throws IllegalActionException {
  super.fire();
  for (  PortParameter portParameter : attributeList(PortParameter.class)) {
    portParameter.update();
  }
  try {
    if (scriptIn.getWidth() > 0 && scriptIn.hasToken(0)) {
      String scriptValue=((StringToken)scriptIn.get(0)).stringValue();
      _compiledScript=_context.compileString(scriptValue,getName(),1,null);
      _compiledScript.exec(Context.getCurrentContext(),_scope);
      Object initializeFunction=_scope.get("String_Node_Str",_scope);
      if (initializeFunction instanceof Function) {
        ((Function)initializeFunction).call(Context.getCurrentContext(),_scope,_global,null);
      }
    }
    Object fireFunction=_scope.get("String_Node_Str",_scope);
    if (fireFunction instanceof Function) {
      for (      IOPort port : _outputTokens.keySet()) {
        HashMap<Integer,Token> tokens=_outputTokens.get(port);
        for (        Integer i : tokens.keySet()) {
          Token token=tokens.get(i);
          port.send(i,token);
        }
      }
      _outputTokens.clear();
      _inputTokens.clear();
      for (      IOPort input : this.inputPortList()) {
        HashMap<Integer,Token> tokens=new HashMap<Integer,Token>();
        for (int i=0; i < input.getWidth(); i++) {
          tokens.put(i,input.get(i));
        }
        _inputTokens.put(input,tokens);
      }
      _inFire=true;
      ((Function)fireFunction).call(Context.getCurrentContext(),_scope,_global,null);
      _inFire=false;
    }
  }
 catch (  WrappedException ex) {
    Throwable original=ex.getWrappedException();
    throw new IllegalActionException(this,ex,"String_Node_Str" + ex.lineNumber() + "String_Node_Str"+ original.getMessage());
  }
}

Fixed version (ground truth):
/** 
 * Send the current value of the state of this actor to the output.
 * @exception IllegalActionException If calling send() or super.fire()throws it.
 */
@Override public void fire() throws IllegalActionException {
  super.fire();
  for (  PortParameter portParameter : attributeList(PortParameter.class)) {
    portParameter.update();
  }
  try {
    if (scriptIn.getWidth() > 0 && scriptIn.hasToken(0)) {
      String scriptValue=((StringToken)scriptIn.get(0)).stringValue();
      _compiledScript=_context.compileString(scriptValue,getName(),1,null);
      _compiledScript.exec(Context.getCurrentContext(),_scope);
      Object initializeFunction=_scope.get("String_Node_Str",_scope);
      if (initializeFunction instanceof Function) {
        ((Function)initializeFunction).call(Context.getCurrentContext(),_scope,_global,null);
      }
    }
    Object fireFunction=_scope.get("String_Node_Str",_scope);
    if (fireFunction instanceof Function) {
      for (      IOPort port : _outputTokens.keySet()) {
        HashMap<Integer,Token> tokens=_outputTokens.get(port);
        for (        Map.Entry<Integer,Token> entry : tokens.entrySet()) {
          port.send(entry.getKey(),entry.getValue());
        }
      }
      _outputTokens.clear();
      _inputTokens.clear();
      for (      IOPort input : this.inputPortList()) {
        HashMap<Integer,Token> tokens=new HashMap<Integer,Token>();
        for (int i=0; i < input.getWidth(); i++) {
          tokens.put(i,input.get(i));
        }
        _inputTokens.put(input,tokens);
      }
      _inFire=true;
      ((Function)fireFunction).call(Context.getCurrentContext(),_scope,_global,null);
      _inFire=false;
    }
  }
 catch (  WrappedException ex) {
    Throwable original=ex.getWrappedException();
    throw new IllegalActionException(this,ex,"String_Node_Str" + ex.lineNumber() + "String_Node_Str"+ original.getMessage());
  }
}