Program: 75250
Project: 75250
Buggy source:
/** 
 * Return true if data are transferred from the input port of the container to the connected ports of the controller and of the current refinement actor. <p> This method will transfer all of the available tokens on each input channel. The port argument must be an opaque input port. If any channel of the input port has no data, then that channel is ignored. Any token left not consumed in the ports to which data are transferred is discarded.
 * @param port The input port to transfer tokens from.
 * @return True if data are transferred.
 * @exception IllegalActionException If the port is not an opaqueinput port.
 */
public boolean transferInputs(IOPort port) throws IllegalActionException {
  if (!port.isInput() || !port.isOpaque()) {
    throw new IllegalActionException(this,port,"String_Node_Str" + "String_Node_Str");
  }
  boolean transferred=false;
  Receiver[][] insideReceivers=_currentLocalReceivers(port);
  for (int i=0; i < port.getWidth(); i++) {
    int rate=SDFUtilities.getTokenConsumptionRate(port);
    try {
      if (insideReceivers != null && insideReceivers[i] != null) {
        for (int j=0; j < insideReceivers[i].length; j++) {
          while (insideReceivers[i][j].hasToken()) {
            insideReceivers[i][j].get();
          }
        }
      }
      for (int k=0; k < rate; k++) {
        ptolemy.data.Token t=port.get(i);
        if (insideReceivers != null && insideReceivers[i] != null) {
          for (int j=0; j < insideReceivers[i].length; j++) {
            insideReceivers[i][j].put(t);
          }
          transferred=true;
        }
      }
    }
 catch (    NoTokenException ex) {
      throw new InternalErrorException("String_Node_Str" + ex);
    }
  }
  return transferred;
}

Fixed version (ground truth):
/** 
 * Return true if data are transferred from the input port of the container to the connected ports of the controller and of the current refinement actor. <p> This method will transfer all of the available tokens on each input channel. The port argument must be an opaque input port. If any channel of the input port has no data, then that channel is ignored. Any token left not consumed in the ports to which data are transferred is discarded.
 * @param port The input port to transfer tokens from.
 * @return True if data are transferred.
 * @exception IllegalActionException If the port is not an opaqueinput port.
 */
public boolean transferInputs(IOPort port) throws IllegalActionException {
  if (!port.isInput() || !port.isOpaque()) {
    throw new IllegalActionException(this,port,"String_Node_Str" + "String_Node_Str");
  }
  boolean transferred=false;
  Receiver[][] insideReceivers=_currentLocalReceivers(port);
  for (int i=0; i < port.getWidth(); i++) {
    int rate=SDFUtilities.getTokenConsumptionRate(port);
    try {
      if (insideReceivers != null && insideReceivers[i] != null) {
        for (int j=0; j < insideReceivers[i].length; j++) {
          while (insideReceivers[i][j].hasToken()) {
            insideReceivers[i][j].get();
          }
        }
      }
      for (int k=0; k < rate; k++) {
        if (port.hasToken(i)) {
          ptolemy.data.Token t=port.get(i);
          if (insideReceivers != null && insideReceivers[i] != null) {
            for (int j=0; j < insideReceivers[i].length; j++) {
              insideReceivers[i][j].put(t);
            }
            transferred=true;
          }
        }
      }
    }
 catch (    NoTokenException ex) {
      throw new InternalErrorException("String_Node_Str" + ex);
    }
  }
  return transferred;
}