Program: 152837
Project: 152837
Buggy source:
public boolean pollChanges(AbstractProject project,Launcher launcher,FilePath workspace,final TaskListener listener) throws IOException, InterruptedException {
  AbstractBuild lastBuild=(AbstractBuild)project.getLastBuild();
  if (lastBuild == null) {
    listener.getLogger().println("String_Node_Str");
    return true;
  }
  if (repositoryLocationsNoLongerExist(lastBuild,listener)) {
    listener.getLogger().println("String_Node_Str" + project + "String_Node_Str");
    project.makeDisabled(true);
    return false;
  }
  final Map<String,Long> wsRev=parseRevisionFile(lastBuild);
  final List<External> externals=parseExternalsFile(project);
  for (  ModuleLocation loc : getLocations(lastBuild)) {
    if (!wsRev.containsKey(loc.getURL())) {
      listener.getLogger().println("String_Node_Str" + loc.getURL() + "String_Node_Str");
      return true;
    }
  }
  VirtualChannel ch=null;
  Node n=lastBuild.getBuiltOn();
  if (n != null) {
    Computer c=n.toComputer();
    if (c != null)     ch=c.getChannel();
  }
  if (ch == null)   ch=MasterComputer.localChannel;
  return ch.call(new Callable<Boolean,IOException>(){
    final ISVNAuthenticationProvider authProvider=getDescriptor().createAuthenticationProvider();
    final String globalExcludedRevprop=getDescriptor().getGlobalExcludedRevprop();
    public Boolean call() throws IOException {
      OUTER:       for (      Map.Entry<String,Long> localInfo : wsRev.entrySet()) {
        String url=localInfo.getKey();
        for (        External ext : externals)         if (ext.url.equals(url) && ext.isRevisionFixed())         continue OUTER;
        try {
          final SVNURL decodedURL=SVNURL.parseURIDecoded(url);
          SvnInfo remoteInfo=new SvnInfo(parseSvnInfo(decodedURL,authProvider));
          listener.getLogger().println(Messages.SubversionSCM_pollChanges_remoteRevisionAt(url,remoteInfo.revision));
          if (remoteInfo.revision > localInfo.getValue()) {
            boolean changesFound=true;
            Pattern[] excludedPatterns=getExcludedRegionsPatterns();
            String[] excludedUsers=getExcludedUsersNormalized();
            String excludedRevprop=Util.fixEmptyAndTrim(getExcludedRevprop());
            if (excludedRevprop == null) {
              excludedRevprop=globalExcludedRevprop;
            }
            if (excludedPatterns != null || excludedUsers != null || excludedRevprop != null) {
              SVNLogHandler handler=new SVNLogHandler(listener,excludedPatterns,excludedUsers,excludedRevprop);
              final SVNClientManager manager=createSvnClientManager(authProvider);
              try {
                final SVNLogClient svnlc=manager.getLogClient();
                svnlc.doLog(decodedURL,null,SVNRevision.UNDEFINED,SVNRevision.create(localInfo.getValue() + 1),SVNRevision.create(remoteInfo.revision),false,true,false,0,null,handler);
              }
  finally {
                manager.dispose();
              }
              changesFound=handler.isChangesFound();
            }
            if (changesFound) {
              listener.getLogger().println(Messages.SubversionSCM_pollChanges_changedFrom(localInfo.getValue()));
              return true;
            }
          }
        }
 catch (        SVNException e) {
          e.printStackTrace(listener.error("String_Node_Str" + url));
        }
      }
      return false;
    }
  }
);
}

Fixed version (ground truth):
public boolean pollChanges(AbstractProject project,Launcher launcher,FilePath workspace,final TaskListener listener) throws IOException, InterruptedException {
  AbstractBuild lastBuild=(AbstractBuild)project.getLastBuild();
  if (lastBuild == null) {
    listener.getLogger().println("String_Node_Str");
    return true;
  }
  if (repositoryLocationsNoLongerExist(lastBuild,listener)) {
    listener.getLogger().println("String_Node_Str" + project + "String_Node_Str");
    project.makeDisabled(true);
    return false;
  }
  final Map<String,Long> wsRev=parseRevisionFile(lastBuild);
  final List<External> externals=parseExternalsFile(project);
  for (  ModuleLocation loc : getLocations(lastBuild)) {
    if (!wsRev.containsKey(loc.getURL())) {
      listener.getLogger().println("String_Node_Str" + loc.getURL() + "String_Node_Str");
      return true;
    }
  }
  VirtualChannel ch=null;
  Node n=lastBuild.getBuiltOn();
  if (n != null) {
    Computer c=n.toComputer();
    if (c != null)     ch=c.getChannel();
  }
  if (ch == null)   ch=MasterComputer.localChannel;
  return ch.call(new DelegatingCallable<Boolean,IOException>(){
    final ISVNAuthenticationProvider authProvider=getDescriptor().createAuthenticationProvider();
    final String globalExcludedRevprop=getDescriptor().getGlobalExcludedRevprop();
    public ClassLoader getClassLoader(){
      return Hudson.getInstance().getPluginManager().uberClassLoader;
    }
    public Boolean call() throws IOException {
      OUTER:       for (      Map.Entry<String,Long> localInfo : wsRev.entrySet()) {
        String url=localInfo.getKey();
        for (        External ext : externals)         if (ext.url.equals(url) && ext.isRevisionFixed())         continue OUTER;
        try {
          final SVNURL decodedURL=SVNURL.parseURIDecoded(url);
          SvnInfo remoteInfo=new SvnInfo(parseSvnInfo(decodedURL,authProvider));
          listener.getLogger().println(Messages.SubversionSCM_pollChanges_remoteRevisionAt(url,remoteInfo.revision));
          if (remoteInfo.revision > localInfo.getValue()) {
            boolean changesFound=true;
            Pattern[] excludedPatterns=getExcludedRegionsPatterns();
            String[] excludedUsers=getExcludedUsersNormalized();
            String excludedRevprop=Util.fixEmptyAndTrim(getExcludedRevprop());
            if (excludedRevprop == null) {
              excludedRevprop=globalExcludedRevprop;
            }
            if (excludedPatterns != null || excludedUsers != null || excludedRevprop != null) {
              SVNLogHandler handler=new SVNLogHandler(listener,excludedPatterns,excludedUsers,excludedRevprop);
              final SVNClientManager manager=createSvnClientManager(authProvider);
              try {
                final SVNLogClient svnlc=manager.getLogClient();
                svnlc.doLog(decodedURL,null,SVNRevision.UNDEFINED,SVNRevision.create(localInfo.getValue() + 1),SVNRevision.create(remoteInfo.revision),false,true,false,0,null,handler);
              }
  finally {
                manager.dispose();
              }
              changesFound=handler.isChangesFound();
            }
            if (changesFound) {
              listener.getLogger().println(Messages.SubversionSCM_pollChanges_changedFrom(localInfo.getValue()));
              return true;
            }
          }
        }
 catch (        SVNException e) {
          e.printStackTrace(listener.error("String_Node_Str" + url));
        }
      }
      return false;
    }
  }
);
}