Add debug
diff --git a/src/core/surface/completion_queue.c b/src/core/surface/completion_queue.c
index 6960b77..4380cfb 100644
--- a/src/core/surface/completion_queue.c
+++ b/src/core/surface/completion_queue.c
@@ -80,6 +80,7 @@
 
 grpc_completion_queue *grpc_completion_queue_create(void) {
   grpc_completion_queue *cc = gpr_malloc(sizeof(grpc_completion_queue));
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   memset(cc, 0, sizeof(*cc));
   /* Initial ref is dropped by grpc_completion_queue_shutdown */
   gpr_ref_init(&cc->refs, 1);
@@ -92,15 +93,19 @@
 
 void grpc_cq_internal_ref(grpc_completion_queue *cc) {
   gpr_ref(&cc->owning_refs);
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
 }
 
 static void on_pollset_destroy_done(void *arg) {
   grpc_completion_queue *cc = arg;
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   grpc_cq_internal_unref(cc);
 }
 
 void grpc_cq_internal_unref(grpc_completion_queue *cc) {
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   if (gpr_unref(&cc->owning_refs)) {
+    gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
     GPR_ASSERT(cc->queue == NULL);
     grpc_pollset_destroy(&cc->pollset);
     gpr_free(cc);
@@ -118,6 +123,7 @@
                          void *tag, grpc_call *call) {
   event *ev = gpr_malloc(sizeof(event));
   gpr_uintptr bucket = ((gpr_uintptr)tag) % NUM_TAG_BUCKETS;
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   ev->base.type = type;
   ev->base.tag = tag;
   if (cc->queue == NULL) {
@@ -140,6 +146,7 @@
 }
 
 void grpc_cq_begin_op(grpc_completion_queue *cc, grpc_call *call) {
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   gpr_ref(&cc->refs);
   if (call) GRPC_CALL_INTERNAL_REF(call, "cq");
 }
@@ -150,6 +157,7 @@
                     int success) {
   event *ev;
   int shutdown = 0;
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   gpr_mu_lock(GRPC_POLLSET_MU(&cc->pollset));
   ev = add_locked(cc, GRPC_OP_COMPLETE, tag, call);
   ev->base.success = success;
@@ -162,8 +170,10 @@
   }
   gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset));
   if (call) GRPC_CALL_INTERNAL_UNREF(call, "cq", 0);
-  if (shutdown)
+  gpr_log(GPR_DEBUG, "shutdown=%d", shutdown);
+  if (shutdown) {
     grpc_pollset_shutdown(&cc->pollset, on_pollset_destroy_done, cc);
+  }
 }
 
 /* Create a GRPC_QUEUE_SHUTDOWN event without queuing it anywhere */
@@ -179,6 +189,7 @@
   event *ev = NULL;
   grpc_event ret;
 
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   grpc_cq_internal_ref(cc);
   gpr_mu_lock(GRPC_POLLSET_MU(&cc->pollset));
   for (;;) {
@@ -261,6 +272,7 @@
   event *ev = NULL;
   grpc_event ret;
 
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   grpc_cq_internal_ref(cc);
   gpr_mu_lock(GRPC_POLLSET_MU(&cc->pollset));
   for (;;) {
@@ -295,6 +307,7 @@
 /* Shutdown simply drops a ref that we reserved at creation time; if we drop
    to zero here, then enter shutdown mode and wake up any waiters */
 void grpc_completion_queue_shutdown(grpc_completion_queue *cc) {
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   gpr_mu_lock(GRPC_POLLSET_MU(&cc->pollset));
   cc->shutdown_called = 1;
   gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset));
@@ -310,6 +323,7 @@
 }
 
 void grpc_completion_queue_destroy(grpc_completion_queue *cc) {
+  gpr_log(GPR_DEBUG, "%s: %p", __FUNCTION__, cc);
   grpc_cq_internal_unref(cc);
 }