changeset 22435:8020b3f6a4f8

imap: Set client created before initializing namespaces Fixes Panic: file master-service.c: line 819 (master_service_client_connection_destroyed): assertion failed: (service->master_status.available_count < service->total_available_count)
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Wed, 26 Jul 2017 19:42:48 +0300
parents 339d2a356620
children 7995b4ce78ab
files src/imap/imap-master-client.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/imap-master-client.c	Thu Jul 06 13:24:31 2017 +0300
+++ b/src/imap/imap-master-client.c	Wed Jul 26 19:42:48 2017 +0300
@@ -229,14 +229,16 @@
 		i_close_fd(&fd_client);
 		return -1;
 	}
+	client->imap_client_created = TRUE;
+
 	if (mail_namespaces_init(imap_client->user, &error) < 0) {
-		i_error("%s", error);
+		i_error("imap-master(%s): mail_namespaces_init() failed: %s",
+			input.username, error);
 		client_destroy(imap_client, error);
 		return -1;
 	}
 	/* log prefix is set at this point, so we don't need to add the
 	   username anymore to the log messages */
-	client->imap_client_created = TRUE;
 
 	o_stream_nsend(imap_client->output,
 		       master_input.client_output->data,