[Spice-devel] [spice-gtk 3/3] session: Add more debugging logs

Christophe Fergeau cfergeau at redhat.com
Thu Jan 29 02:28:40 PST 2015


Initial SPICE connection can sometimes fail without clear indications
where/how it failed. This commit adds more debug logs/more accurate logs
in order to help narrow down such issues.
---
 gtk/spice-session.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/gtk/spice-session.c b/gtk/spice-session.c
index 7f15d98..a62d533 100644
--- a/gtk/spice-session.c
+++ b/gtk/spice-session.c
@@ -1924,10 +1924,12 @@ static void socket_client_connect_ready(GObject *source_object, GAsyncResult *re
     spice_open_host *open_host = data;
     GSocketConnection *connection = NULL;
 
-    SPICE_DEBUG("connect ready");
+    CHANNEL_DEBUG(open_host->channel, "connect ready");
     connection = g_socket_client_connect_finish(client, result, &open_host->error);
-    if (connection == NULL)
+    if (connection == NULL) {
+        g_warn_if_fail(open_host->error != NULL);
         goto end;
+    }
 
     open_host->connection = connection;
 
@@ -1938,7 +1940,7 @@ end:
 /* main context */
 static void open_host_connectable_connect(spice_open_host *open_host, GSocketConnectable *connectable)
 {
-    SPICE_DEBUG("connecting %p...", open_host);
+    CHANNEL_DEBUG(open_host->channel, "connecting %p...", open_host);
 
     g_socket_client_connect_async(open_host->client, connectable,
                                   open_host->cancellable,
@@ -2065,8 +2067,10 @@ GSocketConnection* spice_session_channel_open_host(SpiceSession *session, SpiceC
         }
     } else {
         port = *use_tls ? s->tls_port : s->port;
-        if (port == NULL)
+        if (port == NULL) {
+            g_warning("Missing port value (use_tls: %d)", *use_tls);
             return NULL;
+        }
 
         open_host.port = strtol(port, &endptr, 10);
         if (*port == '\0' || *endptr != '\0' ||
@@ -2075,6 +2079,11 @@ GSocketConnection* spice_session_channel_open_host(SpiceSession *session, SpiceC
             return NULL;
         }
     }
+    if (*use_tls) {
+        CHANNEL_DEBUG(channel, "Using TLS, port %d", open_host.port);
+    } else {
+        CHANNEL_DEBUG(channel, "Using plain text, port %d", open_host.port);
+    }
 
     open_host.client = g_socket_client_new();
     g_socket_client_set_timeout(open_host.client, SOCKET_TIMEOUT);
@@ -2084,7 +2093,7 @@ GSocketConnection* spice_session_channel_open_host(SpiceSession *session, SpiceC
     coroutine_yield(NULL);
 
     if (open_host.error != NULL) {
-        SPICE_DEBUG("open host: %s", open_host.error->message);
+        CHANNEL_DEBUG(channel, "open host: %s", open_host.error->message);
         g_propagate_error(error, open_host.error);
     } else if (open_host.connection != NULL) {
         GSocket *socket;
-- 
2.1.0



More information about the Spice-devel mailing list