Program: 24174
Project: 24174
Buggy source:
private void produceResource2(ResourceDefn resource) throws Exception {
  File tmp=File.createTempFile("String_Node_Str","String_Node_Str");
  tmp.deleteOnExit();
  String n=resource.getName().toLowerCase();
  String xml=xmls.get(n);
  TerminologyNotesGenerator tgen=new TerminologyNotesGenerator(new FileOutputStream(tmp),page);
  tgen.generate(resource.getRoot(),page.getDefinitions().getBindings());
  tgen.close();
  String tx=TextFile.fileToString(tmp.getAbsolutePath());
  DictHTMLGenerator dgen=new DictHTMLGenerator(new FileOutputStream(tmp),page);
  dgen.generate(resource.getRoot());
  dgen.close();
  String dict=TextFile.fileToString(tmp.getAbsolutePath());
  MappingsGenerator mgen=new MappingsGenerator();
  mgen.generate(resource);
  String mappings=mgen.getMappings();
  String mappingsList=mgen.getMappingsList();
  SvgGenerator svg=new SvgGenerator(page);
  svg.generate(resource,page.getFolders().dstDir + n + "String_Node_Str");
  for (  RegisteredProfile p : resource.getProfiles())   p.setResource(produceProfile(p.getDestFilename(),p.getProfile(),p.getExamplePath(),p.getExample(),resource.getName()));
  Profile profile=(Profile)profileFeed.getById("String_Node_Str" + resource.getName().toLowerCase()).getResource();
  for (  Example e : resource.getExamples()) {
    try {
      processExample(e,resource,profile);
    }
 catch (    Exception ex) {
      throw new Exception("String_Node_Str" + e.getFileTitle(),ex);
    }
  }
  String prefix=page.getBreadCrumbManager().getIndexPrefixForResource(resource.getName());
  SectionTracker st=new SectionTracker(prefix);
  st.start("String_Node_Str");
  page.getSectionTrackerCache().put(n,st);
  String src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  src=insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str");
  TextFile.stringToFile(src,page.getFolders().dstDir + n + "String_Node_Str");
  String pages=page.getIni().getStringProperty("String_Node_Str",n);
  if (!Utilities.noString(pages)) {
    for (    String p : pages.split("String_Node_Str")) {
      producePage(p,n);
    }
  }
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
  src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str");
  cachePage(n + "String_Node_Str",src,"String_Node_Str" + resource.getName());
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
  src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str");
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
  src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str");
  cachePage(n + "String_Node_Str",src,"String_Node_Str" + resource.getName());
  tmp.delete();
  generateProfile(resource,n,xml,GenerationMode.Resource);
}

Fixed version (ground truth):
private void produceResource2(ResourceDefn resource) throws Exception {
  File tmp=File.createTempFile("String_Node_Str","String_Node_Str");
  tmp.deleteOnExit();
  String n=resource.getName().toLowerCase();
  String xml=xmls.get(n);
  TerminologyNotesGenerator tgen=new TerminologyNotesGenerator(new FileOutputStream(tmp),page);
  tgen.generate(resource.getRoot(),page.getDefinitions().getBindings());
  tgen.close();
  String tx=TextFile.fileToString(tmp.getAbsolutePath());
  DictHTMLGenerator dgen=new DictHTMLGenerator(new FileOutputStream(tmp),page);
  dgen.generate(resource.getRoot());
  dgen.close();
  String dict=TextFile.fileToString(tmp.getAbsolutePath());
  MappingsGenerator mgen=new MappingsGenerator();
  mgen.generate(resource);
  String mappings=mgen.getMappings();
  String mappingsList=mgen.getMappingsList();
  SvgGenerator svg=new SvgGenerator(page);
  svg.generate(resource,page.getFolders().dstDir + n + "String_Node_Str");
  for (  RegisteredProfile p : resource.getProfiles())   p.setResource(produceProfile(p.getDestFilename(),p.getProfile(),p.getExamplePath(),p.getFilepath(),p.getExample(),resource.getName()));
  Profile profile=(Profile)profileFeed.getById("String_Node_Str" + resource.getName().toLowerCase()).getResource();
  for (  Example e : resource.getExamples()) {
    try {
      processExample(e,resource,profile);
    }
 catch (    Exception ex) {
      throw new Exception("String_Node_Str" + e.getFileTitle(),ex);
    }
  }
  String prefix=page.getBreadCrumbManager().getIndexPrefixForResource(resource.getName());
  SectionTracker st=new SectionTracker(prefix);
  st.start("String_Node_Str");
  page.getSectionTrackerCache().put(n,st);
  String src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  src=insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str");
  TextFile.stringToFile(src,page.getFolders().dstDir + n + "String_Node_Str");
  String pages=page.getIni().getStringProperty("String_Node_Str",n);
  if (!Utilities.noString(pages)) {
    for (    String p : pages.split("String_Node_Str")) {
      producePage(p,n);
    }
  }
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str");
  TextFile.stringToFile(insertSectionNumbers(page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str"),st,n + "String_Node_Str"),page.getFolders().dstDir + n + "String_Node_Str");
  page.getEpub().registerFile(n + "String_Node_Str","String_Node_Str" + resource.getName(),EPubManager.XHTML_TYPE);
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
  src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str");
  cachePage(n + "String_Node_Str",src,"String_Node_Str" + resource.getName());
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
  src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str");
  src=TextFile.fileToString(page.getFolders().srcDir + "String_Node_Str").replace("String_Node_Str","String_Node_Str");
  src=page.processResourceIncludes(n,resource,xml,tx,dict,src,mappings,mappingsList,"String_Node_Str");
  cachePage(n + "String_Node_Str",src,"String_Node_Str" + resource.getName());
  tmp.delete();
  generateProfile(resource,n,xml,GenerationMode.Resource);
}