diff --git a/libebackend/e-authentication-mediator.c b/libebackend/e-authentication-mediator.c
index 386cc24..64776e2 100644
--- a/libebackend/e-authentication-mediator.c
+++ b/libebackend/e-authentication-mediator.c
@@ -229,6 +229,7 @@ authentication_mediator_handle_ready (EDBusAuthenticator *interface,
 	gcr_secret_exchange_receive (secret_exchange, encrypted_key);
 
 	queue = &mediator->priv->wait_for_client_queue;
+	g_print ("   %s: will notify %d wait_for_client; did cancel:%d\n", __FUNCTION__, g_queue_get_length (queue), mediator->priv->client_cancelled);
 
 	/* Notify any unfinished wait_for_client() operations. */
 	while ((simple = g_queue_pop_head (queue)) != NULL) {
@@ -256,6 +257,7 @@ authentication_mediator_handle_cancel (EDBusAuthenticator *interface,
 	mediator->priv->client_cancelled = TRUE;
 
 	queue = &mediator->priv->try_password_queue;
+	g_print ("   %s: will notify %d try_passwd\n", __FUNCTION__, g_queue_get_length (queue));
 
 	/* Notify any unfinished try_password() operations. */
 	while ((simple = g_queue_pop_head (queue)) != NULL) {
@@ -267,6 +269,7 @@ authentication_mediator_handle_cancel (EDBusAuthenticator *interface,
 	}
 
 	queue = &mediator->priv->wait_for_client_queue;
+	g_print ("   %s: will notify %d wait_for_client\n", __FUNCTION__, g_queue_get_length (queue));
 
 	/* Notify any unfinished wait_for_client() operations. */
 	while ((simple = g_queue_pop_head (queue)) != NULL) {
@@ -299,6 +302,8 @@ authentication_mediator_handle_accepted (EDBusAuthenticator *interface,
 	if (g_queue_is_empty (queue))
 		g_warning ("%s: Unexpected 'accepted' signal", G_STRFUNC);
 
+	g_print ("   %s: will notify %d try_passwd; wait-for:%d\n", __FUNCTION__, g_queue_get_length (queue), g_queue_get_length (&mediator->priv->wait_for_client_queue));
+
 	/* Notify any unfinished try_password() operations. */
 	while ((simple = g_queue_pop_head (queue)) != NULL) {
 		g_simple_async_result_complete_in_idle (simple);
@@ -326,6 +331,7 @@ authentication_mediator_handle_rejected (EDBusAuthenticator *interface,
 
 	if (g_queue_is_empty (queue))
 		g_warning ("%s: Unexpected 'rejected' signal", G_STRFUNC);
+	g_print ("   %s: will notify %d try_passwd; wait-for:%d\n", __FUNCTION__, g_queue_get_length (queue), g_queue_get_length (&mediator->priv->wait_for_client_queue));
 
 	/* Notify any unfinished try_password() operations. */
 	while ((simple = g_queue_pop_head (queue)) != NULL) {
diff --git a/libebackend/e-authentication-session.c b/libebackend/e-authentication-session.c
index 75b3f77..3307b6a 100644
--- a/libebackend/e-authentication-session.c
+++ b/libebackend/e-authentication-session.c
@@ -374,6 +374,12 @@ authentication_session_constructed (GObject *object)
 	}
 }
 
+static void
+async_result_gone_cb (gpointer user_data, GObject *gone)
+{
+	g_print ("      %s: %p\n", __FUNCTION__, gone);
+}
+
 /* Helper for authentication_session_execute() */
 static void
 authentication_session_execute_thread (GSimpleAsyncResult *simple,
@@ -390,6 +396,8 @@ authentication_session_execute_thread (GSimpleAsyncResult *simple,
 			E_AUTHENTICATION_SESSION (object),
 			cancellable, &error);
 
+	g_print ("   %s: simple:%p for %s\n", __FUNCTION__, simple, e_authentication_session_get_source_uid (E_AUTHENTICATION_SESSION (object)));
+	g_object_weak_ref (simple, async_result_gone_cb, NULL);
 	if (error != NULL)
 		g_simple_async_result_take_error (simple, error);
 }
@@ -643,11 +651,15 @@ authentication_session_execute (EAuthenticationSession *session,
 {
 	GSimpleAsyncResult *simple;
 	AsyncContext *async_context;
+	GMainContext *mc;
 
 	g_return_if_fail (E_IS_AUTHENTICATION_SESSION (session));
 
 	async_context = g_slice_new0 (AsyncContext);
 
+	mc = g_main_context_get_thread_default ();
+	g_print ("   %s: for uid '%s' mc:%p default:%d\n", __FUNCTION__, e_authentication_session_get_source_uid (session), mc, mc == NULL || mc == g_main_context_default ());
+
 	simple = g_simple_async_result_new (
 		G_OBJECT (session), callback, user_data,
 		e_authentication_session_execute);
diff --git a/libebackend/e-source-registry-server.c b/libebackend/e-source-registry-server.c
index 33a8afe..81e1a50 100644
--- a/libebackend/e-source-registry-server.c
+++ b/libebackend/e-source-registry-server.c
@@ -377,6 +377,7 @@ source_request_server_auth_request_cancel_all (ESourceRegistryServer *server)
 
 	g_mutex_lock (server->priv->auth_lock);
 
+	g_print ("%s: \n", __FUNCTION__);
 	g_hash_table_iter_init (&iter, server->priv->waiting_auths);
 
 	while (g_hash_table_iter_next (&iter, NULL, &value)) {
@@ -419,6 +420,9 @@ source_registry_server_auth_request_push (ESourceRegistryServer *server,
 		g_hash_table_insert (
 			server->priv->waiting_auths,
 			g_strdup (uid), queue);
+		g_print ("   %s: created new queue %p for uid '%s' (%s)\n", __FUNCTION__, queue, uid, e_source_get_display_name (request->source));
+	} else {
+		g_print ("   %s: have queue %p for uid '%s' (%s) with %d+1 items\n", __FUNCTION__, queue, uid, e_source_get_display_name (request->source), g_queue_get_length (queue));
 	}
 
 	g_queue_push_tail (queue, auth_request_ref (request));
@@ -441,18 +445,22 @@ source_registry_server_auth_request_next (ESourceRegistryServer *server,
 	if (!g_hash_table_contains (server->priv->running_auths, uid)) {
 		GQueue *queue;
 
+		g_print ("%s: not in running requests '%s'\n", __FUNCTION__, uid);
 		queue = g_hash_table_lookup (
 			server->priv->waiting_auths, uid);
 
 		if (queue != NULL)
 			request = g_queue_pop_head (queue);
 
-		if (request != NULL)
+		if (request != NULL) {
+			g_print ("   %s: adding '%s' (%s) into running requests\n", __FUNCTION__, uid, e_source_get_display_name (request->source));
 			g_hash_table_insert (
 				server->priv->running_auths,
 				g_strdup (uid),
 				auth_request_ref (request));
-	}
+		}
+	} else
+		g_print ("%s: in running requests '%s'\n", __FUNCTION__, uid);
 
 	g_mutex_unlock (server->priv->auth_lock);
 
@@ -467,6 +475,7 @@ source_registry_server_auth_request_done (ESourceRegistryServer *server,
 
 	g_mutex_lock (server->priv->auth_lock);
 
+	g_print ("   %s: removing '%s' from running requests\n", __FUNCTION__, uid);
 	g_hash_table_remove (server->priv->running_auths, uid);
 
 	g_mutex_unlock (server->priv->auth_lock);
@@ -520,12 +529,14 @@ source_registry_server_auth_session_cb (GObject *source_object,
 			_("The user declined to authenticate"));
 	}
 
+	uid = e_authentication_session_get_source_uid (session);
+	g_print ("      %s: '%s' calling as complete in idle\n", __FUNCTION__, uid);
 	g_simple_async_result_complete_in_idle (request->simple);
 
 	server = e_authentication_session_get_server (session);
-	uid = e_authentication_session_get_source_uid (session);
 
 	source_registry_server_auth_request_done (server, uid);
+	g_print ("      %s: '%s' called request done\n", __FUNCTION__, uid);
 	source_registry_server_maybe_start_auth_session (server, uid);
 
 	auth_request_unref (request);
@@ -544,13 +555,15 @@ source_registry_server_maybe_start_auth_session (ESourceRegistryServer *server,
 	 * respond with a cached secret in the keyring if it can, or
 	 * else show an authentication prompt and wait for input. */
 	if (request != NULL) {
+		g_print ("   %s: uid:'%s' continue with '%s'\n", __FUNCTION__, uid, e_source_get_display_name (request->source));
 		e_authentication_session_execute (
 			request->session,
 			G_PRIORITY_DEFAULT,
 			request->cancellable,
 			source_registry_server_auth_session_cb,
 			request);  /* takes ownership */
-	}
+	} else
+		g_print ("   %s: uid:'%s' nothing to continue with\n", __FUNCTION__, uid);
 }
 
 static void
diff --git a/libedataserver/e-source-registry.c b/libedataserver/e-source-registry.c
index c9783d6..137399a 100644
--- a/libedataserver/e-source-registry.c
+++ b/libedataserver/e-source-registry.c
@@ -1375,6 +1375,8 @@ source_registry_authenticate_respond_cb (AuthContext *auth_context)
 
 	g_return_val_if_fail (auth_context->authenticating, FALSE);
 
+	g_print ("%p %s: ...\n", auth_context, __FUNCTION__);
+
 	auth_result = auth_context->auth_result;
 
 	/* Allow the next authentication attempt to proceed. */
@@ -1454,6 +1456,8 @@ source_registry_authenticate_authenticate_cb (EDBusAuthenticator *dbus_auth,
 	GString *password;
 	gboolean valid_secret;
 
+	g_print ("%p %s: ...\n", auth_context, __FUNCTION__);
+
 	/* We should only get one secret at a time. */
 	g_return_if_fail (!auth_context->authenticating);
 
@@ -1501,6 +1505,7 @@ static void
 source_registry_authenticate_dismissed_cb (EDBusAuthenticator *dbus_auth,
                                            AuthContext *auth_context)
 {
+	g_print ("%p %s: ...\n", auth_context, __FUNCTION__);
 	/* Be careful not to overwrite an existing error in case this
 	 * is called after e_source_authenticator_try_password_sync()
 	 * but prior to the idle callback. */
@@ -1669,6 +1674,7 @@ e_source_registry_authenticate_sync (ESourceRegistry *registry,
 		G_CALLBACK (source_registry_authenticate_dismissed_cb),
 		auth_context);
 
+	g_print ("%p %s: begin call...\n", auth_context, __FUNCTION__);
 	encryption_key = gcr_secret_exchange_begin (
 		auth_context->secret_exchange);
 
@@ -1682,9 +1688,12 @@ e_source_registry_authenticate_sync (ESourceRegistry *registry,
 	g_free (encryption_key);
 
 	if (success) {
+		g_print ("%p %s: begin waiting...\n", auth_context, __FUNCTION__);
 		g_main_loop_run (auth_context->main_loop);
 		success = auth_context->success;
-	}
+		g_print ("%p %s: end call...\n", auth_context, __FUNCTION__);
+	} else
+		g_print ("%p %s: end call, failed to call e_dbus...\n", auth_context, __FUNCTION__);
 
 	auth_context_free (auth_context);
 
