Program: 104089
Project: 104089
Buggy source:
/** 
 * Process a request from a distant contact
 * @param requestEvent the <tt>RequestEvent</tt> containing the newlyreceived request.
 * @return <tt>true</tt> if the specified event has been handled by thisprocessor and shouldn't be offered to other processors registered for the same method; <tt>false</tt>, otherwise
 */
public boolean processRequest(RequestEvent requestEvent){
synchronized (messageProcessors) {
    Iterator iter=messageProcessors.iterator();
    while (iter.hasNext()) {
      SipMessageProcessor listener=(SipMessageProcessor)iter.next();
      if (!listener.processMessage(requestEvent))       return true;
    }
  }
  String content=null;
  Request req=requestEvent.getRequest();
  try {
    content=new String(req.getRawContent(),getCharset(req));
  }
 catch (  UnsupportedEncodingException ex) {
    logger.debug("String_Node_Str");
    content=new String(requestEvent.getRequest().getRawContent());
  }
  FromHeader fromHeader=(FromHeader)requestEvent.getRequest().getHeader(FromHeader.NAME);
  if (fromHeader == null) {
    logger.error("String_Node_Str");
    return false;
  }
  Contact from=opSetPersPresence.resolveContactID(fromHeader.getAddress().getURI().toString());
  ContentTypeHeader ctheader=(ContentTypeHeader)req.getHeader(ContentTypeHeader.NAME);
  String ctype=null;
  String cencoding=null;
  if (ctheader == null) {
    ctype=DEFAULT_MIME_TYPE;
  }
 else {
    ctype=ctheader.getContentType() + "String_Node_Str" + ctheader.getContentSubType();
    cencoding=ctheader.getParameter("String_Node_Str");
  }
  if (cencoding == null)   cencoding=DEFAULT_MIME_ENCODING;
  Message newMessage=createMessage(content,ctype,cencoding,null);
  if (from == null) {
    logger.debug("String_Node_Str" + fromHeader.getAddress().getURI().toString());
    from=opSetPersPresence.createVolatileContact(fromHeader.getAddress());
  }
  try {
    Response ok=sipProvider.getMessageFactory().createResponse(Response.OK,requestEvent.getRequest());
    SipProvider jainSipProvider=(SipProvider)requestEvent.getSource();
    jainSipProvider.getNewServerTransaction(requestEvent.getRequest()).sendResponse(ok);
  }
 catch (  ParseException exc) {
    logger.error("String_Node_Str",exc);
  }
catch (  SipException exc) {
    logger.error("String_Node_Str" + exc.getMessage(),exc);
  }
catch (  InvalidArgumentException exc) {
    logger.debug("String_Node_Str" + exc.getMessage(),exc);
  }
  MessageReceivedEvent msgReceivedEvt=new MessageReceivedEvent(newMessage,from,System.currentTimeMillis());
  fireMessageEvent(msgReceivedEvt);
  return true;
}

Fixed version (ground truth):
/** 
 * Process a request from a distant contact
 * @param requestEvent the <tt>RequestEvent</tt> containing the newlyreceived request.
 * @return <tt>true</tt> if the specified event has been handled by thisprocessor and shouldn't be offered to other processors registered for the same method; <tt>false</tt>, otherwise
 */
public boolean processRequest(RequestEvent requestEvent){
synchronized (messageProcessors) {
    Iterator iter=messageProcessors.iterator();
    while (iter.hasNext()) {
      SipMessageProcessor listener=(SipMessageProcessor)iter.next();
      if (!listener.processMessage(requestEvent))       return true;
    }
  }
  String content=null;
  Request req=requestEvent.getRequest();
  try {
    content=new String(req.getRawContent(),getCharset(req));
  }
 catch (  UnsupportedEncodingException ex) {
    logger.debug("String_Node_Str");
    content=new String(requestEvent.getRequest().getRawContent());
  }
  FromHeader fromHeader=(FromHeader)requestEvent.getRequest().getHeader(FromHeader.NAME);
  if (fromHeader == null) {
    logger.error("String_Node_Str");
    return false;
  }
  Contact from=opSetPersPresence.resolveContactID(fromHeader.getAddress().getURI().toString());
  ContentTypeHeader ctheader=(ContentTypeHeader)req.getHeader(ContentTypeHeader.NAME);
  String ctype=null;
  String cencoding=null;
  if (ctheader == null) {
    ctype=DEFAULT_MIME_TYPE;
  }
 else {
    ctype=ctheader.getContentType() + "String_Node_Str" + ctheader.getContentSubType();
    cencoding=ctheader.getParameter("String_Node_Str");
  }
  if (cencoding == null)   cencoding=DEFAULT_MIME_ENCODING;
  Message newMessage=createMessage(content,ctype,cencoding,null);
  if (from == null) {
    logger.debug("String_Node_Str" + fromHeader.getAddress().getURI().toString());
    from=opSetPersPresence.createVolatileContact(fromHeader.getAddress());
  }
  try {
    Response ok=sipProvider.getMessageFactory().createResponse(Response.OK,requestEvent.getRequest());
    SipStackSharing.getOrCreateServerTransaction(requestEvent).sendResponse(ok);
  }
 catch (  ParseException exc) {
    logger.error("String_Node_Str",exc);
  }
catch (  SipException exc) {
    logger.error("String_Node_Str" + exc.getMessage(),exc);
  }
catch (  InvalidArgumentException exc) {
    logger.debug("String_Node_Str" + exc.getMessage(),exc);
  }
  MessageReceivedEvent msgReceivedEvt=new MessageReceivedEvent(newMessage,from,System.currentTimeMillis());
  fireMessageEvent(msgReceivedEvt);
  return true;
}