it seems that callback can be triggered after unsubscribe (bug in cupti). Defend ourselves from that.
probably due to not calling cuptiFinalize in CUDA 10.1. We will evaluate that.

PiperOrigin-RevId: 267419048
diff --git a/tensorflow/core/profiler/internal/gpu/cupti_tracer.cc b/tensorflow/core/profiler/internal/gpu/cupti_tracer.cc
index 1266856..4c8ace7 100644
--- a/tensorflow/core/profiler/internal/gpu/cupti_tracer.cc
+++ b/tensorflow/core/profiler/internal/gpu/cupti_tracer.cc
@@ -755,6 +755,7 @@
 Status CuptiTracer::HandleCallback(CUpti_CallbackDomain domain,
                                    CUpti_CallbackId cbid,
                                    const CUpti_CallbackData *callback_info) {
+  if (!api_tracing_enabled_) return Status::OK();  // already unsubscribed.
   if (domain != CUPTI_CB_DOMAIN_DRIVER_API) return Status::OK();
   if (callback_info->callbackSite == CUPTI_API_ENTER) {
     // Stash away the current Cupti timestamp into callback_info.