Program: 134766
Project: 134766
Buggy source:
/** 
 * Note that in ACS 10.2 the meaning of the second parameter has slightly changed, but should be transparent. Before it was the "activate" option which makes no sense for real services and would typically be "true" when using this method for components rather than real services. Now "true" still means that the service should be activated, but "false" has the new meaning that we don't use the client handle, but instead use dummy handle '0'.  This allows the container to get the CDB reference before logging in to the manager.
 * @return org.omg.CORBA.Object  Reference to the service. If the service could not be activated, a nil reference is returned, and the status contains an error code detailing the cause of failure  (one of the component_* constants).
 */
public Object get_service(String service_url,boolean includeComponents) throws AcsJComponentNotAlreadyActivatedEx, AcsJCannotGetComponentEx, AcsJComponentConfigurationNotFoundEx, AcsJNoPermissionEx {
  if (!isLoggedIn(false)) {
    throw new IllegalStateException("String_Node_Str");
  }
  int clientId=(includeComponents ? checkAndGetManagerHandle() : 0);
  boolean activate=includeComponents;
  try {
    return m_manager.get_service(clientId,service_url,activate);
  }
 catch (  RuntimeException exc) {
    handleRuntimeException(exc);
    throw exc;
  }
catch (  NoPermissionEx ex) {
    throw AcsJNoPermissionEx.fromNoPermissionEx(ex);
  }
catch (  ComponentNotAlreadyActivatedEx ex) {
    throw AcsJComponentNotAlreadyActivatedEx.fromComponentNotAlreadyActivatedEx(ex);
  }
catch (  CannotGetComponentEx ex) {
    throw AcsJCannotGetComponentEx.fromCannotGetComponentEx(ex);
  }
catch (  ComponentConfigurationNotFoundEx ex) {
    throw AcsJComponentConfigurationNotFoundEx.fromComponentConfigurationNotFoundEx(ex);
  }
}

Fixed version (ground truth):
/** 
 * Note that in ACS 10.2 the meaning of the second parameter has slightly changed, but should be transparent. Before it was the "activate" option which makes no sense for real services and would typically be "true" when using this method for components rather than real services. Now "true" still means that the service should be activated, but "false" has the new meaning that we don't use the client handle, but instead use dummy handle '0'.  This allows the container to get the CDB reference before logging in to the manager.
 * @return org.omg.CORBA.Object  Reference to the service. If the service could not be activated, a nil reference is returned, and the status contains an error code detailing the cause of failure  (one of the component_* constants).
 */
public Object get_service(String service_url,boolean includeComponents) throws AcsJComponentNotAlreadyActivatedEx, AcsJCannotGetComponentEx, AcsJComponentConfigurationNotFoundEx, AcsJNoPermissionEx {
  int clientId=(includeComponents ? checkAndGetManagerHandle() : 0);
  boolean activate=includeComponents;
  try {
    return m_manager.get_service(clientId,service_url,activate);
  }
 catch (  RuntimeException exc) {
    handleRuntimeException(exc);
    throw exc;
  }
catch (  NoPermissionEx ex) {
    throw AcsJNoPermissionEx.fromNoPermissionEx(ex);
  }
catch (  ComponentNotAlreadyActivatedEx ex) {
    throw AcsJComponentNotAlreadyActivatedEx.fromComponentNotAlreadyActivatedEx(ex);
  }
catch (  CannotGetComponentEx ex) {
    throw AcsJCannotGetComponentEx.fromCannotGetComponentEx(ex);
  }
catch (  ComponentConfigurationNotFoundEx ex) {
    throw AcsJComponentConfigurationNotFoundEx.fromComponentConfigurationNotFoundEx(ex);
  }
}