Program: 74216
Project: 74216
Buggy source:
public RefiringData fire(ArrayToken arguments) throws IllegalActionException {
  RefiringData data=super.fire(arguments);
  NamedObj toplevel=getModelParameter().getModel().toplevel();
  if (toplevel instanceof CompositeActor) {
    try {
      _debug(new GTDebugEvent(this,"String_Node_Str"));
      CompositeActor actor=(CompositeActor)toplevel;
      if (_effigy == null || _effigy.getContainer() == null) {
        Effigy parentEffigy=Configuration.findEffigy(toplevel());
        try {
          _effigy=new PtolemyEffigy(parentEffigy,parentEffigy.uniqueName("String_Node_Str"));
        }
 catch (        NameDuplicationException e) {
          throw new IllegalActionException(this,e,"String_Node_Str");
        }
      }
      _effigy.setModel(actor);
      Manager oldManager=actor.getManager();
      Manager manager=new Manager(actor.workspace(),"String_Node_Str");
synchronized (_managers) {
        _managers.add(manager);
      }
      actor.setManager(manager);
      try {
        _debug(new GTDebugEvent(this,"String_Node_Str"));
        manager.execute();
        _debug(new GTDebugEvent(this,"String_Node_Str"));
      }
  finally {
synchronized (_managers) {
          _managers.remove(manager);
        }
        actor.workspace().remove(manager);
        actor.setManager(oldManager);
      }
    }
 catch (    KernelException e) {
      _debug(new GTErrorEvent(this,"String_Node_Str" + "String_Node_Str"));
      throw new IllegalActionException(this,e,"String_Node_Str" + "String_Node_Str");
    }
 finally {
      _effigy.setModel(null);
    }
  }
 else {
    _debug(new GTErrorEvent(this,"String_Node_Str" + "String_Node_Str"));
    throw new IllegalActionException("String_Node_Str" + "String_Node_Str");
  }
  return data;
}

Fixed version (ground truth):
public RefiringData fire(ArrayToken arguments) throws IllegalActionException {
  RefiringData data=super.fire(arguments);
  NamedObj toplevel=getModelParameter().getModel().toplevel();
  if (toplevel instanceof CompositeActor) {
    try {
      _debug(new GTDebugEvent(this,"String_Node_Str"));
      CompositeActor actor=(CompositeActor)toplevel;
      if (_effigy == null || _effigy.getContainer() == null) {
        Effigy parentEffigy=GTEntityUtils.findToplevelEffigy(this);
        try {
          _effigy=new PtolemyEffigy(parentEffigy,parentEffigy.uniqueName("String_Node_Str"));
        }
 catch (        NameDuplicationException e) {
          throw new IllegalActionException(this,e,"String_Node_Str");
        }
      }
      _effigy.setModel(actor);
      Manager oldManager=actor.getManager();
      Manager manager=new Manager(actor.workspace(),"String_Node_Str");
synchronized (_managers) {
        _managers.add(manager);
      }
      actor.setManager(manager);
      try {
        _debug(new GTDebugEvent(this,"String_Node_Str"));
        manager.execute();
        _debug(new GTDebugEvent(this,"String_Node_Str"));
      }
  finally {
synchronized (_managers) {
          _managers.remove(manager);
        }
        actor.workspace().remove(manager);
        actor.setManager(oldManager);
      }
    }
 catch (    KernelException e) {
      _debug(new GTErrorEvent(this,"String_Node_Str" + "String_Node_Str"));
      throw new IllegalActionException(this,e,"String_Node_Str" + "String_Node_Str");
    }
 finally {
      _effigy.setModel(null);
    }
  }
 else {
    _debug(new GTErrorEvent(this,"String_Node_Str" + "String_Node_Str"));
    throw new IllegalActionException("String_Node_Str" + "String_Node_Str");
  }
  return data;
}