Program: 72387
Project: 72387
Buggy source:
/** 
 * Callback delivered by the RTI (CERTI) to discover attribute instance of HLA attribute that the Federate is subscribed to.
 */
@Override public void discoverObjectInstance(int objectHandle_,int classHandle_,String objectName_) throws CouldNotDiscover, ObjectClassNotKnown, FederateInternalError {
  final int classHandle=classHandle_;
  final String objectName=objectName_;
  final int objectHandle=objectHandle_;
  _objectIdToClassHandle.put(objectHandle,classHandle);
  final CompositeActor classToInstantiate=(CompositeActor)_strucuralInformation.get(classHandle).classToInstantiate;
  _noObjectDicovered=false;
  ChangeRequest request=new ChangeRequest(this,"String_Node_Str" + objectName,true){
    @Override protected void _execute() throws IllegalActionException {
      CompositeActor container=(CompositeActor)classToInstantiate.getContainer();
      CompositeActor newActor=null;
      try {
        Instantiable instance=null;
        StructuralInformation info=_strucuralInformation.get(classHandle);
        LinkedList<ComponentEntity> actors=info.freeActors;
        if (actors.size() == 0) {
          instance=classToInstantiate.instantiate(container,objectName);
          newActor=(CompositeActor)instance;
          LinkedList<IOPort> outputPortList=(LinkedList<IOPort>)newActor.outputPortList();
          container.notifyConnectivityChange();
          for (          IOPort out : outputPortList) {
            ComponentRelation r=null;
            HashSet<IOPort> ports=info.getPortReceiver(out.getName());
            if (ports == null) {
              continue;
            }
            for (            IOPort recv : ports) {
              if (r == null) {
                r=container.connect(out,recv,objectName + "String_Node_Str" + out.getName());
              }
 else {
                recv.link(r);
              }
            }
          }
          if (_debugging) {
            _debug("String_Node_Str" + objectName);
          }
        }
 else {
          instance=actors.poll();
          newActor=(CompositeActor)instance;
          newActor.setDisplayName(objectName);
          if (_debugging) {
            _debug(instance.getName() + "String_Node_Str" + objectName);
          }
        }
{
          Attribute name=newActor.getAttribute("String_Node_Str");
          if (name != null) {
            Parameter p=(Parameter)name;
            p.setTypeEquals(BaseType.STRING);
            p.setExpression("String_Node_Str" + objectName + "String_Node_Str");
          }
        }
        List<HlaSubscriber> subscribers=newActor.entityList(HlaSubscriber.class);
        for (int i=0; i < subscribers.size(); ++i) {
          HlaSubscriber sub=subscribers.get(i);
          sub.objectName.setExpression("String_Node_Str" + objectName + "String_Node_Str");
          ;
          sub.setObjectHandle(objectHandle);
          _hlaAttributesSubscribedTo.put(sub.getIdentity(),new Object[]{sub.output,sub.output.getType(),"String_Node_Str",classHandle,sub.getAttributeHandle()});
          _fromFederationEvents.put(sub.getIdentity(),new LinkedList<TimedEvent>());
        }
      }
 catch (      NameDuplicationException|CloneNotSupportedException ex) {
        ex.printStackTrace();
      }
    }
  }
;
  request.setPersistent(false);
  requestChange(request);
  if (_debugging) {
    String toLog="String_Node_Str" + "String_Node_Str" + objectName + "String_Node_Str"+ "String_Node_Str"+ objectHandle+ "String_Node_Str"+ classHandle+ "String_Node_Str";
    _debug(toLog);
  }
}

Fixed version (ground truth):
/** 
 * Callback delivered by the RTI (CERTI) to discover attribute instance of HLA attribute that the Federate is subscribed to.
 */
@Override public void discoverObjectInstance(int objectHandle_,int classHandle_,String objectName_) throws CouldNotDiscover, ObjectClassNotKnown, FederateInternalError {
  final int classHandle=classHandle_;
  final String objectName=objectName_;
  final int objectHandle=objectHandle_;
  _objectIdToClassHandle.put(objectHandle,classHandle);
  final CompositeActor classToInstantiate=(CompositeActor)_strucuralInformation.get(classHandle).classToInstantiate;
  _noObjectDicovered=false;
  ChangeRequest request=new ChangeRequest(this,"String_Node_Str" + objectName,true){
    @Override protected void _execute() throws IllegalActionException {
      CompositeActor container=(CompositeActor)classToInstantiate.getContainer();
      CompositeActor newActor=null;
      try {
        Instantiable instance=null;
        StructuralInformation info=_strucuralInformation.get(classHandle);
        LinkedList<ComponentEntity> actors=info.freeActors;
        if (actors.size() == 0) {
          instance=classToInstantiate.instantiate(container,objectName);
          newActor=(CompositeActor)instance;
          LinkedList<IOPort> outputPortList=(LinkedList<IOPort>)newActor.outputPortList();
          container.notifyConnectivityChange();
          for (          IOPort out : outputPortList) {
            ComponentRelation r=null;
            HashSet<IOPort> ports=info.getPortReceiver(out.getName());
            if (ports == null) {
              continue;
            }
            for (            IOPort recv : ports) {
              if (r == null) {
                r=container.connect(out,recv,objectName + "String_Node_Str" + out.getName());
              }
 else {
                recv.link(r);
              }
            }
          }
          if (_debugging) {
            _debug("String_Node_Str" + objectName);
          }
        }
 else {
          instance=actors.poll();
          if (instance == null) {
            throw new IllegalActionException("String_Node_Str");
          }
 else {
            newActor=(CompositeActor)instance;
            newActor.setDisplayName(objectName);
            if (_debugging) {
              _debug(instance.getName() + "String_Node_Str" + objectName);
            }
          }
        }
{
          Attribute name=newActor.getAttribute("String_Node_Str");
          if (name != null) {
            Parameter p=(Parameter)name;
            p.setTypeEquals(BaseType.STRING);
            p.setExpression("String_Node_Str" + objectName + "String_Node_Str");
          }
        }
        List<HlaSubscriber> subscribers=newActor.entityList(HlaSubscriber.class);
        for (int i=0; i < subscribers.size(); ++i) {
          HlaSubscriber sub=subscribers.get(i);
          sub.objectName.setExpression("String_Node_Str" + objectName + "String_Node_Str");
          ;
          sub.setObjectHandle(objectHandle);
          _hlaAttributesSubscribedTo.put(sub.getIdentity(),new Object[]{sub.output,sub.output.getType(),"String_Node_Str",classHandle,sub.getAttributeHandle()});
          _fromFederationEvents.put(sub.getIdentity(),new LinkedList<TimedEvent>());
        }
      }
 catch (      NameDuplicationException|CloneNotSupportedException ex) {
        ex.printStackTrace();
      }
    }
  }
;
  request.setPersistent(false);
  requestChange(request);
  if (_debugging) {
    String toLog="String_Node_Str" + "String_Node_Str" + objectName + "String_Node_Str"+ "String_Node_Str"+ objectHandle+ "String_Node_Str"+ classHandle+ "String_Node_Str";
    _debug(toLog);
  }
}