diff --git a/common/url.go b/common/url.go
index d8f096bb48991e0697297010813bcb880a30d148..31974aa8920812de54a6b12ec64116e4b334d9b3 100644
--- a/common/url.go
+++ b/common/url.go
@@ -317,6 +317,8 @@ func isMatchCategory(category1 string, category2 string) bool {
 }
 
 func (c *URL) String() string {
+	c.paramsLock.Lock()
+	defer c.paramsLock.Unlock()
 	var buf strings.Builder
 	if len(c.Username) == 0 && len(c.Password) == 0 {
 		buf.WriteString(fmt.Sprintf("%s://%s:%s%s?", c.Protocol, c.Ip, c.Port, c.Path))