*** a/src/backend/replication/syncrep.c
--- b/src/backend/replication/syncrep.c
***************
*** 223,229 **** SyncRepWaitForLSN(XLogRecPtr XactCommitLSN)
  /*
   * Insert MyProc into SyncRepQueue, maintaining sorted invariant.
   *
!  * Usually we will go at tail of queue, though its possible that we arrive
   * here out of order, so start at tail and work back to insertion point.
   */
  static void
--- 223,229 ----
  /*
   * Insert MyProc into SyncRepQueue, maintaining sorted invariant.
   *
!  * Usually we will go at tail of queue, though it's possible that we arrive
   * here out of order, so start at tail and work back to insertion point.
   */
  static void
***************
*** 561,567 **** assign_synchronous_standby_names(const char *newval, bool doit, GucSource source
  		/* syntax error in list */
  		pfree(rawstring);
  		list_free(elemlist);
! 		ereport(FATAL,
  				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
  		   errmsg("invalid list syntax for parameter \"synchronous_standby_names\"")));
  		return NULL;
--- 561,567 ----
  		/* syntax error in list */
  		pfree(rawstring);
  		list_free(elemlist);
! 		ereport(GUC_complaint_elevel(source),
  				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
  		   errmsg("invalid list syntax for parameter \"synchronous_standby_names\"")));
  		return NULL;
*** a/src/include/storage/proc.h
--- b/src/include/storage/proc.h
***************
*** 122,128 **** struct PGPROC
  	 * Info to allow us to wait for synchronous replication, if needed.
  	 * waitLSN is InvalidXLogRecPtr if not waiting; set only by user backend.
  	 * syncRepState must not be touched except by owning process or WALSender.
! 	 * syncRep_links used only while holding SyncRepLock.
  	 */
  	Latch		waitLatch;			/* allow us to wait for sync rep */
  	XLogRecPtr	waitLSN;			/* waiting for this LSN or higher */
--- 122,128 ----
  	 * Info to allow us to wait for synchronous replication, if needed.
  	 * waitLSN is InvalidXLogRecPtr if not waiting; set only by user backend.
  	 * syncRepState must not be touched except by owning process or WALSender.
! 	 * syncRepLinks used only while holding SyncRepLock.
  	 */
  	Latch		waitLatch;			/* allow us to wait for sync rep */
  	XLogRecPtr	waitLSN;			/* waiting for this LSN or higher */
