Program: 167961
Project: 167961
Buggy source:
/** 
 * {@inheritDoc} 
 */
public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
  final DeploymentUnit deploymentUnit=phaseContext.getDeploymentUnit();
  final ModuleSpecification moduleSpecification=deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION);
  final ModuleLoader moduleLoader=deploymentUnit.getAttachment(Attachments.SERVICE_MODULE_LOADER);
  final ServiceController<?> controller=phaseContext.getServiceRegistry().getRequiredService(Services.JBOSS_DEPLOYMENT_EXTENSION_INDEX);
  final ExtensionIndex index=(ExtensionIndex)controller.getValue();
  final List<ResourceRoot> allResourceRoots=DeploymentUtils.allResourceRoots(deploymentUnit);
  final Set<ServiceName> nextPhaseDeps=new HashSet<ServiceName>();
  for (  ResourceRoot resourceRoot : allResourceRoots) {
    if (!ModuleRootMarker.isModuleRoot(resourceRoot))     continue;
    final AttachmentList<ExtensionListEntry> entries=resourceRoot.getAttachment(Attachments.EXTENSION_LIST_ENTRIES);
    if (entries != null) {
      for (      ExtensionListEntry entry : entries) {
        final ModuleIdentifier extension=index.findExtension(entry.getName(),entry.getSpecificationVersion(),entry.getImplementationVersion(),entry.getImplementationVendorId());
        if (extension != null) {
          moduleSpecification.addDependency(new ModuleDependency(moduleLoader,extension,false,false,true));
          nextPhaseDeps.add(ServiceModuleLoader.moduleSpecServiceName(extension));
          nextPhaseDeps.add(ServiceModuleLoader.moduleSpecServiceName(extension));
        }
 else {
          log.warnf("String_Node_Str" + entry + "String_Node_Str"+ resourceRoot);
        }
      }
    }
  }
  final List<AdditionalModuleSpecification> additionalModules=deploymentUnit.getAttachment(Attachments.ADDITIONAL_MODULES);
  if (additionalModules != null) {
    for (    AdditionalModuleSpecification additionalModule : additionalModules) {
      for (      ResourceRoot resourceRoot : additionalModule.getResourceRoots()) {
        final AttachmentList<ExtensionListEntry> entries=resourceRoot.getAttachment(Attachments.EXTENSION_LIST_ENTRIES);
        if (entries != null) {
          for (          ExtensionListEntry entry : entries) {
            final ModuleIdentifier extension=index.findExtension(entry.getName(),entry.getSpecificationVersion(),entry.getImplementationVersion(),entry.getImplementationVendorId());
            if (extension != null) {
              moduleSpecification.addDependency(new ModuleDependency(moduleLoader,extension,false,false,true));
              nextPhaseDeps.add(ServiceModuleLoader.moduleSpecServiceName(extension));
            }
 else {
              log.warnf("String_Node_Str" + entry + "String_Node_Str"+ resourceRoot);
            }
          }
        }
      }
    }
  }
  for (  ServiceName dep : nextPhaseDeps) {
    phaseContext.addToAttachmentList(Attachments.NEXT_PHASE_DEPS,dep);
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc} 
 */
public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
  final DeploymentUnit deploymentUnit=phaseContext.getDeploymentUnit();
  final ModuleSpecification moduleSpecification=deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION);
  final ModuleLoader moduleLoader=deploymentUnit.getAttachment(Attachments.SERVICE_MODULE_LOADER);
  final ServiceController<?> controller=phaseContext.getServiceRegistry().getRequiredService(Services.JBOSS_DEPLOYMENT_EXTENSION_INDEX);
  final ExtensionIndex index=(ExtensionIndex)controller.getValue();
  final List<ResourceRoot> allResourceRoots=DeploymentUtils.allResourceRoots(deploymentUnit);
  final Set<ServiceName> nextPhaseDeps=new HashSet<ServiceName>();
  for (  ResourceRoot resourceRoot : allResourceRoots) {
    final AttachmentList<ExtensionListEntry> entries=resourceRoot.getAttachment(Attachments.EXTENSION_LIST_ENTRIES);
    if (entries != null) {
      for (      ExtensionListEntry entry : entries) {
        final ModuleIdentifier extension=index.findExtension(entry.getName(),entry.getSpecificationVersion(),entry.getImplementationVersion(),entry.getImplementationVendorId());
        if (extension != null) {
          moduleSpecification.addDependency(new ModuleDependency(moduleLoader,extension,false,false,true));
          nextPhaseDeps.add(ServiceModuleLoader.moduleSpecServiceName(extension));
          nextPhaseDeps.add(ServiceModuleLoader.moduleSpecServiceName(extension));
        }
 else {
          log.warnf("String_Node_Str" + entry + "String_Node_Str"+ resourceRoot);
        }
      }
    }
  }
  final List<AdditionalModuleSpecification> additionalModules=deploymentUnit.getAttachment(Attachments.ADDITIONAL_MODULES);
  if (additionalModules != null) {
    for (    AdditionalModuleSpecification additionalModule : additionalModules) {
      for (      ResourceRoot resourceRoot : additionalModule.getResourceRoots()) {
        final AttachmentList<ExtensionListEntry> entries=resourceRoot.getAttachment(Attachments.EXTENSION_LIST_ENTRIES);
        if (entries != null) {
          for (          ExtensionListEntry entry : entries) {
            final ModuleIdentifier extension=index.findExtension(entry.getName(),entry.getSpecificationVersion(),entry.getImplementationVersion(),entry.getImplementationVendorId());
            if (extension != null) {
              moduleSpecification.addDependency(new ModuleDependency(moduleLoader,extension,false,false,true));
              nextPhaseDeps.add(ServiceModuleLoader.moduleSpecServiceName(extension));
            }
 else {
              log.warnf("String_Node_Str" + entry + "String_Node_Str"+ resourceRoot);
            }
          }
        }
      }
    }
  }
  for (  ServiceName dep : nextPhaseDeps) {
    phaseContext.addToAttachmentList(Attachments.NEXT_PHASE_DEPS,dep);
  }
}