Program: 44775
Project: 44775
Buggy source:
@Override public String doProcess(ResolverContext context) throws ProcessorException {
  IDDBService app=(IDDBService)context.getServletContext().getAttribute("String_Node_Str");
  HttpServletRequest req=context.getRequest();
  String id=context.getParameter("String_Node_Str");
  log.debug("String_Node_Str",id);
  Player player;
  try {
    player=app.getPlayer(id);
  }
 catch (  Exception e) {
    StringWriter w=new StringWriter();
    e.printStackTrace(new PrintWriter(w));
    log.error(w.getBuffer().toString());
    throw new HttpError(HttpServletResponse.SC_NOT_FOUND);
  }
  Server server;
  try {
    server=app.getServer(player.getServer(),true);
  }
 catch (  EntityDoesNotExistsException e) {
    StringWriter w=new StringWriter();
    e.printStackTrace(new PrintWriter(w));
    log.error(w.getBuffer().toString());
    throw new ProcessorException(e);
  }
  Integer minLevel=server.getAdminLevel();
  Boolean hasAdmin=UserServiceFactory.getUserService().hasAnyServer(minLevel);
  Boolean hasServerAdmin=UserServiceFactory.getUserService().hasPermission(server.getKey());
  Boolean canApplyAction=false;
  Player currentPlayer=UserServiceFactory.getUserService().getSubjectPlayer(server.getKey());
  if (currentPlayer != null && (currentPlayer.getLevel() > player.getLevel())) {
    canApplyAction=true;
  }
  if (log.isDebugEnabled()) {
    log.debug("String_Node_Str",UserServiceFactory.getUserService().getCurrentUser().getLoginId());
    log.debug("String_Node_Str",currentPlayer);
    log.debug("String_Node_Str",minLevel);
    log.debug("String_Node_Str",hasAdmin);
    log.debug("String_Node_Str",hasServerAdmin);
    log.debug("String_Node_Str",canApplyAction);
  }
  List<NoticeViewBean> notices=null;
  List<PenaltyEventViewBean> events=null;
  PlayerViewBean infoView=new PlayerViewBean();
  infoView.setKey(player.getKey().toString());
  infoView.setName(player.getNickname());
  if (hasAdmin) {
    infoView.setGuid(player.getGuid());
    infoView.setIp(player.getIp());
  }
 else {
    infoView.setIp(Functions.maskIpAddress(player.getIp()));
  }
  infoView.setUpdated(player.getUpdated());
  infoView.setServer(server);
  if (hasAdmin) {
    getLastPlayerPenalty(app,player,infoView);
    notices=getPlayerNotices(app,player);
    events=listPlayerEvents(app,player,server);
  }
 else {
    if (player.getBanInfo() != null) {
      infoView.setBanInfo(new PenaltyViewBean(true));
    }
  }
  infoView.setAliases(new ArrayList<AliasResult>());
  infoView.setClientId(player.getClientId() != null ? "String_Node_Str" + player.getClientId().toString() : "String_Node_Str");
  infoView.setPlaying(player.isConnected());
  if (hasAdmin && player.getLevel() != null) {
    infoView.setLevel(player.getLevel().toString());
  }
 else {
    infoView.setLevel("String_Node_Str");
  }
  req.setAttribute("String_Node_Str",infoView);
  req.setAttribute("String_Node_Str",events);
  req.setAttribute("String_Node_Str",server);
  req.setAttribute("String_Node_Str",notices);
  req.setAttribute("String_Node_Str",hasAdmin);
  req.setAttribute("String_Node_Str",hasServerAdmin);
  req.setAttribute("String_Node_Str",server.getRemotePermission());
  req.setAttribute("String_Node_Str",canApplyAction);
  return null;
}

Fixed version (ground truth):
@Override public String doProcess(ResolverContext context) throws ProcessorException {
  IDDBService app=(IDDBService)context.getServletContext().getAttribute("String_Node_Str");
  HttpServletRequest req=context.getRequest();
  String id=context.getParameter("String_Node_Str");
  log.debug("String_Node_Str",id);
  Player player;
  try {
    player=app.getPlayer(id);
  }
 catch (  Exception e) {
    StringWriter w=new StringWriter();
    e.printStackTrace(new PrintWriter(w));
    log.error(w.getBuffer().toString());
    throw new HttpError(HttpServletResponse.SC_NOT_FOUND);
  }
  Server server;
  try {
    server=app.getServer(player.getServer(),true);
  }
 catch (  EntityDoesNotExistsException e) {
    StringWriter w=new StringWriter();
    e.printStackTrace(new PrintWriter(w));
    log.error(w.getBuffer().toString());
    throw new ProcessorException(e);
  }
  Integer minLevel=server.getAdminLevel();
  Boolean hasAdmin=UserServiceFactory.getUserService().hasAnyServer(minLevel);
  Boolean hasServerAdmin=UserServiceFactory.getUserService().hasPermission(server.getKey());
  Boolean canApplyAction=Boolean.FALSE;
  Player currentPlayer=UserServiceFactory.getUserService().getSubjectPlayer(server.getKey());
  if (currentPlayer != null && (currentPlayer.getLevel().intValue() > player.getLevel().intValue())) {
    canApplyAction=Boolean.TRUE;
  }
  if (log.isDebugEnabled()) {
    log.debug("String_Node_Str",UserServiceFactory.getUserService().getCurrentUser().getLoginId());
    log.debug("String_Node_Str",currentPlayer);
    log.debug("String_Node_Str",minLevel);
    log.debug("String_Node_Str",hasAdmin);
    log.debug("String_Node_Str",hasServerAdmin);
    log.debug("String_Node_Str",canApplyAction);
    log.debug("String_Node_Str",server.getRemotePermission());
    log.debug("String_Node_Str",server.getPermissions().keySet());
  }
  List<NoticeViewBean> notices=null;
  List<PenaltyEventViewBean> events=null;
  PlayerViewBean infoView=new PlayerViewBean();
  infoView.setKey(player.getKey().toString());
  infoView.setName(player.getNickname());
  if (hasAdmin) {
    infoView.setGuid(player.getGuid());
    infoView.setIp(player.getIp());
  }
 else {
    infoView.setIp(Functions.maskIpAddress(player.getIp()));
  }
  infoView.setUpdated(player.getUpdated());
  infoView.setServer(server);
  if (hasAdmin) {
    getLastPlayerPenalty(app,player,infoView);
    notices=getPlayerNotices(app,player);
    events=listPlayerEvents(app,player,server);
  }
 else {
    if (player.getBanInfo() != null) {
      infoView.setBanInfo(new PenaltyViewBean(true));
    }
  }
  infoView.setAliases(new ArrayList<AliasResult>());
  infoView.setClientId(player.getClientId() != null ? "String_Node_Str" + player.getClientId().toString() : "String_Node_Str");
  infoView.setPlaying(player.isConnected());
  if (hasAdmin && player.getLevel() != null) {
    infoView.setLevel(player.getLevel().toString());
  }
 else {
    infoView.setLevel("String_Node_Str");
  }
  req.setAttribute("String_Node_Str",infoView);
  req.setAttribute("String_Node_Str",events);
  req.setAttribute("String_Node_Str",server);
  req.setAttribute("String_Node_Str",notices);
  req.setAttribute("String_Node_Str",hasAdmin);
  req.setAttribute("String_Node_Str",hasServerAdmin);
  req.setAttribute("String_Node_Str",server.getRemotePermission());
  req.setAttribute("String_Node_Str",canApplyAction);
  return null;
}