Fix for 281: "segmentation fault" when execute pcp_attach_node
authorMuhammad Usama <m.usama@gmail.com>
Mon, 30 Jan 2017 12:56:08 +0000 (17:56 +0500)
committerMuhammad Usama <m.usama@gmail.com>
Mon, 30 Jan 2017 12:57:30 +0000 (17:57 +0500)
A DEBUG message was trying to de-reference a NULL value.

src/watchdog/watchdog.c

index f097600a629fdaea3e75a5878f46188842ac8dc8..7f02e6cb8531cad4419fa6e4f092bbe3ccd93925 100644 (file)
@@ -1641,6 +1641,7 @@ static bool read_ipc_socket_and_process(int sock, bool *remove_socket)
        ipcCommand = create_command_object(data_len);
        ipcCommand->sourceIPCSocket = sock;
        ipcCommand->commandSource = COMMAND_SOURCE_IPC;
+       ipcCommand->sourceWdNode = g_cluster.localNode;
        ipcCommand->sourcePacket.type = type;
        ipcCommand->sourcePacket.len = data_len;
        gettimeofday(&ipcCommand->commandTime, NULL);
@@ -2136,9 +2137,10 @@ static IPC_CMD_PREOCESS_RES process_failover_command_on_coordinator(WDCommandDat
        {
                MemoryContext oldCxt;
                ereport(DEBUG1,
-                               (errmsg("proceeding with the failover command [%s] request from pgpool-II node \"%s\"",
+                               (errmsg("proceeding with the failover command [%s] request from %s",
                                                func_name,
-                                               ipcCommand->sourceWdNode->nodeName),
+                                               ipcCommand->commandSource == COMMAND_SOURCE_IPC?
+                                               "local pgpool-II":ipcCommand->sourceWdNode->nodeName),
                                 errdetail("no similar failover is in progress")));
                /*
                 * okay now ask all nodes to start failover