Program: 34749
Project: 34749
Buggy source:
/** 
 * See class comment.
 * @param context Information about the wrapped method.
 * @return Result of the invoking the method.
 * @throws Exception Thrown by wrapped method.
 */
@AroundInvoke public Object execute(InvocationContext context) throws Exception {
  String methodName="String_Node_Str";
  String classOperationName=OpentracingService.getClassOperationName(context.getMethod());
  String methodOperationName=OpentracingService.getMethodOperationName(context.getMethod());
  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
    Tr.debug(tc,methodName + "String_Node_Str",classOperationName,methodOperationName);
  }
  boolean process=true;
  if (!OpentracingService.isTraced(classOperationName,methodOperationName)) {
    if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
      Tr.debug(tc,methodName + "String_Node_Str");
    }
    process=false;
  }
  if (process && isHandledByFilter(context.getMethod())) {
    if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
      Tr.debug(tc,methodName + "String_Node_Str");
    }
    process=false;
  }
  if (process) {
    String operationName;
    if (OpentracingService.hasExplicitOperationName(methodOperationName)) {
      operationName=methodOperationName;
    }
 else {
      if (OpentracingService.hasExplicitOperationName(classOperationName)) {
        operationName=classOperationName;
      }
 else {
        operationName=context.getMethod().getDeclaringClass().getName() + "String_Node_Str" + context.getMethod().getName();
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
        Tr.debug(tc,methodName + "String_Node_Str",operationName);
      }
    }
    Tracer tracer=OpentracingTracerManager.getTracer();
    ActiveSpan activeSpan=tracer.activeSpan();
    Tracer.SpanBuilder spanBuilder=tracer.buildSpan(operationName);
    if (activeSpan != null) {
      spanBuilder.asChildOf(activeSpan.context());
    }
    Span span=spanBuilder.startManual();
    if (activeSpan == null) {
      tracer.makeActive(span);
    }
    try {
      Object result=context.proceed();
      return result;
    }
 catch (    Exception e) {
      OpentracingService.addSpanErrorInfo(span,e);
      throw e;
    }
catch (    Error e) {
      OpentracingService.addSpanErrorInfo(span,e);
      throw e;
    }
 finally {
      span.finish();
    }
  }
 else {
    if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
      Tr.debug(tc,methodName + "String_Node_Str");
    }
    return context.proceed();
  }
}

Fixed version (ground truth):
/** 
 * See class comment.
 * @param context Information about the wrapped method.
 * @return Result of the invoking the method.
 * @throws Exception Thrown by wrapped method.
 */
@AroundInvoke public Object execute(InvocationContext context) throws Exception {
  String methodName="String_Node_Str";
  String classOperationName=OpentracingService.getClassOperationName(context.getMethod());
  String methodOperationName=OpentracingService.getMethodOperationName(context.getMethod());
  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
    Tr.debug(tc,methodName + "String_Node_Str",classOperationName,methodOperationName);
  }
  boolean process=true;
  if (!OpentracingService.isTraced(classOperationName,methodOperationName)) {
    if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
      Tr.debug(tc,methodName + "String_Node_Str");
    }
    process=false;
  }
  if (process && isHandledByFilter(context.getMethod())) {
    if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
      Tr.debug(tc,methodName + "String_Node_Str");
    }
    process=false;
  }
  if (process) {
    String operationName;
    if (OpentracingService.hasExplicitOperationName(methodOperationName)) {
      operationName=methodOperationName;
    }
 else {
      if (OpentracingService.hasExplicitOperationName(classOperationName)) {
        operationName=classOperationName;
      }
 else {
        operationName=context.getMethod().getDeclaringClass().getName() + "String_Node_Str" + context.getMethod().getName();
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
        Tr.debug(tc,methodName + "String_Node_Str",operationName);
      }
    }
    Tracer tracer=OpentracingTracerManager.getTracer();
    try (ActiveSpan activeSpan=tracer.buildSpan(operationName).startActive()){
      try {
        Object result=context.proceed();
        return result;
      }
 catch (      Exception e) {
        OpentracingService.addSpanErrorInfo(activeSpan,e);
        throw e;
      }
catch (      Error e) {
        OpentracingService.addSpanErrorInfo(activeSpan,e);
        throw e;
      }
    }
   }
 else {
    if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
      Tr.debug(tc,methodName + "String_Node_Str");
    }
    return context.proceed();
  }
}