Program: 103122
Project: 103122
Buggy source:
/** 
 * Creates an account for the given user and password.
 * @param providerFactory the ProtocolProviderFactory which will createthe account
 * @param userName the user identifier
 * @param passwd the password
 * @return the <tt>ProtocolProviderService</tt> for the new account.
 * @throws OperationFailedException if the operation didn't succeed
 */
protected ProtocolProviderService installAccount(ProtocolProviderFactory providerFactory,String userName,String passwd) throws OperationFailedException {
  if (logger.isTraceEnabled()) {
    logger.trace("String_Node_Str" + userName);
  }
  Hashtable<String,String> accountProperties=new Hashtable<String,String>();
  accountProperties.put(ProtocolProviderFactory.IS_PREFERRED_PROTOCOL,Boolean.toString(isPreferredProtocol()));
  accountProperties.put(ProtocolProviderFactory.PROTOCOL,getProtocol());
  String protocolIconPath=getProtocolIconPath();
  String accountIconPath=getAccountIconPath();
  registration.storeProperties(userName,passwd,protocolIconPath,accountIconPath,accountProperties);
  if (isModification()) {
    providerFactory.modifyAccount(protocolProvider,accountProperties);
    setModification(false);
    return protocolProvider;
  }
  try {
    if (logger.isTraceEnabled()) {
      logger.trace("String_Node_Str" + userName + "String_Node_Str"+ accountProperties);
    }
    AccountID accountID=providerFactory.installAccount(userName,accountProperties);
    ServiceReference serRef=providerFactory.getProviderForAccount(accountID);
    protocolProvider=(ProtocolProviderService)JabberAccRegWizzActivator.bundleContext.getService(serRef);
  }
 catch (  IllegalArgumentException exc) {
    logger.warn(exc.getMessage());
    throw new OperationFailedException("String_Node_Str",OperationFailedException.ILLEGAL_ARGUMENT);
  }
catch (  IllegalStateException exc) {
    logger.warn(exc.getMessage());
    throw new OperationFailedException("String_Node_Str",OperationFailedException.IDENTIFICATION_CONFLICT);
  }
catch (  Throwable exc) {
    logger.warn(exc.getMessage());
    throw new OperationFailedException("String_Node_Str",OperationFailedException.GENERAL_ERROR);
  }
  return protocolProvider;
}

Fixed version (ground truth):
/** 
 * Creates an account for the given user and password.
 * @param providerFactory the ProtocolProviderFactory which will createthe account
 * @param userName the user identifier
 * @param passwd the password
 * @return the <tt>ProtocolProviderService</tt> for the new account.
 * @throws OperationFailedException if the operation didn't succeed
 */
protected ProtocolProviderService installAccount(ProtocolProviderFactory providerFactory,String userName,String passwd) throws OperationFailedException {
  if (logger.isTraceEnabled()) {
    logger.trace("String_Node_Str" + userName);
  }
  Hashtable<String,String> accountProperties=new Hashtable<String,String>();
  String protocolIconPath=getProtocolIconPath();
  String accountIconPath=getAccountIconPath();
  registration.storeProperties(userName,passwd,protocolIconPath,accountIconPath,accountProperties);
  accountProperties.put(ProtocolProviderFactory.IS_PREFERRED_PROTOCOL,Boolean.toString(isPreferredProtocol()));
  accountProperties.put(ProtocolProviderFactory.PROTOCOL,getProtocol());
  if (isModification()) {
    providerFactory.modifyAccount(protocolProvider,accountProperties);
    setModification(false);
    return protocolProvider;
  }
  try {
    if (logger.isTraceEnabled()) {
      logger.trace("String_Node_Str" + userName + "String_Node_Str"+ accountProperties);
    }
    AccountID accountID=providerFactory.installAccount(userName,accountProperties);
    ServiceReference serRef=providerFactory.getProviderForAccount(accountID);
    protocolProvider=(ProtocolProviderService)JabberAccRegWizzActivator.bundleContext.getService(serRef);
  }
 catch (  IllegalArgumentException exc) {
    logger.warn(exc.getMessage());
    throw new OperationFailedException("String_Node_Str",OperationFailedException.ILLEGAL_ARGUMENT);
  }
catch (  IllegalStateException exc) {
    logger.warn(exc.getMessage());
    throw new OperationFailedException("String_Node_Str",OperationFailedException.IDENTIFICATION_CONFLICT);
  }
catch (  Throwable exc) {
    logger.warn(exc.getMessage());
    throw new OperationFailedException("String_Node_Str",OperationFailedException.GENERAL_ERROR);
  }
  return protocolProvider;
}