summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rpc/rpc-lib/src/rpc-clnt.c4
-rw-r--r--tests/bugs/glusterd/bug-1433578-invalid-peer-glusterd-crash.t14
2 files changed, 17 insertions, 1 deletions
diff --git a/rpc/rpc-lib/src/rpc-clnt.c b/rpc/rpc-lib/src/rpc-clnt.c
index 9b5d5a112d9..d7a06c33d32 100644
--- a/rpc/rpc-lib/src/rpc-clnt.c
+++ b/rpc/rpc-lib/src/rpc-clnt.c
@@ -494,8 +494,10 @@ rpc_clnt_reconnect_cleanup (rpc_clnt_connection_t *conn)
if (conn->reconnect) {
ret = gf_timer_call_cancel (clnt->ctx, conn->reconnect);
- if (!ret)
+ if (!ret) {
reconnect_unref = _gf_true;
+ conn->cleanup_gen++;
+ }
conn->reconnect = NULL;
}
diff --git a/tests/bugs/glusterd/bug-1433578-invalid-peer-glusterd-crash.t b/tests/bugs/glusterd/bug-1433578-invalid-peer-glusterd-crash.t
new file mode 100644
index 00000000000..1aea8bc134d
--- /dev/null
+++ b/tests/bugs/glusterd/bug-1433578-invalid-peer-glusterd-crash.t
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+. $(dirname $0)/../../include.rc
+
+cleanup;
+
+## Start glusterd
+TEST glusterd;
+TEST pidof glusterd;
+
+TEST ! $CLI peer probe invalid-peer
+
+TEST pidof glusterd;
+cleanup;